Sistemas de paquetes Debian: dpkg y apt

Introducción

En las distribuciones basadas en Debian (Debian, Ubuntu, Linux Mint…) la gestión de paquetes se articula en dos capas. La capa baja es dpkg, que opera directamente sobre ficheros .deb sin resolver dependencias. La capa alta es APT (Advanced Package Tool), que descarga paquetes de repositorios y resuelve automáticamente las dependencias antes de llamar a dpkg.

dpkg — Gestión a bajo nivel

dpkg instala, elimina e inspecciona paquetes .deb locales. No descarga nada de internet ni resuelve dependencias de repositorios.

Instalar un paquete local:


# dpkg -i paquete.deb
          

Eliminar un paquete (conserva configuración):


# dpkg -r nombre-paquete
          

Eliminar un paquete y su configuración (purge):


# dpkg -P nombre-paquete
          

Consultas frecuentes:


$ dpkg -l                        # listar todos los paquetes instalados
$ dpkg -l nginx                  # estado de un paquete concreto
$ dpkg -L nginx                  # archivos instalados por un paquete
$ dpkg -S /usr/sbin/nginx        # a qué paquete pertenece un archivo
$ dpkg -c paquete.deb            # listar contenido de un .deb sin instalar
$ dpkg -I paquete.deb            # mostrar metadatos de un .deb
          

Estados en la salida de dpkg -l:

  • ii → instalado correctamente
  • rc → eliminado pero con ficheros de configuración
  • un → desconocido / no instalado

Reconfigurar un paquete instalado:


# dpkg-reconfigure locales
# dpkg-reconfigure tzdata
          

apt — Gestión a alto nivel

apt es la herramienta de usuario recomendada desde Debian 8 / Ubuntu 16.04. Combina las funciones de apt-get y apt-cache con una salida más legible y barra de progreso.

Operaciones básicas:


# apt update                     # actualizar la lista de paquetes disponibles
# apt upgrade                    # actualizar paquetes instalados
# apt install nginx              # instalar un paquete
# apt remove nginx               # desinstalar (conserva configuración)
# apt purge nginx                # desinstalar y borrar configuración
# apt autoremove                 # eliminar dependencias huérfanas
          

Búsqueda e información:


$ apt search nginx               # buscar paquetes por nombre o descripción
$ apt show nginx                 # mostrar información detallada de un paquete
$ apt list --installed           # listar paquetes instalados
$ apt list --upgradable          # listar paquetes con actualización disponible
          

apt-get y apt-cache — Las herramientas clásicas

apt-get y apt-cache son las herramientas originales, adecuadas para scripts ya que su salida no cambia entre versiones. apt es preferible en uso interactivo.


# apt-get update
# apt-get install nginx
# apt-get remove nginx
# apt-get dist-upgrade           # actualización completa con resolución de conflictos
$ apt-cache search nginx
$ apt-cache show nginx
$ apt-cache depends nginx        # dependencias directas
$ apt-cache rdepends nginx       # qué paquetes dependen de nginx
          

dpkg opera sobre ficheros locales; apt gestiona repositorios y dependencias automáticamente llamando a dpkg internamente.

Sistemas de paquetes Red Hat: rpm, yum y dnf

Índice de la sección

Índice del curso