Mi pregunta es simple: quiero saber más sobre dpkg, ¿qué hace?
Mi pregunta es simple: quiero saber más sobre dpkg, ¿qué hace?
Respuestas:
Como se ha dicho, dpkg
es una herramienta de sistema de bajo nivel para extraer, analizar, desempaquetar e instalar o eliminar archivos .deb. Sin embargo, es mejor usar Software Centre
o Gdebi
instalar o eliminar archivos .deb que se han obtenido de otras fuentes porque estos dos programas tienen una resolución de dependencia.
Sin embargo, lo que no se ha explicado es la anatomía de una actualización con dpkg
y apt-get
. Si, por ejemplo, llamamos apt-get
a la instalación cheese
, se analiza el árbol de dependencias y se obtienen los archivos necesarios apt-get
, que luego los pasa dpkg
a extraer, analizar e instalar en las ubicaciones correctas y configurarlos de acuerdo con los scripts dentro de ellos.
Las secuencias de comandos que se leen dpkg
dentro de cada archivo .deb son importantes, ya que proporcionan información al programa sobre la instalación, eliminación y configuración de los paquetes. Por lo tanto, cuando observa, /var/log/dpkg.log
hay muchos detalles detallados sobre 'desencadenantes' y paquetes que pasan por diferentes etapas de desempaquetado y configuración. En su blog, Raphael Hertzog (que es un desarrollador y mantenedor clave del dpkg
paquete Debian) explica más sobre los activadores dpkg y la forma en que dpkg
inspecciona y configura los paquetes.
Ahora estamos llegando al corazón de lo que dpkg
hace; maneja de manera experta los paquetes de Debian, en lugar de sus dependencias. Con dpkg-deb
, por ejemplo, puede realizar varias acciones al analizar y extraer manualmente archivos de los archivos .deb; ver man dpkg-deb
para más información.
El estado de cada paquete aparece en la lista /var/lib/dpkg/status
, que se puede usar grep
para verificar un paquete en particular. Dpkg
También se puede llamar para reconfigurar paquetes particulares que se han configurado (ver man dpkg-reconfigure
):
sudo dpkg-reconfigure <package>
O para configurar todos los paquetes no configurados si ha habido un problema con una actualización y la configuración de algunos paquetes aún está pendiente:
sudo dpkg --configure -a
Para un gran tutorial que se centra en dpkg
y apt-get
, vea los capítulos 5 y 6 del Manual de Debian , que es la mejor discusión disponible. Ingrese man dpkg
en su terminal o vea las páginas de manual de Ubuntu en línea para ver todas las opciones disponibles, como usar dpkg -l
para enumerar los paquetes instalados actualmente.
dpkg es una forma de línea de comando para instalar desde un .deb o eliminar paquetes ya instalados. Por ejemplo, si tenía un archivo .deb en su directorio de inicio, la ejecución dpkg -i yourpackage.deb
instalará ese paquete por usted. Al menos me parece útil porque, a veces, al hacer clic en un archivo .deb, carga el Centro de software de Ubuntu, pero en realidad nunca lo instala o tiene problemas.
Como siempre, el man
comando es un excelente lugar para comenzar.
man dpkg
puede darle todas las opciones, sin embargo:
dpkg es un administrador de paquetes para sistemas basados en Debian. Puede instalar, eliminar y construir paquetes, pero a diferencia de otros sistemas de administración de paquetes, no puede descargar e instalar automáticamente paquetes y sus dependencias.
Básicamente, es apt-get sin resolución de dependencias, y se usa para instalar archivos .deb.
Sin embargo, le advierto: NO se recomienda desinstalar paquetes usando dpkg, en la mayoría de los casos. Es mejor usar un administrador de paquetes que maneje las dependencias, para garantizar que el sistema esté en un estado consistente.
Por ejemplo, utilizando dpkg -r zip
puede eliminar el paquete zip, pero los paquetes que dependen de él todavía se instalarán y es posible que ya no funcionen correctamente.
Puede leer más sobre esto en la guía del servidor y en otros lugares .