Tema: dpkg
-
Códigos de salida de apt-get, dpkg, dnf y zypper: cuándo 100 significa actualizaciones y no un fallo
apt-get usa una división simple: 0 es éxito y 100 es error. dpkg distingue una comprobación fallida (1) de un error fatal de uso o del sistema (2). El check-update de dnf reutiliza 100 para indicar que SÍ hay actualizaciones disponibles, no un error. zypper define todo un rango, 100-107, de códigos informativos (no de error), por ejemplo para un reinicio pendiente, aunque 104 (paquete no encontrado) y 105 (interrumpido) significan que la acción no se realizó. Leer cualquiera de ellos como un simple booleano de éxito o fallo hace perder información real.
-
Comprobar la integridad de los paquetes instalados en Debian y Ubuntu con debsums y dpkg --verify
debsums compara los archivos instalados con las sumas MD5 registradas en el momento de compilar el paquete, dpkg --verify (desde dpkg 1.17.2) compara los metadatos registrados en la propia base de datos de dpkg, y dpkg -S/-L responden a «qué paquete es dueño de este archivo» y «qué archivos instaló este paquete» antes de decidir si reinstalarlo.
-
Ejecutar apt y dpkg de forma no interactiva en Debian y Ubuntu sin que se bloqueen en las preguntas
Una ejecución de apt-get o dpkg desde un script puede quedarse detenida por una pregunta de debconf, una consulta sobre un archivo de configuración modificado o un bloqueo de dpkg retenido. Si se define DEBIAN_FRONTEND, se usan las opciones confold/confdef adecuadas y se preconfiguran antes las respuestas de debconf, la instalación termina correctamente o falla con un error claro.
Legible por máquina: JSON