Tutorial del comando dpkg de Linux para principiantes (8 ejemplos)
Si estás en un sistema Debian o basado en Debian (como Ubuntu), es muy probable que te hayas encontrado con paquetes .deb. Son paquetes de Debian, y la línea de comandos de Linux ofrece comandos/herramientas incorporadas para tratar este tipo de paquetes. Una de estas herramientas es dpkg, de la que hablaremos en este tutorial.
Pero antes de hacerlo, conviene mencionar que todos los ejemplos de este tutorial se han probado en una máquina Ubuntu 16.04LTS.
El comando dpkg de Linux
La herramienta dpkg es básicamente un gestor de paquetes para sistemas basados en Debian/Debian. Su sintaxis es la siguiente:
dpkg ACTIONS
O
dpkg [options] filename
Y así es como lo explica la página man:
dpkg is a tool to install, build, remove and manage Debian packages.
The primary and more user-friendly front-end for dpkg is aptitude(1).
dpkg itself is controlled entirely via command line parameters, which
consist of exactly one action and zero or more options. The action-
parameter tells dpkg what to do and options control the behavior of the
action in some way.
dpkg can also be used as a front-end to dpkg-deb(1) and dpkg-query(1).
The list of supported actions can be found later on in the ACTIONS sec?
tion. If any such action is encountered dpkg just runs dpkg-deb or
dpkg-query with the parameters given to it, but no specific options are
currently passed to them, to use any such option the back-ends need to
be called directly.
A continuación hay algunos ejemplos de estilo Q&A que deberían darte una buena idea básica de cómo funciona dpkg.
Q1. ¿Cómo se instala un paquete con dpkg?
Puedes hacerlo utilizando la opción de línea de comandos -i.
dpkg -i [package-name]
Por ejemplo:
dpkg -i google-chrome-stable_current_amd64.deb
Aquí tienes todos los pasos del proceso de instalación:
1. Extract the control files of the new package.
2. If another version of the same package was installed before
the new installation, execute prerm script of the old package.
3. Run preinst script, if provided by the package.
4. Unpack the new files, and at the same time back up the old
files, so that if something goes wrong, they can be restored.
5. If another version of the same package was installed before
the new installation, execute the postrm script of the old pack?
age. Note that this script is executed after the preinst script
of the new package, because new files are written at the same
time old files are removed.
6. Configure the package. See --configure for detailed informa?
tion about how this is done.
Q2. ¿Cómo eliminar un paquete ya instalado utilizando dpkg?
Esto se puede hacer utilizando la opción de línea de comandos -r.
dpkg -r [package-name]
Por ejemplo:
dpkg -r googler_3.3.0-1_all.deb
Esto es lo que dice la página man sobre esta opción:
Removing of a package consists of the following steps:
1. Run prerm script
2. Remove the installed files
3. Run postrm script
Q3. ¿Cómo listar todos los paquetes instalados en el sistema?
Para ello, puedes utilizar la opción de línea de comandos -l.
dpkg -l
Por ejemplo, aquí está la salida que produjo esta opción de línea de comandos en mi sistema:
Q4. ¿Cómo hacer que dpkg liste el contenido de un paquete?
Esto se puede hacer utilizando la bandera –contents.
dpkg --contents [package name]
Por ejemplo:
Q5. ¿Cómo desempaquetar un paquete con dpkg?
Puede haber ocasiones en las que quieras simplemente desempaquetar el paquete, sin configurarlo. Pues bien, dpkg ofrece una opción para esto también: –unpack.
dpkg --unpack [package-name]
Si más adelante quieres configurar un paquete ya desempaquetado, puedes hacerlo con la opción de línea de comandos –configure.
dpkg --configure [package-name]
Esto es lo que dice la página del manual sobre esta opción:
Configuring consists of the following steps:
1. Unpack the conffiles, and at the same time back up the old
conffiles, so that they can be restored if something goes wrong.
2. Run postinst script, if provided by the package.
Q6. ¿Cómo comprobar si un paquete está instalado o no?
Utiliza la opción de línea de comandos -s para ello.
dpkg -s [package-name]
Por ejemplo:
Q7. ¿Cómo imprimir la arquitectura de los paquetes que instala dpkg?
Puedes acceder a esta información utilizando la opción de línea de comandos –print-architecture.
dpkg --print-architecture
Por ejemplo, la salida que produjo el comando anterior en mi sistema fue
amd64
Q8. ¿Cómo eliminar un paquete con dpkg?
Ya hemos hablado de cómo eliminar un paquete mediante el comando dpkg. También puedes purgar un paquete, un proceso que elimina todo, incluidos los archivos de conficción. Esto puede hacerse utilizando la opción de línea de comandos -P.
dpkg -P [package-name]
Esto es lo que dice la página man sobre esta opción:
Some configuration files might be unknown to dpkg because
they are created and handled separately through the configura?
tion scripts. In that case, dpkg won't remove them by itself,
but the package's postrm script (which is called by dpkg), has
to take care of their removal during purge. Of course, this only
applies to files in system directories, not configuration files
written to individual users' home directories.
Purging of a package consists of the following steps:
1. Remove the package, if not already removed. See --remove for
detailed information about how this is done.
2. Run postrm script.
Conclusión
El comando dpkg ofrece una gran cantidad de opciones. Lo que hemos discutido aquí son aquellas opciones que te ayudarán a empezar a utilizar la herramienta. Cuando hayas terminado de practicarlas, dirígete a la página man del comandopara obtener más información.