15 ejemplos prácticos de "comandos dpkg" para distribuciones basadas en Debian
Debian GNU/Linux, el sistema operativo madre de varias distribuciones de Linux, incluido Knoppix, Kali, Ubuntu, Mint, etc. utilizan varios administradores de paquetes como dpkg, apt , aptitud, synaptic, tasksel, deseleccionar, dpkg-deb y dpkg-split.
Describiremos cada uno de estos brevemente antes de centrarnos en el comando 'dpkg'.
Comando APTO
Apt significa Herramienta de paquete avanzada. No trata con el paquete 'deb' y funciona directamente, pero funciona con el archivo 'deb' desde la ubicación especificada en “/etc/apt/ fuentes.list”.
Leer más: 25 comandos básicos útiles de los comandos APT-GET
Aptitud
Aptitude es un administrador de paquetes basado en texto para Debian que es la interfaz de 'apt', que permite al usuario administrar paquetes fácilmente.
sináptico
Administrador de paquetes gráfico que facilita la instalación, actualización y desinstalación de paquetes incluso para principiantes.
Panel de tareas
Tasksel permite al usuario instalar todos los paquetes relevantes relacionados con una tarea específica, a saber, el entorno de escritorio.
Deseleccionar
Una herramienta de administración de paquetes basada en menú, utilizada inicialmente durante la primera instalación y ahora reemplazada por aptitude.
dpkg-deb
Interactúa con el archivo Debian.
dpkg-split
Útil para dividir y fusionar archivos grandes en trozos de archivos pequeños para almacenarlos en medios de menor tamaño como un disquete.
comando dpkg
dpkg es el principal programa de gestión de paquetes en Debian y en los sistemas basados en Debian. Se utiliza para instalar, construir, eliminar y administrar paquetes. Aptitude es la interfaz principal de dpkg.
A continuación se enumeran algunos de los comandos dpkg más utilizados junto con sus usos:
1. Instalar un paquete
Para instalar un paquete “.deb”, utilice el comando con la opción “-i”. Por ejemplo, para instalar un paquete “.deb” llamado “flashpluginnonfree_2.8.2+squeeze1_i386.deb” utilice el siguiente comando.
[root@tecmint~]# dpkg -i flashpluginnonfree_2.8.2+squeeze1_i386.deb
Selecting previously unselected package flashplugin-nonfree.
(Reading database ... 465729 files and directories currently installed.)
Unpacking flashplugin-nonfree (from flashplugin-nonfree_3.2_i386.deb) ...
Setting up flashplugin-nonfree (1:3.2) ...
--2013-10-01 16:23:40-- http://fpdownload.macromedia.com/get/flashplayer/pdc/11.2.202.310/install_flash_player_11_linux.i386.tar.gz
Resolving fpdownload.macromedia.com (fpdownload.macromedia.com)... 23.64.66.70
Connecting to fpdownload.macromedia.com (fpdownload.macromedia.com)|23.64.66.70|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6923724 (6.6M) [application/x-gzip]
Saving to: ‘/tmp/flashplugin-nonfree.FPxQ4l02fL/install_flash_player_11_linux.i386.tar.gz’
2. Enumere todos los paquetes instalados.
Para ver y enumerar todos los paquetes instalados, utilice la opción “-l” junto con el comando.
[root@tecmint~]# 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 accerciser 3.8.0-0ubuntu1 all interactive Python accessibility explorer for the GNOME desktop
ii account-plugin-aim 3.6.4-0ubuntu4.1 i386 Messaging account plugin for AIM
ii account-plugin-facebook 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon - facebook
ii account-plugin-flickr 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon - flickr
ii account-plugin-generic-oauth 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon - generic OAuth
ii account-plugin-google 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon
rc account-plugin-identica 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon - identica
ii account-plugin-jabber 3.6.4-0ubuntu4.1 i386 Messaging account plugin for Jabber/XMPP
....
Para ver un paquete específico instalado o no, utilice la opción “-l” junto con el nombre del paquete. Por ejemplo, compruebe si el paquete apache2 está instalado o no.
[root@tecmint~]# dpkg -l apache2
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 apache2 2.2.22-6ubuntu5.1 i386 Apache HTTP Server metapackage
3. Eliminar un paquete
Para eliminar el paquete “.deb”, debemos especificar el nombre del paquete “flashpluginnonfree”, no el nombre original “flashplugin-nonfree_3.2_i386.deb“. La opción “-r” se utiliza para eliminar/desinstalar un paquete.
[root@tecmint~]# dpkg -r flashpluginnonfree
(Reading database ... 142891 files and directories currently installed.)
Removing flashpluginnonfree ...
Processing triggers for man-db ...
Processing triggers for menu ...
Processing triggers for desktop-file-utils ...
Processing triggers for gnome-menus ...
También puede utilizar la opción 'p' en lugar de 'r', que eliminará el paquete junto con el archivo de configuración. La opción 'r' solo eliminará el paquete y no los archivos de configuración.
[root@tecmint~]# dpkg -p flashpluginnonfree
4. Ver el contenido de un paquete
Para ver el contenido de un paquete en particular, utilice la opción “-c” como se muestra. El comando mostrará el contenido de un paquete “.deb” en formato de lista larga.
[root@tecmint~]# dpkg -c flashplugin-nonfree_3.2_i386.deb
drwxr-xr-x root/root 0 2012-12-14 22:54 ./
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/bin/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/lib/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/lib/mozilla/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/lib/mozilla/plugins/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/lib/flashplugin-nonfree/
-rw-r--r-- root/root 3920 2009-09-09 22:51 ./usr/lib/flashplugin-nonfree/pubkey.asc
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/man/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/man/man8/
-rw-r--r-- root/root 716 2012-12-14 22:54 ./usr/share/man/man8/update-flashplugin-nonfree.8.gz
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/applications/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/icons/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/icons/hicolor/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/icons/hicolor/24x24/
....
5. Verifique que un paquete esté instalado o no
Al usar la opción “-s” con el nombre del paquete, se mostrará si hay un paquete deb instalado o no.
[root@tecmint~]# dpkg -s flashplugin-nonfree
Package: flashplugin-nonfree
Status: install ok installed
Priority: optional
Section: contrib/web
Installed-Size: 177
Maintainer: Bart Martens <[email >
Architecture: i386
Version: 1:3.2
Replaces: flashplugin (<< 6)
Depends: debconf | debconf-2.0, wget, gnupg, libatk1.0-0, libcairo2, libfontconfig1, libfreetype6, libgcc1, libglib2.0-0, libgtk2.0-0 (>= 2.14), libnspr4, libnss3, libpango1.0-0, libstdc++6, libx11-6, libxext6, libxt6, libcurl3-gnutls, binutils
Suggests: iceweasel, konqueror-nsplugins, ttf-mscorefonts-installer, ttf-dejavu, ttf-xfree86-nonfree, flashplugin-nonfree-extrasound, hal
Conflicts: flashplayer-mozilla, flashplugin (<< 6), libflash-mozplugin, xfs (<< 1:1.0.1-5)
Description: Adobe Flash Player - browser plugin
...
6. Verifique la ubicación de los paquetes instalados.
Para enumerar la ubicación de los archivos que se instalarán en su sistema desde el nombre del paquete.
[root@tecmint~]# dpkg -L flashplugin-nonfree
/.
/usr
/usr/bin
/usr/lib
/usr/lib/mozilla
/usr/lib/mozilla/plugins
/usr/lib/flashplugin-nonfree
/usr/lib/flashplugin-nonfree/pubkey.asc
/usr/share
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/update-flashplugin-nonfree.8.gz
/usr/share/applications
/usr/share/icons
/usr/share/icons/hicolor
...
7. Instale todos los paquetes de un directorio
De forma recursiva, instale todos los archivos normales que coincidan con el patrón “*.deb” que se encuentra en los directorios especificados y todos sus subdirectorios. Esto se puede utilizar con las opciones “-R” y “–install”. Por ejemplo, instalaré todos los paquetes “.deb” del directorio llamado “debpackages”.
[root@tecmint~]# dpkg -R --install debpackages/
(Reading database ... 465836 files and directories currently installed.)
Preparing to replace flashplugin-nonfree 1:3.2 (using .../flashplugin-nonfree_3.2_i386.deb) ...
Unpacking replacement flashplugin-nonfree ...
Setting up flashplugin-nonfree (1:3.2) ...
Processing triggers for man-db ...
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus ...
8. Desempaquete el paquete pero no lo configure
El uso de la acción “–unpack” descomprimirá el paquete, pero no lo instalará ni configurará.
[root@tecmint~]# dpkg --unpack flashplugin-nonfree_3.2_i386.deb
(Reading database ... 465836 files and directories currently installed.)
Preparing to replace flashplugin-nonfree 1:3.2 (using flashplugin-nonfree_3.2_i386.deb) ...
Unpacking replacement flashplugin-nonfree ...
Processing triggers for man-db ...
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus ...
9. Reconfigurar un paquete desempaquetado
La opción “–configure” reconfigurará un paquete ya descomprimido.
[root@tecmint~]# dpkg --configure flashplugin-nonfree
Setting up flashplugin-nonfree (1:3.2) ...
10. Reemplace la información del paquete disponible
La opción “–-update-avail” reemplaza la información antigua con la información disponible en el archivo Paquetes.
[root@tecmint~]# dpkg –-update-avail package_name
11. Borrar la información disponible existente del paquete
La acción “–clear-avaial” borrará la información actual sobre qué paquetes están disponibles.
[root@tecmint~]# dpkg –-clear-avail
12. Olvídese de los paquetes desinstalados y no disponibles
El comando dpkg con la opción “–forget-old-unavail” olvidará automáticamente los paquetes desinstalados y no disponibles.
[root@tecmint~]# dpkg --forget-old-unavail
13. Mostrar licencia dpkg
[root@tecmint~]# dpkg --licence
14. Mostrar la versión de dpkg
El argumento “–version” mostrará información de la versión de dpkg.
[root@tecmint~]# dpkg –version
Debian `dpkg' package management program version 1.16.10 (i386).
This is free software; see the GNU General Public License version 2 or
later for copying conditions. There is NO warranty.
15. Obtenga toda la ayuda sobre dpkg
La opción “–help” mostrará una lista de opciones disponibles del comando dpkg.
[root@tecmint~]# dpkg –help
Usage: dpkg [<option> ...] <command>
Commands:
-i|--install <.deb file name> ... | -R|--recursive <directory> ...
--unpack <.deb file name> ... | -R|--recursive <directory> ...
-A|--record-avail <.deb file name> ... | -R|--recursive <directory> ...
--configure <package> ... | -a|--pending
--triggers-only <package> ... | -a|--pending
-r|--remove <package> ... | -a|--pending
-P|--purge <package> ... | -a|--pending
--get-selections [<pattern> ...] Get list of selections to stdout.
--set-selections Set package selections from stdin.
--clear-selections Deselect every non-essential package.
--update-avail <Packages-file> Replace available packages info.
--merge-avail <Packages-file> Merge with info from file.
--clear-avail Erase existing available info.
--forget-old-unavail Forget uninstalled unavailable pkgs.
-s|--status <package> ... Display package status details.
...
Eso es todo por ahora. Pronto estaré aquí nuevamente con otro artículo interesante. Si me perdí algún comando en la lista, hágamelo saber a través de los comentarios. Hasta entonces, manténganse atentos y conectados a Tecmint. Dale me gusta y compártenos y ayúdanos a difundir. No olvide mencionar sus valiosos pensamientos en los comentarios.