Introduzione
Voglio raccontarvi lo sfortunato aggiornamento di Ubuntu 22.04 a 24.04, anche perchè così lascio un appunto sul prossimo aggiornamento con problemi.
A grandi linee l’aggiornamento di Ubuntu prevede le seguenti fasi:
- aggiornamento dei repository alla nuova versione, cambio file source con la nuova versione
- disabilitare tutti i repository di terze parti
- aggiornamento dei pacchetti core (apt upgrade)
- rimozione pacchetti non usati o vecchi (atp autoremove)
- riavvio
- manualmente aggiornamento completo (apt full-upgrade)
- riabilitazione dei repository di terze parti
- aggiornamento dei pacchetti di terze parti
Con la nuova versione magari cambia qualcosa e si devono sostituire i file /etc/apt/sources.list.d/ .
Ovviamente lo script di avanzamento di versione fa molto di più, ma i passi sono più o meno questi.
Se però qualcosa va storto, come nel mio secondo aggiornamento dove avevo eliminato snap dal PC, l’installazione di thunderbird ha bloccato l’avanzamento dei pacchetti, rendendo il mio PC inutilizzabile.
Prima di riavviare in questo caso ci sono dei passaggi da fare manualmente:
- disinstallare il pacchetto con errori, tralasciando le dipendenze
- correggere le dipendenze nel sistema apt
- riprendere l’aggiornamento
- installare tutti gli aggiornamenti (full-upgrade)
- correggere grub per il boot
- riavviare
- riabilitare i repository di terze parti ed aggiornare
Nel mio caso però ho erroneamente riavviato, così il mio PC che ha la partizione di root cifrata, non ripartiva più.
Quindi come sono ripartito? … vediamo!
Preparare una chiavetta live
Ho preparato una chiavetta con una live di Ubuntu 24.04 e avviato il mio PC con la chiavetta.
Procedura per il chroot da live
Questi i passi che ho seguito:
- sbloccare la partizione cifrata grazie a nautilus della live
- la password per sbloccare la cifratura la devi sapere
- aprire un terminale
- predisporre l’ambiente di chroot:
# sudo mkdir /mnt/root # sudo mount /dev/nvmen1p3 /mnt/root/ # sudo mount /dev/nvmen1p2 /mnt/root/boot # sudo mount /dev/nvmen1p1 /mnt/root/boot/efi # sudo mount -o bind /proc /mnt/root/proc # sudo mount -o bind /sys /mnt/root/sys # sudo mount -o bind /run /mnt/root/run # sudo mount -o bind /dev /mnt/root/dev # sudo mount -t ptsfs /dev/pts /mnt/root/dev/pts # sudo chroot /mnt/root
Ora recuperiamo l’errore rimuovendo il pacchetto:
Recupero dagli errori sui pacchetti
Recupero i pacchetti che vanno disinstallati:
# sudo dpkg -l | grep ^..R # sudo dpkg --purge --force-depends <nome pacchetto> # sudo dpkg --configure -a # sudo apt --fix-broken install # sudo apt full-upgrade
Verificare la configurazione della partizione cifrata
Come descrivevo nell’introduzione, il mio portatile ha la partizione di root cifrata.
Non so per quale motivo, durante l’aggiornamento interrotto, ha scombinato la configurazione. Risultato il sistema non ripartiva e dopo un paio di lampeggi andava sul menù del BIOS del PC.
Seguendo l’intera procedura per il chroot, descritta prima ho aggiornato grub.
# sudo update-grub
Durante questa fase ho notato un messaggio di attenzione, che indicava una mancata corrispondenza per il disco luks-19b1352d-…-b5eee79586f7
Ho quindi editato il file /etc/crypttab, dove ho trovato la riga precedente di configurazione e ne ho cambiato l’identificativo, allineandolo a quello segnalato.
# cat /etc/crypttab luks-19b1352d-...-b5eee79586f7 UUID=19b1352d-...-b5eee79586f7 none luks,discard #nvme0n1p3_crypt UUID=19b1352d-...-b5eee79586f7 none luks,discard
Riavviando il comando di aggiornamento di grub, la segnalazione di attenzione è sparita e il PC è tornato come prima.
Riattivazione dei repository di terze parti
Con la nuova versione di Ubuntu, è cambiata la sintassi dei file per i repository.
Ho preferito quindi visualizzare quelli che avevo in precedenza, contenuti in /etc/apt/sources.list.d/ e ri-aggiungerli a mano, seguendo le indicazioni dei siti specifici. Alcuni applicativi, come kdenlive non hanno più i repository, ma distribuiscono il pacchetto con i sistemi: appimage, flatpak.
Riferimenti
Ogni singolo comando, che trovate qui sopra, è stato cercato in internet. Ho preferito raggruppare le varie ricerche in un’unica pagina in modo da poter, ricordarmelo in futuro oppure per poter aiutare qualcun altro.