apt a fondo

Una vez ya te mueves con soltura en Ubuntu o la distribución GNU/Linux que estés usando, abandonas el Centro de Software para comenzar a instalar desde el terminal. Inicialmente, no encuentras ninguna ventaja de utilizar el terminal. Sin embargo, poco a poco te vas convenciendo de las ventajas que presenta hacerlo todo o casi todo desde el terminal. Sin embargo, aunque lleves años utilizando el terminal para instalar, es muy fácil, que no conozcas con suficiente profundidad las herramientas que se utilizan. Así, en este artículo voy a intentar adentrarte en el mundo de la instalación desde el terminal así que trataré apt a fondo.

Si por el contrario, tu problema es que vienes de apt-get te recomiendo que le des un vistazo al artículo sobre apt vs apt-get.

apt a fondo

apt a fondo

Algo de historia

APT es un proyecto enorme, en cuyo origen incluía una interfaz gráfica. Dentro de este proyecto, la primera interfaz en modo texto fue apt-get, siendo apt una segunda interfaz en modo texto que ha venido a resolver algunos problemas de diseño de la primera.

Existen otras herramientas como synaptic, aptitude, wajig. Sin embargo, la interfaz mas recomendada es apt.

Lo básico

  • sudo apt update. Con esta opción actualizamos la lista de paquetes. Hay que tener en cuenta que dependiendo de la velocidad de nuestra conexión, esta sencilla operación puede tomar mas o menos tiempo.
  • sudo apt install <paquete> nos permite instalar una aplicación del sistema.
  • sudo apt remove <paquete> desinstalaremos el <paquete> de nuestro sistema..

Tanto en el caso de instalar como en el caso de desinstalar un paquete, también instalaremos o quitaremos las dependencias del paquete. Evidentemente solo desinstalaremos aquellas dependencias que se instalaron con este paquete. Es decir, si existe un paquete instalado en tu equipo que también depende de algunas dependencias, esas no se desinstalarán.

Por otro lado, quitar un paquete, no implica quitar los archivos de configuración. Si además de quitar el paquete quieres quitar los archivos de configuración tienes que ejecutar apt purge <paquete>.

Es posible instalar o desinstalar paquetes a la vez que desinstalamos o instalamos un paquete , ¿como?. Si, la verdad es que resulta confuso, por ejemplo, si queremos instalar <paquete1> y desinstalar <paquete2>, tenemos dos opciones,

sudo apt install paquete1 paquete2-

o bien,

sudo apt remove paquete1+ paquete2

Si por cualquier razón hemos quitado o modificado los archivos de un paquete, siempre podemos recuperar esos archivos mediante la reinstalación.

Si intentamos instalar un paquete que ya tenemos instalado, el sistema nos indicará que ya está instalado y que no va a instalarlo. La opción es desintalar y volver a instalar o bien, como he mencionado, reinstalar. Para ello, ejecutaremos la siguiente orden,

sudo apt --reinstall install <paquete>
  • sudo apt upgrade se utiliza para instalar todas las actualizaciones disponibles de los paquetes instalados en tu equipo. Solo se instalarán nuevos paquetes en el caso de que sea necesario satisfacer dependencias.
  • sudo apt full-upgrade actua exactamente igual que la opción anterior, pero en el caso de que sea necesario, puede desinstalar un paquete para actualizar todo el sistema.

Un paso mas allá

Hasta el momento has visto las opciones básicas, sin embargo, apt tiene mas opciones, que son las que dotan a esta herramienta de todo su potencial.

  • sudo apt autoremove. Nos permite eliminar todos los paquetes instalados de forma automática para satisfacer dependecias de otros paquetes y que actualmente no son necesarios. Esto suele suceder cuando desinstalas un paquete de tu equipo. En todo caso es necesario que comprobemos que la lista de paquetes que vamos a eliminar no contiene ningun paquete que ahora nos interese, aunque en su momento se instalaron como una dependecia de otro paquete. Por otro lado, puedes marcar un paquete como instalado manualmente utilizando apt-mark. Esta herramienta nos permite marcar paquetes como instalados de forma manual o de forma automática.
  • apt search [expresión regular] Nos permite buscar un paquete entre los paquetes disponibles utilizando una expresión regular. Así por ejemplo podemos buscar todos los paquetes que empiecen por my-, con apt search ^my\-. Si lo que estás buscando es una archivo en un paquete tienes que utilizar apt-file.
  • apt show [paquete] muestra información del paquete incluyendo dependencias, tamaño de instalación, descripción, etc. Por ejemplo para el caso de apt show my-weather-indicator te mostrará la siguiente información,
Package: my-weather-indicator
Version: 0.9.1-0extras18.04.1
Priority: extra
Section: utils
Maintainer: Lorenzo Carbonell Cerezo <lorenzo.carbonell.cerezo@gmail.com>
Installed-Size: 16,2 MB
Depends: gir1.2-gtk-3.0, gir1.2-glib-2.0, gir1.2-gdkpixbuf-2.0, gir1.2-appindicator3-0.1, gir1.2-notify-0.7, gir1.2-webkit-3.0, gir1.2-geocodeglib-1.0, gir1.2-osmgpsmap-1.0, python3-tz, python3-cairo, python3-lxml, python3-dateutil, python3-requests, python3-requests-oauthlib, geoclue-hostip, geoclue-ubuntu-geoip
Download-Size: 3.974 kB
APT-Sources: http://ppa.launchpad.net/atareao/atareao/ubuntu cosmic/main amd64 Packages
Description: Get weather information for your town with My-Weather-Indicator
 My-Weather-Indicator is an an application especially designed for Ubuntu,
 you will be informed of current weather and the weather forecast.
 Integrated with the Ubuntu desktop via an indicator. With local maps,
 showing the conditions in nearby towns. The weather forecast for the
 next few days in your city. You can have up to two indicators for two
 cities, and choose the best weather service information that you provide.
 You select customizable widgets to make your desktop more personalized.
  • Con apt depends [paquete] obtendrás un listado de todas las dependencias de un paquete determinado.
  • apt list [filtro] Nos muestra un listado de paquetes en función del filtro que le hayamos indicado. Así, en este caso, tenemos,
    • apt list --installed veremos un listado de los paquetes instalados
    • apt list --upgradeable nos sacará un listado de los paquetes susceptibles de ser actualizados. Además podemos utilizar expresiones glob, es decir, lo que conocemos como comodines. ?, * o []. Por ejemplo para buscar un paquete instalado que empiece con python2- ó python3- utilizaríamos `apt list –installed python?-*.
  • sudo apt edit-sources nos permite editar sources.list en tu editor preferido. A la hora de utilizar esta opción debes tener cuidado, al igual que con el resto, pero en este caso, quizá, un poco mas.

Ejemplos de uso

Para que esto no quede en una simple, a continuación, puedes encontrar un listado de ejemplos que espero te sean de utilidad.

En estos ejemplos, pondré como paquete de ejemplo glances. Si no conoces Glances, te recomiendo que le des un vistazo al artículo sobre este potente monitor del sistema.

  • Si quiere instalar Glances sudo apt install glances
  • Para borrar Glances sudo apt remove glances.
  • Sobre la información del paquete apt show glances.
  • Si solo quieres actualizar el paquete sudo apt install glances --only-upgrade.
  • Para instalar una versión concreta sudo apt install glances=2.11.1-6.
  • Si además de desinstalar el paquete quieres borrar la configuración del mismo sudo apt purge glances.
  • Para buscar todos los paquetes que empiezan por glances, utilizaremos apt search ^glances.
  • Si lo que quisiereamos es que el paquete se llamara glances sin otras opciones apt search ^glances$.
  • Para ver un listado de todos los paquetes susceptibles de ser actualizados apt list --upgradable.
  • Con apt depends glances obtendrás un listado de todas las dependecias de un paquete concreto.

Importante

De acuerdo a lo indicado en el manual de apt indicar que esta herramienta no es mas que un interfaz de mas alto nivel para gestionar otras herramientas.

Aunque los desarrolladores intentan mantener la compatibilidad con versiones anteriores, no está garantizado. Esto lo comentan a efectos de si quieres hacer un script. En esos casos es mejor utilizar otras herramientas como apt-get, etc.

Por ejemplo, si ejecutas apt show glances | grep Version | awk '{print $2}' te devolverá lo siguiente,

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
2.11.1-6

Lo suyo es que ejecutes apt-cache show glances | grep Version | awk '{print $2}'.

Conclusión

Como de costumbre indicar para los mas noveles, que no es necesario que se enfrenten al terminal para instalar aplicaciones. Siempre puedes instalar la aplicación que quieras desde el Centro de Software de Ubuntu, no es necesario que recurras al terminal.

Sin embargo, no está de mas que le des un vistazo a esta sencilla guía. Seguro que, tarde o temprano, terminas por ver por ti mismo el potencial del terminal. Entonces te acordarás de que aquí tienes una ayuda.


Más información,

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *