Dpkg
Dpkg (Paquete Debian) es un sistema de administración de paquetes en Debian y distribuciones de Linux basadas en Debian como Ubuntu.
Dpkg es en realidad una utilidad de línea de comandos de bajo nivel para administrar paquetes. Es diferente de herramientas como apt-get y gdebi.
Apt-get y Gdebi son herramientas más avanzadas que pueden resolver dependencias e instalarlas para que el paquete principal funcione correctamente.
En este tutorial rápido, veremos algunos ejemplos básicos del comando dpkg y cómo usarlo para administrar paquetes en su sistema.
El comando dpkg funciona en sistemas como Debian, Ubuntu, Linux Mint y Elementary OS.
Ejemplos de comandos de Dpkg
1. Listar todos los paquetes instalados
Este comando enumerará todos los paquetes instalados. La información se imprimirá en formato tabular con columnas para Nombre, versión, arquitectura y descripción. La lista será enorme y podrá desplazarse hacia arriba y hacia abajo.
$ dpkg -l Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-===============================================-===========================================-============-================================================= ii accountsservice 0.6.55-0ubuntu10 amd64 query and manipulate user account information ii accountwizard 4:19.04.3-0ubuntu1 amd64 wizard for KDE PIM applications account setup ii acl 2.2.53-4 amd64 access control list - utilities ii acpi-support 0.143 amd64 scripts for handling many ACPI events
2. Buscar paquetes instalados
Puede buscar en la lista de paquetes instalados una entrada en particular y ver si está instalada o no.
Busque los paquetes instalados para 'apache'
$ dpkg --get-selections | grep 'apache' apache2 install apache2-mpm-prefork install apache2-suexec install apache2-utils install apache2.2-bin install apache2.2-common install libapache-pom-java install libapache2-mod-fcgid install libapache2-mod-php5 install
O use la misma opción l para buscar paquetes instalados. Esto es realmente más fácil.
$ dpkg -l php* Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-===============================-====================-====================-==================================================================== un php-doc <none> (no description available) un php-imlib <none> (no description available) un php-kolab-filter <none> (no description available) un php-openid <none> (no description available) un php-pear <none> (no description available) un php-radius-legacy <none> (no description available) ii php5 5.4.6-1ubuntu1.2 all server-side, HTML-embedded scripting language (metapackage) ii php5-cgi 5.4.6-1ubuntu1.2 amd64 server-side, HTML-embedded scripting language (CGI binary) ii php5-cli 5.4.6-1ubuntu1.2 amd64 command-line interpreter for the php5 scripting language ii php5-common 5.4.6-1ubuntu1.2 amd64 Common files for packages built from the php5 source
3. Lista de archivos instalados por un paquete
Para encontrar la ruta de todos los archivos instalados por un determinado paquete, use la opción "L" con dpkg
$ dpkg -L php5-cli /. /etc /etc/php5 /etc/php5/cli /usr /usr/share /usr/share/man /usr/share/man/man1 /usr/share/man/man1/php5.1.gz /usr/share/doc /usr/share/lintian /usr/share/lintian/overrides /usr/share/lintian/overrides/php5-cli /usr/lib /usr/lib/php5 /usr/lib/php5/20100525 /usr/bin /usr/bin/php5 /etc/php5/cli/conf.d /usr/share/doc/php5-cli
Más ejemplos
dpkg -i <package.deb> Installs a Debian package file; one that you downloaded manually, for example. dpkg -c <package.deb> Lists the contents of <package.deb>, a .deb file. dpkg -I <package.deb> Extracts package information from <package.deb>, a .deb file. dpkg -r <package> Removes an installed package named <package> dpkg -P <package> Purges an installed package named <package>. The difference between remove and purge is that while remove only deletes data and executables, purge also deletes all configuration files in addition. dpkg -L <package> Gives a listing of all the files installed by <package>. See also dpkg -c for checking the contents of a .deb file. dpkg -s <package> Shows information on the installed package <package>. See also apt-cache show for viewing package information in the Debian archive and dpkg -I for viewing package information extracted from a .deb file. dpkg-reconfigure <package> Reconfigures an installed package, if it uses debconf (debconf provides that consistent configuration interface for package installation). You can reconfigure debconf itself if you want to change the front-end or priority of questions asked. For example, to reconfigure debconf with the dialog front-end, you simply run: dpkg-reconfigure --frontend=dialog debconf echo ``<package> hold'' | dpkg --set-selections Put <package> on hold (command line method) dpkg --get-selections ``<package>'' Get the current status of <package> (command line method) dpkg -S <file> Searches for <file> in package database, telling you which packages have that file in them.
Reconfigurar paquetes instalados
Los paquetes se pueden reconfigurar usando el comando dpkg-reconfigure.
Por ejemplo reconfigurando phpmyadmin:
$ dpkg-reconfigure phpmyadmin
Conclusión
Esos fueron algunos ejemplos básicos del comando dpkg. En la mayoría de los casos, probablemente no utilice el paquete dpkg para la gestión de paquetes, ya que es un comando de bajo nivel y proporciona solo la funcionalidad básica de instalar o eliminar paquetes .deb.
No administra repositorios y no encuentra ni instala dependencias para que el paquete principal funcione correctamente.
Los otros comandos como apt-get, aptitude, apt, gdebi deben usarse para instalar y mantener paquetes en su sistema.
Si tiene algún comentario o pregunta, háganoslo saber en los comentarios a continuación.