Dpkg: Una herramienta intermedia. Antes de conocer como usar dpkg en Debian es preciso un poco de teoría.

El software dpkg es la raiz del sistema de gestión de paquetes de Debian GNU/Linux. Fue creado por Ian Jackson en 1993. Se utiliza para instalar, quitar y proporcionar información sobre los paquetes .deb.

Dpkg en si es una herramienta de bajo nivel. Se necesita un frontal de alto nivel para traer los paquetes desde lugares remotos o resolver conflictos complejos en las dependencias de paquetes. Debian cuenta por defecto con apt para esta tarea, adicional existen otras como aptitude o tasksel.

Instalar un paquete con dpkg

Para instalar el paquete especificado incluyendo el desempaquetado y la configuración en el disco duro haremos una prueba con un paquete de gedit previamente descargado, empezamos:

dpkg –-install gedit_3.30.2-2_amd64.deb
como usar dpkg en debian

Luego de procesar el paquete nos indica que fue instalado pero tiene dependencias rotas, para verificar dependencias usamos:

dpkg -s gedit | grep ^Depends:

Por ultimo usamos apt para instalar dependencias rotas de forma automatica:

sudo apt-get -f install
como usar dpkg en debian

Mostrar ficheros que incluye un paquete deb

Para detallar que paquetes vienen encapsulados en un archivo .deb usamos -c y el nombre del archivo:

dpkg -c gedit_3.30.2-2_amd64.deb
como usar dpkg en debian

De esta forma veras archivos, carpetas, documentación y otras cosas que trae incluido el paquete para instalar en tu sistema.

Listar paquetes ya instalados con dpkg

Para ver todos los paquetes en sistema usamos:

dpkg –l
como usar dpkg en debian

Si queremos ver solo los que empiecen por una palabra en especial, adaptamos y usamos:

dpkg -l gedit*

Comprobar si un paquete esta instalado con dpkg

Si queremos verificar que haya sido instalado correctamente o simplemente queremos buscar otros paquetes:

sudo dpkg -s gedit
como usar dpkg en debian

Desinstalar un paquete con dpkg

Seguiremos con nuestro paquete de ejemplo gedit pero recuerda cambiar este por el paquete que estés trabajando. En este caso haremos referencia al nombre del paquete y no al nombre del archivo .deb.

Para eliminar el paquete y todos los archivos de configuración usamos:

sudo dpkg -P gedit
como usar dpkg en debian

Si queremos solo eliminar el paquete usaremos:

sudo dpkg -r gedit

dpkg –-contents nompaq_VV-R.deb

Otros parámetros para dpkg:

Desempaqueta un archivo .deb en el disco y lo deja sin configurar usando:

dpkg –-unpack nombrepaq_VV-R.deb

Para instalar un grupo de paquetes .deb que esten en una carpeta especifica usamos:

dpkg -R --install paquetesdeb/

Configura un paquete ya desempaquetado con:

dpkg –-configure nombrepaq

Configura todos los paquetes ya desempaquetados, suele ser útil cuando herramientas de alto nivel fallan y no terminan de configurar el paquete por errores no relacionados entre si:

dpkg –-configure –-pending

Lista los ficheros que contienen un paquete instalado:

dpkg –-listfiles nombrepaq

Borra un paquete pero deja los archivos de configuración:

dpkg –-remove nombrepaq

Borra un paquete eliminando todos los archivos de configuración:

dpkg --purge nombrepaq

Muestra el estado de un paquete:

dpkg --status nombrepaq

Lo siguiente nos muestra los paquetes que contienen archivos que coinciden con la palabra que queramos buscar:

dpkg --search PALABRA

Herramientas adicionales necesarias para construir un paquete .deb:

Por otro lado dpkg trae consigo otras herramientas que pueden sernos util en algunos casos, les dejo cada una con un resumen de su función, recomiendo usar –help en las que les resulte interesante.

Empaqueta y desempaqueta los archivos fuentes:

dpkg-source

Lee información de un árbol fuente debían desemquetado y genera un paquete binario de control generando una entrada para este en el fichero debian/files:

dpkg-gencontrol

Calcula las dependencias de ejecutables respecto a las librerías:

dpkg-shlibsdeps

Lee la informacion de un arbol fuente debian desempaquetado y ya construido, generando un fichero de control de los ultimos cambios (un.changes):

dpkg-genchanges

Es un script de control que se puede utilizar para automatizar la construcción de un paquete:

dpkg-buildpackage

Añade una entrada de un fichero a debian/files:

dpkg-distaddfile

Lee el fichero de cambios changes log, de un árbol debian fuente desempaquetado y genera una salida con la información de estos cambios, convenientemente preparado:

dpkg-parsechangelog

Esas serian las opciones básicas para entender el funcionamiento de dpkg, el corazón del gestor de paquete de Debian. Para mas información ingresa aquí.

Cualquier duda en los comentarios.