Gestión de Paquetes en Debian (y derivados) usando la terminal

Hola Amigos en este post explicare como se gestionan los paquetes en Sistemas Debían y sus múltiples derivados (Ubuntu, Mint, KDE neon) 

¿Que es un paquete en GNU/Linux?
Un paquete es esencialmente una pieza de software, que contiene generalmente dos cosas:
  • La Cabecera: son las instrucciones para proceso de instalación y configuración del software incluye también las dependencias (que es el software que se requiere previamente en el sistema), así como las incompatibilidades que puede tener con otro software, incluye una descripción y nombre de la persona responsable del paquete.
  • Archivos del programa: archivos que serán instalados y/o manipulados siguiendo las instrucciones de la cabecera.
Estos paquetes son manejados por un software conocido como "Gestor de paquetes" este se encarga de todas las operaciones relacionadas con los mismos, en sistemas Debian y derivados (Ubuntu, Linux Mint, ElementaryOS etc.) este se llama APT.

La sintaxis de los comandos para controlar apt es sencilla, aunque cabe recalcar que la mayoría de ellas requieren la orden sudo antes para obtener privilegios de administrador, una vez comprendido esta revisaremos la sintaxis básica.

Comandos de Mantenimiento

Estos comandos permiten ejecutar operaciones de mantenimiento en nuestro sistema, la sintaxis básica de estos es:

sudo apt <acción>



Donde acción es la operación a realizar, las mas comunes son las siguientes:

  • update: permite actualizar la lista de paquetes en los repositorios, esto permite descargar el indice completo de paquetes disponibles a instalar (esta acción no instala ni modifica ningún paquete). 
Ejecución:
sudo apt update

  • upgrade: permite actualizar los paquetes de la distribución (este parámetro es usado para actualizar el sistema y debe usarse siempre después del anterior para asegurarnos de tener todo al día). 

Ejecución:
sudo apt upgrade

  • dist-upgrade: permite lo mismo del anterior, pero añade una resolución de dependencias mejorada que toma como prioridad la actualización de los paquetes importantes (kernel, modulos etc.) a costa de los menos importantes (si es necesario). 

Ejecución:
sudo apt dist-upgrade

  • autoclean: cuando se da la orden al sistema de instalar un paquete, este descarga un archivo .deb que es instalado, sin embargo este archivo se conserva en el sistema para que en caso de requerirlo no tenga que ser descargado de nuevo, por ejemplo si el usuario lo desisntala pero decide reinstalarlo en el futuro, autoclean remueve todos los .deb que no se encuentren instalados en el sistema.

Ejecución:
sudo apt autoclean


  • clean: lo mismo del anterior pero este comando elimina todos los archivos .deb de la cache, sin importar si están o no instalados, estos últimos 2 comandos pueden liberar espacio del disco al ejecutarse.

Ejecución:
sudo apt clean

  • autoremove: permite eliminación de paquetes que fueron instalados por otro programa y ya no son necesarios.
Ejecución:
sudo apt autoremove

Comandos de manipulación de paquetes

Estos comandos permiten la manipulación de paquetes de manera especifica, la sintaxis básica de estos es:
<sudo apt <acción> <paquete>
  • install: permite la instalación de un paquete, mismo que se debe especificar después de la acción, es posible instalar múltiples paquetes separando el nombre de los mismos con un espacio

Ejemplo, instalación de Firefox:
sudo apt install firefox

Ejemplo, instalación de Firefox, Chromium y Blender
sudo apt install firefox chromium blender


  • remove: permite la desinstalación de un paquete, mismo que se debe especificar después de la acción, es posible desinstalar múltiples paquetes separando el nombre de los mismos con un espacio

Ejemplo, desinstalación de Firefox:
sudo apt remove firefox

Ejemplo, desinstalación de Firefox y Chromium
sudo apt remove firefox chromium

  • purge: permite la desinstalación de un paquete, ademas de sus ficheros de configuración, mismo que se debe especificar después de la acción, es posible desinstalar múltiples paquetes separando el nombre de los mismos con un espacio

Ejemplo, desinstalación de Firefox:
sudo apt purge firefox

Ejemplo, desinstalación de Firefox y Chromium
sudo apt purge firefox chromium


Estos son en esencia los comandos mas usados en la gestión de paquetes, pero quizas haya quien se cuestione si: ¿Estos sistemas cuentan con algo tipo "exe"?
Y la respuesta es si, son los archivos .deb que mencione anteriormente, estos archivos son instaladores propiamente hablando, algunos proyectos como Google Chrome o Spotify (entre otros) distribuyen paquetes .deb para su instalación.
El proceso para instalar estos es simple pero se tiene que hacer uso de dpkg, que es un gestor de paquetes de bajo nivel (no soporta instalación desde fuentes remotas, ni soporta resolución de conflictos complejos).
Para instalar un archivo .deb manualmente solo debes hacer uso de la siguiente orden:

dpkg -i <ruta del paquete>

Ejemplo, instalación de spotify desde un archivo .deb:
sudo dpkg -i /home/oscar/spotify_installer.deb 


En caso de querer desinstalarlo puedes hacer uso de apt remove o apt purge, pero si quieres hacerlo con dpkg, solo debes hacer uso de la siguiente orden:

dpkg -r <nombre del paquete>

Ejemplo, desinstalación de spotify usando dpkg
sudo dpkg -r spotify 

o

dpkg --purge <nombre del paquete>

Ejemplo, desinstalación de spotify eliminando archivos de configuración usando dpkg
sudo dpkg ..purge spotify 

Cabe aclarar que todos estas operaciones también pueden hacerse de manera gráfica (usando ciertas herramientas especiales), eso sera tema del próximo post, aunque te recomiendo que aprendas estos comandos, veras que una vez dominados te sera mas rápido y hasta mas fácil que de forma gráfica.

Nota: si quieres saber si tu sistema es derivado de Debian revisa este enlace 

Y bueno amigos eso es todo por ahora, espero les sirva, saludos desde México!

Comentarios

Entradas más populares de este blog

Creando un scanner de códigos (de Barras y QR) para Android en React Native (Expo)

Instalar Neofetch información de tu distribución en la terminal

Navegación en React Native 1: Drawer (React Navigation)