1. Introducció
Si durant la instal·lació d'un paquet o l'actualització del sistema es produeix un error no controlat o s'apaga l'equip de manera inesperada, el sistema de gestió de paquets (Dpkg i Apt) o el Lliurex-Up poden quedar bloquejats, i impedir que es puguen tornar a utilitzar.
Juntament amb l'opció per solucionar els bloquejos comentats anteriorment, s'ha afegit una nova possibilitat que permet gestionar la protecció del metapaquet. Això ajudarà a previndre l'eliminació accidental de paquets essencials per al sistema que podrien deixar-lo en un estat inconsistent o fins i tot inutilitzable.
Per a facilitar totes dues gestions s'ha desenvolupat l'aplicació Dpkg-Unlocker. Compta amb un mode gràfic (dpkg-unlocker-gui) i una versió per a terminal (dpkg-unlocker-cli). A continuació, es descriu com funciona.
2. Dpkg-Unlocker-Gui
Per a executar l'aplicació cal accedir al Zero-center i en la secció “Sistemes” executar l'ordre (zomando) corresponent a dpkg-unlocker.
L'aplicació disposa de 4 panells:
- Serveis: des d'on es pot gestionar tot allò relacionat amb el bloqueig dels serveis monitorats (LliureX-Up, Apt i Dpkg).
- Restaura serveis: des d'on es pot executar el procés de restauració dels serveis.
- Procés de desbloqueig: es pot consultar el detall de les accions realitzades per a intentar solucionar el bloqueig detectat.
- Protecció del metapaquet: per a gestionar l'activació/desactivació d'aquesta protecció.
2.1. Desbloqueig dels serveis
Quan s'executa dpkg-unlocker-gui, es realitza una comprovació sobre l'estat del Lliurex-Up, Dpkg i Apt i el mostra en la finestra principal de l'aplicació.
Es mostren a continuació exemples de situacions diferents que es poden detectar.
- No es detecta cap bloqueig:
- Es detecten bloquejos però es deuen al fet que hi ha processos en marxa:
En el cas que es detecte que el Lliurex-Up, Apt, o Dpkg estan bloquejats però no hi ha cap procés associat en marxa, dpkg-unlocker considera que la situació és anòmala i habilita la possibilitat d'executar la rutina de desbloqueig.
En fer clic sobre el botó “Desbloqueja” es demanarà confirmació a l'usuari per a executar la rutina de desbloqueig.
Si accepteu, el procés s'executa i podeu seguir-ne l'evolució des del panell Procés de desbloqueig
En finalitzar, es mostra l'estat en què han quedat el Lliurex-Up, Apt i Dpkg i, a més, s'indica si el procés de desbloqueig ha finalitzat correctament o si per contra s'hi han produït errors.
Si es detecta que el Lliurex-Up, Dpkg o Apt estan bloquejats a causa d'un error, però al mateix temps algun d'aquests està bloquejat perquè hi ha processos en marxa, no es podrà executar la rutina de desbloqueig. Serà necessari esperar uns minuts i tornar a executar dpkg-unlocker per a veure si ja és possible executar el procés de desbloqueig
2.2. Restauració dels serveis
Si durant la instal·lació d'un paquet o l'actualització del sistema es produeix algun tipus d'error que impedisca que els paquets corresponents queden correctament configurats, és possible que no puguen instal·lar-se altres paquets o actualitzar de nou el sistema.
En aquesta situació en intentar instal·lar un paquet o actualitzar el sistema mostra en la terminal un missatge similar a aquest:
En aquests casos mitjançant l'opció disponible en Dpkg-Unlocker (només en LliureX 21) pot solucionar-se aquest problema. Per a això s'accedirà al panell Restaura serveis
Per a iniciar el procés de restauració es farà clic a Restaura i es confirmarà l'acció.
Els detalls del procés poden consultar-se en el panell Detalls del Procés
NOTA:
El procés de restauració només pot executar-se sinó existeixen bloquejos en els serveis involucrats i aquests processos no estan sent executats
2.3. Protecció del metapaquet
Aquesta protecció impedeix que el metapaquet del sistema siga desinstal·lat (bé de forma directa o indirectament en desinstal·lar alguna aplicació que forma part d'aquest), la qual cosa pot provocar que el sistema es comporte de manera inconsistent.
En general, no hi ha cap situació que implique la necessitat de desactivar aquesta protecció, però si en algun moment es considera oportú, per a desactivar-la, simplement es desmarcara el check corresponent.
En fer clic en Aplicar es mostrarà un quadre de diàleg per a confirmar l'acció.
En desactivar la protecció del metapaquet, es mostrarà un missatge informatiu que adverteix del risc que comporta aquesta acció.
Per a activar de nou la protecció, serà suficient de marcar de nou el check i aplicar els canvis.
3. Dpkg-Unlocker-Cli
Per a executar la versió per a terminal de dpkg-unlocker cal obrir un terminal i escriure sudo dpkg-unlocker-cli -h. Es mostrarà una ajuda amb els modes de funcionament de l'eina.
3.1. Desbloqueig dels serveis
Amb l'ordre sudo dpkg-unlocker-cli showservices es mostra l'estat del Lliurex-Up, Dpkg i Apt:
Amb l'ordre sudo dpkg-unlocker-cli unlock es mostra l'estat del Lliurex-Up, Dpkg i Apt. Alguns exemples:
- No s'ha detectat cap bloqueig:
- Processos bloquejats perquè estan en execució:
- Processos bloquejats per error i altres bloquejats per estar en execució:
En cas que la situació detectada així ho requerisca es demanarà a l'usuari la confirmació per a executar el procés de desbloqueig:
Si s'executa sudodpkg-unlocker-cli unlock -u o (--unattended), la rutina de desbloqueig s'executarà (si la situació detectada ho permet) sense demanar confirmació a l'usuari.
Si s'executa l'ordre sudo dpkg-unlocker unlock -k o (--kill) es podrà executar la rutina de desbloqueig, fins i tot encara que el bloqueig s'haja produït a causa de l'existència de processos associats en marxa. Aquesta opció només ha d'executar-se si s'està completament segur que els processos en marxa estan “penjats” i es considera que la situació pot solucionar-se “matant” els processos que estan en execució. Una mala utilització d'aquesta opció pot provocar que el sistema quede en una situació inconsistent que requerisca executar accions de reparació de manera manual per part de l'usuari
3.2. Restauració dels serveis
Per a executar el procés de restauració dels serveis mitjançant dpkg-unlocker-cli s'utilitzarà l'ordre: dpkg-unlocker-cli restore
Després de confirmar l'acció (si no s'està usant la manera desatesa) s'iniciarà el procés de restauració
3.3. Protecció del metapaquet
Mitjançant l'opció showprotection es mostra l'estat en què es troba la protecció del metapaquet.
Per a desactivar aquesta protecció, és suficient d'usar el comandament dpkg-unlocker-cli disableprotection.
A continuació, si es confirma l'acció, la protecció serà desactivada.
Per a activar-la de nou, el comandament a usar seria: dpkg-unlocker-cli enableprotection.