Como instalar aplicaciones en Raspbian y Ubuntu desde la Terminal con Apt, Apt-Get y Aptitude

En el tutorial de hoy verás como instalar paquetes y aplicaciones en Ubuntu y derivados como un auténtico geek de la línea de comandos.

No es ningún secreto que la gran mayoría de distribuciones GNU/Linux gestionan todas sus aplicaciones desde los denominados repositorios de software. Esto permite ofrecer un catálogo de aplicaciones gestionado desde un lugar centralizado y supervisado por la comunidad de desarrolladores y

usuarios.

Las ventajas de esto son varias. Por un lado, evita al usuario el tener que visitar webs externas para descargar programas, ya que la mayoría de distros cuentan con un catálogo suficientemente completo para cubrir la gran mayoría de necesidades de un usuario normal.

Esto da bastantes garantías al usuario de que todo el software que ha descargado es legítimo, que no contiene virus o malware, y que además estará soportado ya sea por parte de la comunidad de desarrolladores (Ubuntu, Debian, Fedora, etc.) o a través de la empresa que haya detrás (Canonical en el caso de Ubuntu, RedHat, etc.)

Por otra parte si únicamente descargas paquetes desde los repositorios oficiales, las actualizaciones del sistema ya vienen incluidos los parches de seguridad de todas las aplicaciones de que dispongas, eliminando la necesidad de comprobar actualizaciones para cada uno de los programas, como pasa con Windows.

¿Qué es y como funciona es APT?

APT, de Advanced Packaging Tool,  es un set de herramientas de gestión de paquetes creada por el proyecto Debian e incluida actualmente en la base de todas sus distribuciones derivadas, como el mismo Ubuntu, Linux Mint, y actualmente un muy largo etcétera.

Así, todas las operaciones de instalación, desinstalación o actualización de paquetes en las distros .deb funcionan internamente a través, o gracias a APT. Lo que pasa que que en la mayoría de los casos no nos damos cuenta porqué operan a través de interfazes gráficas como el ya viejo Synaptic, o sin ir más lejos el mismo Ubuntu Software Center.

Aún así, también tenemos utilidades de la línea de comandos para la gestión de paquetes a través de APT, como son el popular apt-get (ahora redefinido a apt), o también aptitude.

16 años después de su lanzamiento, podemos decir que a partir de Ubuntu 14.04 LTS y Debian 8 Jessie APT viene finalmente en su versión 1.0, que persigue simplificar y hacer más lógico e intuitivo el uso de comandos, pero sin dejar de reconocer los comandos anteriores.


Con esta nueva versión, a las utilidades de APT existentes hasta la fecha, como son apt-get, apt-cache y apt-config, entre otras varias, se les añade ahora apt.  En esta imagen tienes un resumen de todas ellas.

Así que aprovechando la ocasión, y teniendo en cuenta que hay ya muchísimas guías y tutoriales sobre el uso de APT a través de apt-get, en esta guía no hablaremos de los comandos antiguos (que siguen siendo tan validos como el primer día) sino de los nuevos comandos.

Instala, desinstala y actualiza paquetes con apt

Sin más explicaciones veamos cuales son los principales comandos que debemos conocer en esta nueva versión. Como verás, el cambio más significativo a simple vista es que ahora, para ejecutar comandos que antes requerían utilizar la sintaxis apt-get delante, ahora se usa únicamente la palabra apt.

Antes de nada, es importante tener claro que para ejecutarlo necesitaremos tener permisos de superusuario, por lo que deberemos utilizar los comandos con un sudo delante si estamos en Ubuntu, o loguearnos previamente como superusuario en Debian, mediante su. Dicho esto, empezemos…

# apt update

$ sudo apt update

Lo primero que necesitamos hacer es actualizar la lista del catálogo de paquetes de todos los repositorios que tengamos habilitados en el sistema. Esto nos permitirá disponer de la información más reciente de todos los paquetes disponibles, su número de versión, etc.

Una vez terminado el proceso, también nos mostrará si existen actualizaciones disponibles de los paquetes que tengamos instalados, ya sean del sistema o de aplicaciones instaladas a posteriori. Este debería ser un paso previo obligado antes de hacer cualquier otra cosa.

# apt upgrade

$ sudo apt upgrade

Una vez actualizada la lista de paquetes, con la opción upgrade podremos aplicar todas las actualizaciones de paquetes disponibles. Esto instalará los paquete necesarios, pero mantendrá los antiguos.

# apt full-upgrade

$ sudo apt full-upgrade

Es una variante del comando anterior. Utilízala si deseas que, al actualizar paquetes, se eliminen automáticamente todos los paquetes antiguos.

# apt install paquete

$ sudo apt install nombre-del-paquete

Con este comando podrás instalar cualquier aplicación, sustituyendo el termino nombre-del-paquete por el nombre real del paquete. Al ejecutarlo, APT buscara automáticamente todas las dependencias necesarias y te pedirá confirmación para instalar todos los paquetes requeridos en tu sistema. Aquí un ejemplo..

$ sudo apt install chromium-browser vlc

Como ves, podemos instalar perfectamente varios paquetes de una tirada en una sola sentencia, tan solo es necesario separar cada uno de los paquetes con un espacio. En este caso estaremos instalando Chromium y VLC.

# apt remove paquete

$ sudo apt remove nombre-del-paquete

Alternativamente, de un modo similar a como instalar paquetes, también podemos desinstalar paquetes individuales, sustituyendo nuevamente el termino nombre-del-paquete con el nombre real del paquete a desinstalar.

Ten en cuenta que la opción remove eliminara el paquete o paquetes indicados, pero no sus dependencias. Así, si por ejemplo deseamos eliminar VLC, instalado hace nada, con este comando eliminaremos el paquete vlc pero manteniendo las dependencias instaladas con el.

# apt list

$ sudo apt list --parámetro

Muestra por pantalla un listado de paquetes, dependiendo de los parámetros que especifiquemos. Podemos utilizar los parámetros –installed, para mostrar los paquetes instalados, o –upgradable, para visualizar los paquetes que se pueden actualizar.

# apt show paquete

$ apt show nombre-del-paquete

Si quieres visualizar por pantalla información de un paquete determinado, conociendo su nombre, este es tu comando. Muestra información muy útil y variada, como los paquetes de que depende, el paquete que remplaza, los paquetes que sugiere, los que entran en conflicto con el, etc.

# man apt

$ man apt

Y finalmente, tampoco falta la opción para acceder al manual completo, para tener una idea de las diferentes opciones que tenemos a disposición

Como novedad adicional, y bastante vistosa, también tenemos el añadido de una barra de progreso que nos sirve de indicador visual del progreso global de la descarga e instalación de paquetes.

Aún no podemos olvidarnos de apt-get

Hay algunas funciones más concretas en las que aun sigue siendo necesario utilizar apt-get, así que, para no dejarlas de lado, he pensado que también sería interesante hacer una pequeña mención a las que creo que pueden ser más útiles. Aquí van…

# apt-get purge

$ sudo apt-get purge nombre-del-paquete

Igual que apt remove, pero con el añadido de que los paquetes se eliminarán junto con todos los ficheros de configuración que se hayan creado en el momento de la instalación. Es una manera de hacer una desinstalación más profunda.

# apt-get autoremove

$ sudo apt-get autoremove

Es el comando ideal para eliminar todos aquellos paquetes que se instalaron automáticamente como dependencias de otros paquetes, y que (si por ejemplo se ha desinstalado el paquete principal) han quedado en el sistema pero ya no son necesarios.

También tenemos a aptitude

Aptitude se diseño como un front-end de APT, que dispone de un potente sistema de búsqueda de paquetes, y que se ha ido ganando mucha popularidad como alternativa a apt-get, sobretodo entre la comunidad Debian.

Aptitude no viene preinstalado en las nuevas versiones de Ubuntu (si en Debian), pero puedes instalarlo fácilmente tecleando por la terminal apt install aptitude o si lo prefieres, siguiendo la sintaxis antigua, apt-get install aptitude.

Una vez instalado, para acceder a la vista de gestión de paquetes de Aptitude, tan solo  teclea aptitude en la línea de comandos (con un sudo delante),  y se te abrirá una interfaz como la que ves a continuación.

 

En esta guía no voy a explicar como utilizar Aptitude a través de su interfaz en modo texto, ya que para ello ya tienes un tutorial muy completo en el siguiente enlace la web de esdebian.

 

Por otra parte, si prefieres un uso interactivo, al estilo de apt o apt-get, Aptitude también permite un uso interactivo de la terminal, y de hecho emula la mayoría de comandos de apt-get, manteniendo incluso los mismos parámetros.

Veamos las principales opciones…

# aptitude update

$ sudo aptitude update

Este es el equivalente a apt update y apt-get update, y lo único que hace es refrescar la información de los repositorios de software habilitados en tu sistema para disponer de la lista de paquetes más reciente, y avisarte de aquellos que se deben actualizar.

# aptitude safe-upgrade

$ sudo aptitude safe-upgrade

Este comando seria en cierto modo similar a apt upgrade, pero con la particularidad de que en este caso Aptitude aplicará las actualizaciones correspondientes de los paquetes instalados, resolviendo las dependencias, y manteniendo los paquetes viejos a menos que ya no sean necesarios.

# aptitude full-upgrade

$ sudo aptitude full-upgrade

Esta es una variante de la opción anterior. A diferencia de aptitude safe-upgrade, en este caso Aptitude también eliminará automáticamente los paquetes que han sido sustituidos. Vendría a ser equivalente a apt full-upgrade.

# aptitude install paquete

$ sudo aptitude install nombre-del-paquete

Siguiendo la misma lógica que apt, para eliminar un determinado paquete basta con teclear la palabra install más el nombre del paquete. Totalmente equivalente a apt install y a apt-get install.

# aptitude remove paquete

$ sudo aptitude remove nombre-del-paquete

Esto eliminará el paquete indicado, pero no así las dependencias que se hayan instalado con él, ni tampoco los archivos de configuración almacenados.

# aptitude purge paquete

$ sudo aptitude purge nombre-del-paquete

Si lo que queremos es no solo eliminar un paquete sino, como parece obvio, eliminar el paquete junto con todos los archivos de configuración almacenados, este es nuestro comando.

# aptitude autoclean

$ sudo aptitude autoclean

Hace una limpieza de la base de datos local, y también elimina todos los paquetes .deb obsoletos.

 

Related Articles

Este espacio lo he creado pensando en los entusiastas como tú, para compartir y centralizar documentación sobre temas que me apasionan: Arduino, impresoras 3D, Raspberry Pi, y mucho más.

Además, he querido fusionarlo con mi canal de YouTube, donde exploramos retro-informática, Raspberry Pi, consolas retro, electrónica y otras maravillas del mundo tecnológico. Este es tu sitio si disfrutas aprendiendo, creando y reviviendo lo mejor de la tecnología de ayer y hoy.

¡Bienvenido!