APT, la herramienta de gestión de paquetes del proyecto Debian involucra el uso de una gran cantidad de herramientas independientes para llevar a cabo diversas tareas. En el pasado, los usuarios necesitaban saber múltiples sintaxis de comandos como apt-get, apt-cache, apt-config, y muchos más para utilizar todas las características de APT.
por Michael Tunnell
APT fue creado originalmente para resolver muchos de los problemas de gestión de paquetes como poner fin al infierno de dependencias que muchas personas experimentaron en los primeros días de los sistemas operativos basados en Linux. Por desgracia, APT sufre de un tipo diferente de infierno, algo que yo llamo «el infierno de documentación dispersa» (DDH, por sus siglas en inglés). La documentación relacionada con APT está dispersa en varias herramientas diferentes y en algunos casos, como el comando principal apt, prácticamente imposible de encontrar.
Durante más de una década, prácticamente todos los tutoriales y guías para la instalación y eliminación de paquetes en un sistema basado en Debian / Ubuntu han sugerido apt-get a los usuarios. En el pasado, esa fue la sugerencia correcta porque «apt» como comando no habían existido en ese momento, pero debido al infierno de documentación dispersa muchas personas no son conscientes de que ahora sí existe.
Si quisiera instalar un paquete de casi todas las guías sugieren:
sudo apt-get install package
pero ahora, en cambio, se puede simplificar eso con
sudo apt install package
Algunos pueden argumentar que «apt» no es muy diferente de «apt-get» y eso es cierto, pero creo que el guión en el comando es lo que crea un cuello de botella para muchos usuarios. Usar apt les ahorrará tiempo así como la cantidad de pulsaciones de teclas necesarias para realizar la misma tarea.
Infierno de documentación dispersa
El problema fundamental con la documentación respecto de APT es que depende donde se mire y como se busque, se puede encontrar algo o nada en absoluto. Si buscamos en Google, o DuckDuckGo, por “documentación apt” encontraremos tres tipos de resultados:
- Documentación relacionada con apt-get
- Información general básica con respecto a APT
- Información que no tienen relación
Si se incluye «linux», «ubuntu», o incluso «debian» en la búsqueda los tipos de resultados que non va a cambiar. La DDH es tan grave que podemos encontrar documentación de Debian.org marcada como Documentación Obsoleta antes de encontrar algo útil relacionada con el comando «apt», si es que alguna vez se encuentra algo.
Páginas man
Las páginas man son las páginas de documentación que se pueden utilizar de forma local en el sistema o a través de los directorios en línea. Anotaciones locales pueden estar al día o no en función de la versión de nuestra distribución. Por ejemplo, Ubuntu 15.10 tiene la última página man, pero 14.04 no de manera predeterminada. Sin embargo, si se mantiene la versión 14.04 de Ubuntu actualizada entonces deberíamos tener la página del manual actualizada. Podemos verificar si tenemos la última versión de la página de manual con el siguiente comando.
man apt
Por otro lado, si buscamos la página del manual en línea, entonces casi siempre encontraremos información general vieja. Si seguimos buscando, sin embargo, podemos llegar a encontrar la página man de Ubuntu 15.10 que está actualizada o podemos encontrarnos con la página man de 14.04 que está desactualizada.
Simplificar la línea de comandos con APT
La siguiente lista contiene las opciones más útiles disponibles vía el comando apt y que antiguos comandos simplifican.
- apt install paquete(s)
- reemplaza a apt-get install paquete
- apt remove paquete(s)
- reemplaza a apt-get remove paquete
- reemplaza a apt-get remove paquete
- apt search query
- reemplaza a apt-cache search query
- apt show paquete(s)
- reemplaza a apt-cache show paquete(s)
- apt update
- reemplaza a apt-get update
- apt upgrade
- reemplaza a apt-get upgrade
- apt list –installed
- reemplaza a dpkg –get-selections | grep -v deinstall
- reemplaza a dpkg -l
- apt list –upgradable (no se requiere sudo)
- reemplaza a apt-get -u upgrade –assume-no” (se requiere sudo)
- apt edit-sources
- reemplaza a echo ‘nueva línea de texto’ | sudo tee -a /etc/apt/sources.list
- reemplaza a sudo nano /etc/apt/sources.list
Linux Mint está mejorando la simplicidad
La mayoría de los sistemas operativos recientes basadas en Debian o Ubuntu tienen la versión actualizada de APT que permite simplificar algunas tareas, pero el equipo detrás de Linux Mint decidió que APT podría estar mucho mejor si se tratara de simplificar más tareas. Linux Mint ha creado un script python para hacer APT aún más útil al sustituir en más funciones ese comando APT estándar que aún no había sido abordado. Esta es una decisión que se espera Debian decida adoptar en el futuro para que el comando APT alcance su pleno potencial.
La siguiente lista contiene las opciones adicionales más útiles disponibles a través del comando apt de Linux Mint y qué comandos vieja simplifican. Nota: de momento la lista siguiente sólo se aplica a los usuarios de Linux Mint.
- apt autoclean
- reemplaza a apt-get autoclean
- apt autoremove
- reemplaza a apt-get autoremove
- apt purge paquete(s)
- reemplaza a apt-get remove –purge paquete(s)
- apt depends paquete(s)
- reemplaza a apt-cache depends paquete(s)
- apt rdepends paquete(s)
- reemplaza a apt-rdepends paquete(s)
- apt policy paquete(s)
- reemplaza a apt-cache policy paquete(s)
- apt held
- reemplaza a dpkg –get-selections | grep hold
- apt hold paquete
- reemplaza a echo paquete hold | sudo dpkg –set-selections
- apt unhold paquete
- reemplaza a echo paquete install | sudo dpkg –set-selections
- apt download paquete (descar el archivo deb de un paquete)
- reemplaza a LC_ALL=C apt-cache depends paquete |grep -v “Conflicts:\|Replaces:”|awk ‘{print $NF}’|sed -e ‘s/[<>]//g’|xargs aptitude download -r
APT: Hacer más con mucho menos
El comando apt ha simplificado muchas tareas con la gestión de paquetes desde la linea de comandos en los escritorios Linux (basados en Debian) y con Linux Mint tomando la iniciativa para mejorarla aún más, espero que ayude a la transición de la comunidad para el nuevo método. El único comando cuya ausencia noté en el script apt de Linux Mint es “apt add-repository” para reemplazar el incómodo comando add-apt-repository, así que escribí un parche para agregar esta característica al script. Me complace anunciar que ese parche fue aceptado por lo cual está característica estará disponible en una futura versión de Linux Mint.