Si durante la instalación de un paquete o la actualización del sistema se produce un error no controlado o se apaga el equipo de forma inesperada el sistema de gestión de paquetes (Dpkg y Apt) o el Lliurex-Up pueden quedar bloqueados, impidiendo que puedan ser utilizados de nuevo.
Junto con la opción para solucionar los bloqueos comentados anteriormente se ha añadido una nueva posibilidad que permite gestionar la protección del metapaquete. Esto ayudará a prevenir la eliminación accidental de paquetes esenciales para el sistema que podrían dejarlo en un estado inconsistente o incluso inutilizable.
Para facilitar ambas gestiones se ha desarrollado la aplicación Dpkg-Unlocker. Cuenta con un modo gráfico (dpkg-unlocker-gui) y una versión para terminal (dpkg-unlocker-cli). A continuación se describe su funcionamiento.
Para ejecutar la aplicación hay que acceder al zero-center y en la sección “Sistemas” lanzar el zomando correspondiente a dpkg-unlocker.
La aplicación cuenta con 3 paneles:
Cuando se lanza dpkg-unlocker-gui realiza una comprobación sobre el estado deLliurex-Up, Dpkg y Apt y lo muestra en la ventana principal de la aplicación.
Se muestran a continuación ejemplos de distintas situaciones que pueden ser detectadas.
En el caso de que se detecte que Lliurex-Up, Apt, o Dpkg estan bloqueados pero no hay ningún proceso asociado en marcha, dpkg-unlocker considera que la situación es anómala y habilita la posibilidad de ejecutar la rutina de desbloqueo.
Al hacer clic sobreel botón “Desbloquear” se pedirá confirmación al usuario para lanzar la rutina de desbloqueo.
Si acepta el proceso se ejecuta, pudiendo seguir la evolución del mismo desde el panel Detalles del Proceso
Al finalizar se muestra el estado en que han quedado Lliurex-Up, Apt y Dpkg, indicando además si el proceso de desbloqueo ha finalizado con éxito o si por el contrario se han producido errores en el mismo.
Si se detecta que Lliurex-Up, Dpkg o Apt están bloqueados debido a un error, pero al mismo tiempo alguno de ellos esta bloqueado porque hay procesos en marcha no se podrá ejecutar la rutina de desbloqueo. Será necesario esperar unos minutos y volver a ejecutar dpkg-unlocker para ver si ya es posible ejecutar el proceso de desbloqueo
Si durante la instalación de un paquete o la actualización del sistema se produce algún tipo de error que impida que los paquetes correspondientes queden correctamente configurados, es posible que no puedan instalarse otros paquetes o actualizar de nuevo el sistema.
En esta situación al intentar instalar un paquete o actualizar el sistema muestra en la terminal un mensaje similar a este:
En estos casos mediante la opción disponible en Dpkg-Unlocker (sólo en LliureX 21) puede solucionarse este problema. Para ello se accedera al panel Restaurar servicios
Para iniciar el proceso de restauración se hará clic en Restaurar y se confirmará la acción.
Los detalles del proceso pueden consultarse en el panel Detalles del Proceso
NOTA:
El proceso de restauración sólo puede ejecutarse sino existen bloqueos en los servicios involucrados y dichos procesos no están siendo ejecutados
Esta protección impide que el metapaquete del sistema sea desinstalado (bien de forma directa o indirectamente al desintalar alguna aplicación que forma parte del mismo), lo que puede provocar que el sistema se comporte de forma inconsistente.
En general no hay ninguna situación que implique la necesidad de desactivar esta protección, pero si en algún momento se considera oportuno para desactivar la misma, simplemente se desmarcara el check correspondiente.
Al hacer clic en Aplicar se mostrará un cuadro de dialogo para confirmar la acción.
Al desactivar la protección del metapaquete se mostrará un mensaje informativo advirtiendo del riesgo que comporta esta acción.
Para activar de nuevo la protección, bastará con marcar de nuevo el check y aplicar los cambios.
Para ejecutar la versión para terminal de dpkg-unlocker hay que abrir una terminal y escribir: sudo dpkg-unlocker-cli -h. Se mostrará una ayuda con los modos de funcionamiento de la herramienta.
Mediante el comando sudo dpkg-unlocker-cli showservices se muestra el estado de Lliurex-Up,Dpkg y Apt:
Mediante el comando sudo dpkg-unlocker-cli unlock se muestra el estado de Lliurex-Up,Dpkg y Apt. Algunos ejemplos
En caso de que la situación detectada así lo requiera se pedirá al usuario la confirmación para lanzar el proceso de desbloqueo:
Si se ejecuta sudodpkg-unlocker-cli unlock -u o (--unattended) la rutina de desbloqueo se lanzará (si la situación detectada lo permite) sin pedir confirmación al usuario.
Si se ejecuta el comando sudo dpkg-unlocker unlock -k o (--kill) se podrá lanzar la rutina de desbloqueo incluso aunque el bloqueo se deba a la existencia procesos asociados en marcha. Esta opción sólo debe ejecutarse si se esta complementamente seguro de que los procesos en marcha están “colgados” y se considera que la situación puede solucionarse “matando” los procesos que estan ejecutándose. Una mala utilización de esta opción puede provocar que el sistema quede en una situación inconsistente que requiera ejecutar acciones de repación de forma manual por parte del usuario
Para ejecutar el proceso de restauración de servicios mediante dpkg-unlocker-cli se usará el comando: dpkg-unlocker-cli restore
Trás confirmar la acción(si no se esta usando el modo desatendido) se ejecutará el proceso
Mediante la opción showprotection se muestra el estado en que se encuentra la protección del metapaquete.
Para desactivar esta protección, basta usar el comando dpkg-unlocker-cli disableprotection.
A continuación, si se confirma la acción, la protección será desactivada.
Para activarla de nuevo, el comando a usar sería: dpkg-unlocker-cli enableprotection