Reconfigurar paquetes en Debian GNU/Linux

Como sabéis en Debian y sistemas operativos derivados usamos dpkg para gestionar los paquetes instalados, a través de apt podemos descargar de los repositorios los paquetes .deb y comenzar el proceso de instalación/actualización. Primeramente se descomprimen en bloque todos los paquetes que se descargan y posteriormente se configuran, es decir se ejecutan los scripts de postinstalación de cada paquete para finalizar la instalación.

¿Qué ocurre si se corta el proceso de configuración en bloque por un error? pues que hay paquetes que quedan sin configurar, pudiendo volver el sistema inestable, para eso podemos ayudarnos de la herramienta dpkg y terminar de configurar los paquetes pendientes, aunque yo recomiendo reconfigurarlos todos de vez en cuando, pudiendo así mantener un sistema Debian durante años de actualizaciones sin tener problemas.

Para reconfigurar todos los paquetes del sistema podemos utilizar el siguiente comando, que saca un listado de todos los paquetes instalados y los fuerza a volver a configurarse, que viene a ser lo mismo que volver a ejecutar los scripts de postinstalación de cada paquete cuando se instalan y terminando de instalar los pendientes:

$ sudo dpkg-reconfigure --force -pcritical $(dpkg -l | tail -n +6 | awk '{print $2}' | tr "\n" " ")

Después de ejecutar este comando se pone en marcha el proceso donde quizás aparezca algún menú para responder, suelo usar la opción -pcritical para que solamente pregunte lo justamente necesario intentando automatizar el proceso lo máximo posible.

Puede que algún paquete como grub sobreescriba el archivo /etc/default/grub por ejemplo, quitando otros sistemas operativos del arranque, volvemos a editar el archivo, hacemos sudo update-grub y volverán a aparecer.

Llevo años usando este procedimiento y aparte de ser una solución de botón gordo para mantener este tipo de sistemas es bastante efectiva.