Debian GNU/Linux, el sistema operativo madre de varias distribuciones de Linux, incluyendo Knoppix, Kali, Ubuntu, Mint, etc. usa varios paquetes de administrador como dpkg, apt, aptitude, synaptic, tasksel, deselect, dpkg-deb y dpkg-split . Pero ¿qué es cada cosa?
Comando APT
Apt significa Advanced Package Tool. No trata con el paquete ‘deb’ directamente, pero funciona con el archivo ‘deb’ desde la ubicación especificada en el archivo “/etc/apt/sources.list”.
Aptitude
Aptitude es un gestor de paquetes basado en texto para Debian que es front-end de ‘apt’, que permite al usuario gestionar paquetes fácilmente. Hoy tiene poco uso.
Sinaptic
Administrador de paquetes gráficos que facilita la instalación, actualización y desinstalación de paquetes incluso para principiantes.
Tasksel
Tasksel le permite al usuario instalar todos los paquetes relevantes relacionados con una tarea específica, por ejemplo, un entorno de escritorio.
Deselect
Una herramienta de administración de paquetes impulsada por menús, que se utilizó inicialmente durante la primera instalación y se reemplaza por aptitude.
Dpkg-deb
Interactúa con el archivo Debian.
Dpkg-split
Útil para dividir y fusionar archivos grandes en trozos de pequeños archivos para almacenarlos en medios de tamaño más pequeño, como un disquete.
Comando Dpkg
dpkg es el principal programa de gestión de paquetes en el sistema Debian y Debian. Se usa para instalar, construir, eliminar y administrar paquetes. APT es la interfaz principal para dpkg.
Algunos de los comandos dpkg más comúnmente utilizados junto con sus usos se enumeran a continuación:
1. Instalar un paquete
Para instalar un paquete “.deb”, usa el comando con la opción “-i”. Por ejemplo, para instalar un paquete “.deb” llamado “flashpluginnonfree_2.8.2+squeeze1_i386.deb”, usa el siguiente comando.
[root@pedro~]# 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. Listas todos los paquetes instalados
Para ver y enumerar todos los paquetes instalados, usa la opción “-l” junto con el comando.
[pedro@cinnamon~]# 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 si un paquete específico está instalado o no, usa la opción “-l” junto con el nombre del paquete. Por ejemplo, comprueba si el paquete apache2 está instalado o no.
[root@pedro~]# 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 usa para eliminar/desinstalar un paquete.
[root@pedro~]# 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 puedes usar 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@tpedro~]# dpkg -p flashpluginnonfree
4. Ver el contenido de un paquete
Para ver el contenido de un paquete en particular, usa la opción “-c” como se muestra. El comando mostrará el contenido de un paquete “.deb” en formato de lista larga.
[root@pedro~]# 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. Verificar que el paquete esté instalado o no
Al usar la opción “-s” con el nombre del paquete, se mostrará si un paquete Deb está instalado o no.
[root@pedro~]# dpkg -s flashplugin-nonfree Package: flashplugin-nonfree Status: install ok installed Priority: optional Section: contrib/web Installed-Size: 177 Maintainer: Bart Martens <Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. >; 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. Verificar la ubicación de los paquetes instalados
Para mostrar la ubicación de los archivos que se instalarán en tu sistema desde el nombre del paquete.
[root@pedro~]# 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. Instalar todos los paquetes de un directorio
Recursivamente, instala todos los archivos regulares que coincidan con el patrón “* .deb” que se encuentra en los directorios especificados y en todos sus subdirectorios. Esto se puede usar con las opciones “-R” y “-install”. Por ejemplo, instalaré todos los paquetes “.deb” del directorio llamado “debpackages”.
[root@pedro~]# 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. Descomprimir el paquete sin configurarlo
Al usar la acción “-unpack” se descomprimirá el paquete, pero no se instalará ni configurará.
[root@pedro~]# 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 desempaquetado.
[root@pedro~]# dpkg --configure flashplugin-nonfree Setting up flashplugin-nonfree (1:3.2) ...
10. Reemplazar la información del paquete disponible
La opción “- update-avail” reemplaza la información anterior con la información disponible en el archivo Packages.
[root@pedro~]# 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@pedro~]# dpkg –-clear-avail
12. Olvidarse de los paquetes no instalados y no disponibles
El comando dpkg con la opción “-forget-old-unvail” olvidará automáticamente los paquetes desinstalados y no disponibles.
[root@pedro~]# dpkg --forget-old-unavail
13. Mostrar la licencia de dpkg
[root@pedro~]# dpkg --licence
14. Mostrar la versión de dpkg
El argumento “-version” mostrará la información de la versión dpkg.
[root@pedro~]# 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. Obtener toda la ayuda sobre dpkg
La opción “-help” mostrará una lista de opciones disponibles del comando dpkg.
[root@pedro~]# 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. ...