fbpx Comando dpkg en Linux: Instalar, Eliminar y Listar Paquetes | Certificação Linux

Comando dpkg en Linux: Instalar, Eliminar y Gestionar Paquetes .deb

📅 01/01/2019 ⏱ 4 min ✍️ Uira Ribeiro
Linuxcomandos
Comando dpkg en Linux: Instalar, Eliminar y Gestionar Paquetes .deb
Exam Pass App — mais de 7.000 questões LPI, offline, em 5 idiomas, disponível no Android e na App Store
Disponible en
Google Play
Disponible en
App Store

La utilidad dpkg es responsable de la administración de paquetes en sistemas Debian.

dpkg es el comando base para manipular paquetes Debian en sistemas basados en esta familia de Distribuciones. Si tienes paquetes .deb, es dpkg el que permite la instalación o análisis de sus contenidos.

Pero este programa solo tiene una visión parcial de la administración de paquetes Debian: sabe lo que está instalado en el sistema, y lo que se escriba en la línea de comandos, pero no sabe nada sobre los otros paquetes disponibles.

Así, si necesitas descargar manualmente un "paquete.deb" para manipularlo con dpkg.

Y también dpkg fallará si una dependencia no se cumple durante una instalación de paquete. Herramientas como apt y aptitude, por el contrario, crearán una lista de dependencias para instalar todo de la forma más automatizada posible.

dpkg mantiene la información de los paquetes instalados básicamente en los archivos /var/lib/dpkg/available y /var/lib/dpkg/status. Estos archivos contienen la lista de paquetes disponibles y estado, respectivamente.

Según la Wiki de Debian, es responsable del mantenimiento en bajo nivel de los paquetes en el sistema.

Las opciones más frecuentes son:

  • -E: Esta opción no reescribe un paquete ya instalado de la misma versión;
  • -G: Esta opción no reescribe un paquete ya instalado, aunque sea más antiguo;
  • -R: Procesa todos los paquetes encontrados en un determinado directorio de forma recursiva.

Las acciones más frecuentes son:

  • -i nomedopacote: Instala el paquete nomedopacote. Este proceso involucra hacer copia de respaldo de los archivos antiguos que ya existan en el sistema, desempaquetado, instalación y configuración. Esta acción también puede ser referenciada con –install nomedopacote;
  • -l chavebusca: Lista la información de los paquetes que contengan en el nombre la misma clave de búsqueda;
  • -L nomedopacote: Lista los archivos instalados por el paquete nomedopacote;
  • --print-avail  nomedopacote: Lista toda la información disponible sobre el paquete nomedopacote en /var/lib/dpkg/avaliable;
  • --purge nomedopacote: Elimina todo el paquete nomedopacote;
  • -r nomedopacote: Elimina todos los archivos del paquete, menos las configuraciones;
  • -s nomedopacote: Muestra el estado del paquete;
  • -S arquivo: Busca por un archivo en los paquetes instalados;
  • --unpack nomedopacote: Desempaqueta un paquete, pero no instala;
  • --configure nomedopacote: Configura un paquete no instalado.

Ejemplos:

Instala el paquete acct_6.3.5-32_i386.deb.

# dpkg -i acct_6.3.5-32_i386.deb

Elimina el paquete ace-of-penguins_1.2-3_i386.deb del sistema completamente.

# dpkg --purge ace-of-penguins_1.2-3_i386.deb

Configura el paquete abook_0.4.16-1_i386.deb.

# dpkg --configure abook_0.4.16-1_i386.deb

dpkg también puede ser utilizado para descubrir a qué paquete pertenece determinado archivo con la opción "-S" (mayúscula):

# dpkg -S stdio.h
     libc6-dev: /usr/include/stdio.h
     libc6-dev: /usr/include/bits/stdio.h
     perl: /usr/lib/perl/5.6.0/CORE/nostdio.h

La opción "-s" (minúscula) de dpkg puede ser usada para ver información de un determinado paquete:

$ dpkg -s coreutils
Package: coreutils
Essential: yes
Status: install ok installed
Priority: required
Section: utils
Installed-Size: 15719
Maintainer: Michael Stone <[email protected]>
Architecture: amd64
Multi-Arch: foreign
Version: 8.30-3
Pre-Depends: libacl1 (>= 2.2.23), libattr1 (>= 1:2.4.44), libc6 (>= 2.28), libselinux1 (>= 2.1.13)
Description: GNU core utilities
 This package contains the basic file, shell and text manipulation
 utilities which are expected to exist on every operating system.

Otra posibilidad es descubrir los paquetes instalados en el sistema a partir de una clave:

# dpkg -l | grep mozilla
     ii  mozilla-browse 0.9.6-7        Mozilla Web Browser

El archivo /etc/dpkg/dpkg.cfg contiene las opciones predeterminadas cuando dpkg es ejecutado.

Los archivos de control de dpkg residen en el directorio /var/lib/dpkg. Dos archivos interesantes en este directorio son:

  • /var/lib/dpkg/available: Lista de paquetes disponibles;
  • /var/lib/dpkg/status: Estado de los paquetes instalados. Informa cuándo fueron instalados, eliminados, etc.

El comando dpkg también puede ser usado para desempaquetar un paquete, de forma que es posible ver su contenido.

$ dpkg --unpack man-db_2.8.5-2_amd64.deb

(Leyendo base de datos… 14937 archivos y directorios actualmente instalados.)
Preparando para desempaquetar man-db_2.8.5-2_amd64.deb…
Desempaquetando man-db (2.8.5-2) sobre (2.8.5-2)…
Disparadores de procesamiento para soporte MIME (3,62)…

Este comando no es muy utilizado en la práctica, ya que el comando apt o apt-get son mucho más fáciles de utilizar.

Aprende mucho más sobre Linux en nuestro curso en línea. Puedes realizar la inscripción aquí. Si ya tienes una cuenta, o quieres crear una, simplemente ingresa o crea tu usuario aquí.

¿Te gustó? Comparte

Uira Ribeiro

Prof. Uirá Ribeiro

Chair do Board do Linux Professional Institute

Después de años viendo profesionales perder horas en tareas simples por no conocer las herramientas correctas de Linux, decidí enseñar.
Hoy soy autor de la mayoría de los Materiales de Aprendizaje oficiales de la LPI y mentor de más de 14,000 alumnos certificados.

Conoce mi historia completa →

Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.

Certificação Linux — a plataforma líder em certificações Linux no Brasil
WhatsApp