¡Hola, Gnulinuxeros y debianitas ;)! En esta entrada os hablaré de la gestión de paquetes en Debian, una de las distribuciones libres más antiguas, más usadas y que han creado más escuela. Veremos la actualización, instalación y eliminación de paquetes. Para realizar estas tareas disponemos de varias herramientas, ¡gracias a la magia de GNU/Linux!
Listado de Paquetes
En Debian disponemos de varias opciones para actualizar, instalar y eliminar paquetes, que se ejecutan con los siguientes comandos si lo haces con tu terminal.
- apt («Advanced Packaging Tool«): incluye las órdenes apt-get / apt-cache y tiene poderes súper vaca que podemos llamar con el comando apt moo.
- aptitude: Gestor de paquetes interactivos basado en el terminal.
- tasksel: proporciona una interfaz sencilla que desde un menú nos da la posibilidad de instalar entre diferentes entornos de escritorios, SSH server, servidor de impresión, web server y funciones de portátiles.
- Synaptic: Gestor de paquetes gráfico.
- dpkg: Gestor de paquetes de Debian.
Para utilizar los gestores de paquetes necesitamos tener nuestro archivo /etc/apt/source.list configurado. Yo suelo usar la versión estable, «stable» o «buster«, que son paquetes probados y funcionando correctamente, pero podemos elegir otras versiones, como la «inestable» («unstable» o «sid«) o la llamada «en pruebas» («testing» o «bullseye«).
Contenido del archivo sources.list
deb-src http://ftp.es.debian.org/debian/ stable main contrib non-free
La línea superior, que es la forma en que se representa el origen de ciertos paquetes, o su repositorio, se divide en la siguiente especificación o sintaxis:
- deb o deb-src: paquetes de código fuente. deb es el tipo de origen de paquete binario. deb-src indica que el tipo de paquete es código fuente, solo necesario para labores de desarrollo (programación de software).
- http: dirección donde es posible encontrar el repositorio. Admite varias formas de acceso: cd ROM, archivo en nuestro disco duro, ftp, dirección torificada (TOR), ssh…
- Réplica: mirror o réplica donde puede encontrarse un repositorio de la distribución. Es posible participar y ofrecer tu instalación para reducir la carga de los servidores de Debian.
- Nombre de la distribución: Buster, Bullseye, Sid o, si se prefiere, puede sustituirse por el nombre genérico (stable, testing, unstable). El nombre genérico es más regular, porque los nombres propios cambian; por poner solo un ejemplo, antes hubo una versión estable llamada «Jessie«, la versión 8, como puede apreciarse en la imagen de más abajo, pero ha habido más nombres, obviamente.
- Sección del repositorio:
- main: cumple con las “Directrices de Software Libre de Debian -DFSG o Debian Free Software Guidelines-”, por tanto, es software libre.
- contrib: necesita para funcionar dependencias que son software privativo o non-free, esto es, software que no cumple con las DFSG.
- non-free: software que no cumple con las DFSG, por tanto, absolutamente privativo.
- main: cumple con las “Directrices de Software Libre de Debian -DFSG o Debian Free Software Guidelines-”, por tanto, es software libre.
Si queréis saber más podéis consultar el manual de contrato social y directrices de software libre de Debian.
Después de esta pequeña introducción vamos a ponernos manos a la obra. Yo uso la terminal para la instalación de paquetes, con la opción apt porque es con la que me siento más cómodo, pero quien no se encuentre a gusto con la terminal puede usar Synaptic, la interfaz gráfica GTK+ de APT, aunque también existen otras para otros entornos, como el gestor de paquetes Muon, para KDE y Tasksel.
Como decía antes, ¡en GNU/Linux disponemos de múltiples herramientas para hacer las cosas! 😁
Órdenes de actualización
Para las órdenes de gestión debemos poseer permisos sudo (abreviatura de superuser do -«el administrador del sistema hace», en inglés, poco más o menos-) o de administración.
Los siguientes comandos nos sirven para actualizar nuestro software y distribución. Se pueden combinar con «&&» entre órdenes para que sean aplicadas una tras otra (o «;» si quieres, ¡sin las comillas tampoco!).
- apt update: Actualiza la metainformación de los paquetes.
- apt upgrade: Actualiza los paquetes ya instalados a las nuevas versiones candidatas sin eliminar ningún paquete.
- apt dist-upgrade: Actualiza los paquetes ya instalados a las nuevas versiones candidatas y elimina los paquetes que no necesita.
sudo apt update sudo apt upgrade sudo apt dist-upgrade
Órdenes de instalación, información y búsqueaptda
Si queremos localizar un paquete, pongamos, por ejemplo, zsh, ejecutamos:
apt-cache search zsh
Y nos dirá si este paquete está en el repositorio.
Si queremos información de un paquete antes de instalarlo podemos ejecutar apt show, apt info o apt-cache show, que nos saca una información más detallada.
apt-cache show zsh Package: zsh Version: 5.7.1-1 Installed-Size: 2401 Maintainer: Debian Zsh Maintainers <pkg-zsh-devel@lists.alioth.debian.org> Architecture: amd64 Depends: zsh-common (= 5.7.1-1), libc6 (>= 2.15), libcap2 (>= 1:2.10), libtinfo6 (>= 6) Recommends: libc6 (>= 2.23), libncursesw6 (>= 6), libpcre3 Suggests: zsh-doc (...)
Para instalarlo usamos apt install. Una buena práctica es usarlo combinado con update, así actualizaremos el sistema, algo muy recomendable antes de instalar un nuevo paquete.
sudo apt update sudo apt install zsh --no-install-recommends -y
Para la eliminación de archivos tenemos los comandos apt purge, remove, autoremove y clean. La diferencia en usar uno u otro es la siguiente.
- apt remove: elimina el paquete pero no los archivos de configuración.
- apt purge: elimina el paquete y los archivos de configuración.
- apt autoremove: elimina los paquetes autoinstalados que no son necesarios.
- apt-clean: Limpia el repositorio local de paquetes.
sudo apt purge zsh
Y por último, y no menos importante, dpkg.
- dpkg -i: instalamos cualquier paquete con extensión .deb.
- dpkg -l: listamos los paquetes que tenemos instalados.
- dpkg-reconfigure: reconfigura un paquete.
Yo suelo utilizar dpkg -l para identificar archivos corruptos que no están bien instalados, o mal eliminados, y están marcados con «rc»:
dpkg -l | grep ^rc
Para su eliminación uso el siguiente comando:
sudo apt purge -y `dpkg -l | grep ^rc | awk '{print $2}' | xargs`
Espero que hayáis llegado hasta aquí y os animéis a instalar esta gran distro. ¡Me gustaría leer vuestros comentarios!
sldos eddamaky
Páginas de referencia
Imágenes
Imagen de la portada: Bicycle delivery, de Ryan McGuire, en Gratisography. Modificada con GIMP por @aldobelus.
Las capturas de pantalla mostrando Synaptic y Tasksel fueron hechas por el autor del artículo.
Está bien que haya artículos de todo tipo en Colaboratorio, tanto avanzados como básicos, como en este caso. Así se aprecia que, en este proyecto comunitario, no solo ofrecemos artículos de alto nivel sobre los temas que tocamos, sino que también es deseable que se ofrezca gente a escribir sobre sus inicios. Lo importante es compartir el saber, y este abarca muchos niveles. Lo que trae a colación que tenemos varios niveles en el menú, para que elijáis vuestro nivel de conocimiento y no tengáis que cribar los artículos «a mano». Podéis seleccionar un nivel que os vaya bien y ver solo los artículos de ese rango. ¡Muy práctico! En el software, sea libre o no, hay que empezar por el principio y nos gusta que también esos inicios sean compartidos. A ver si se anima más gente a aportar su granito de arena, ¡os estamos esperando! — Aunque se… Leer más »