Impossibile aggiornare Ubuntu 16.04 alla release 18.04

Impossibile aggiornare Ubuntu 16.04 alla release 18.04

tutoriallinuxubuntu

Lo ammetto: in passato ho sempre avuto esperienze terribili con l'avanzamento di versione di Ubuntu per cui preferisco sempre aggiornare eseguendo un'installazione pulita.

Questa volta però non avevo proprio voglia di fare tutta la trafila necessaria a riconfigurare un nuovo sistema operativo da capo. Dovendo passare da una LTS alla successiva ed essendo il PC in questione utilizzato principalmente per la navigazione Internet ho deciso di tentare la sorte ed eseguire l'upgrade da Ubuntu 16.04 ad Ubuntu 18.04.

E' andato tutto liscio? Non proprio...

Il problema #

Mi appresto ad avviare l'aggiornamento all'ultima release rigorosamente da terminale tramite il comando:

sudo do-release-upgrade

Nel terminale le scritte cominciano a scorrere ed io attendo fiducioso che il processo mi chieda la conferma per l'installazione del nuovo aggiornamento... e invece compare il messaggio Ripristino dello stato originale del sistema

Verifica un nuovo rilascio di ubuntu
Scaricamento di:1 Firma dello strumento di avanzamento versione \[819 B\]
Scaricamento di:2 Strumento di avanzamento versione \[1.242 kB\]
Recuperati 1.243 kB in 0s (0 B/s)
autenticazione di «bionic.tar.gz» con «bionic.tar.gz.gpg»
estrazione di «bionic.tar.gz»

Lettura della cache

Controllo gestore dei pacchetti
Lettura elenco dei pacchetti... Fatto
Generazione albero delle dipendenze
Lettura informazioni sullo stato... Fatto
Trovato http://it.archive.ubuntu.com/ubuntu xenial InRelease
Trovato http://it.archive.ubuntu.com/ubuntu xenial-updates InRelease
Scaricamento di:1 http://security.ubuntu.com/ubuntu xenial-security InRelease \[109 kB\]
Trovato http://it.archive.ubuntu.com/ubuntu xenial-backports InRelease
Recuperati 109 kB in 0s (0 B/s)
Lettura elenco dei pacchetti... Fatto
Generazione albero delle dipendenze
Lettura informazioni sullo stato... Fatto

Ripristino dello stato originale del sistema

Interruzione
Lettura elenco dei pacchetti... Fatto
Generazione albero delle dipendenze
Lettura informazioni sullo stato... Fatto

Cosa diavolo può essere andato storto? E' vero che è una vecchia versione di Ubuntu ma è anche vero che a parte 4-5 programmi non c'è quasi nulla di installato. Un po' sfiduciato allora decido di provare a vedere se nei log c'è qualche informazione utile che mi aiuti a capire cosa è andato storto. Apro il file /var/log/dist-upgrade/DATA_TENTATIVO_UPGRADE/main.log e leggo:

2019-11-30 11:00:49,902 INFO Using config files '\['./DistUpgrade.cfg.xenial'\]'
2019-11-30 11:00:49,903 INFO uname information: 'Linux lorenzo-Lenovo-G580 4.15.0-70-generic #79~16.04.1-Ubuntu SMP Tue Nov 12 14:01:10 UTC 2019 x86\_64'
2019-11-30 11:00:50,269 INFO apt version: '1.2.32'
2019-11-30 11:00:50,269 INFO python version: '3.5.2 (default, Oct  8 2019, 13:06:37)
\[GCC 5.4.0 20160609\]'
2019-11-30 11:00:50,273 INFO release-upgrader version '18.04.36' started
2019-11-30 11:00:50,283 INFO locale: 'it\_IT' 'UTF-8'
2019-11-30 11:00:50,347 INFO screen could not be run
2019-11-30 11:00:50,537 DEBUG Using 'DistUpgradeViewText' view
2019-11-30 11:00:50,596 DEBUG enable dpkg --force-overwrite
2019-11-30 11:00:50,635 DEBUG creating statefile: '/var/log/dist-upgrade/apt-clone\_system\_state.tar.gz'
2019-11-30 11:00:55,723 DEBUG lsb-release: 'xenial'
2019-11-30 11:00:55,724 DEBUG \_pythonSymlinkCheck run
2019-11-30 11:00:55,726 DEBUG openCache()
2019-11-30 11:00:55,726 DEBUG No such plugin directory: ./plugins
2019-11-30 11:00:55,726 DEBUG plugins for condition 'PreCacheOpen' are '\[\]'
2019-11-30 11:00:55,726 DEBUG plugins for condition 'bionicPreCacheOpen' are '\[\]'
2019-11-30 11:00:55,726 DEBUG plugins for condition 'from\_xenialPreCacheOpen' are '\[\]'
2019-11-30 11:00:55,727 DEBUG quirks: running PreCacheOpen
2019-11-30 11:00:55,727 DEBUG running Quirks.PreCacheOpen
2019-11-30 11:00:56,354 DEBUG /openCache(), new cache size 90197
2019-11-30 11:00:56,354 DEBUG need\_server\_mode(): run in 'desktop' mode, (because of pkg 'ubuntu-desktop')
2019-11-30 11:00:56,354 DEBUG checkViewDepends()
2019-11-30 11:00:56,355 DEBUG running doUpdate() (showErrors=False)
2019-11-30 11:00:57,702 DEBUG openCache()
2019-11-30 11:00:58,373 DEBUG /openCache(), new cache size 90197
2019-11-30 11:00:58,373 DEBUG doPostInitialUpdate
2019-11-30 11:00:58,373 DEBUG plugins for condition 'PostInitialUpdate' are '\[\]'
2019-11-30 11:00:58,373 DEBUG plugins for condition 'bionicPostInitialUpdate' are '\[\]'
2019-11-30 11:00:58,373 DEBUG plugins for condition 'from\_xenialPostInitialUpdate' are '\[\]'
2019-11-30 11:00:58,373 DEBUG quirks: running bionicPostInitialUpdate
2019-11-30 11:00:58,374 DEBUG running Quirks.bionicPostInitialUpdate
2019-11-30 11:01:03,393 DEBUG abort called
2019-11-30 11:01:03,394 DEBUG openCache()
2019-11-30 11:01:04,067 DEBUG /openCache(), new cache size 90197

Il problema sembra essere causato dopo che viene registrato running Quirks.bionicPostInitialUpdate.

Vuoi vedere che alla fine mi conveniva davvero fare un installazione pulita anche questa volta?

Decido di non darmi per vinto e provare a cercare su Google una possibile soluzione al problema.

Tra i vari risultati trovo una segnalazione di un bug di Ubuntu in cui viene indicato come colpevole snapd.

Provo a verificare se nel mio sistema il servizio snapd sia avviato correttamente con il comando:

sudo service snapd status

e a quanto pare effettivamente sembra esserci un problema:

nov 30 10:53:00 lorenzo-Lenovo-G580 systemd[1]: snapd.service: Failed with resul
nov 30 10:53:01 lorenzo-Lenovo-G580 systemd[1]: snapd.service: Service hold-off
nov 30 10:53:01 lorenzo-Lenovo-G580 systemd[1]: Stopped Snappy daemon.
nov 30 10:53:01 lorenzo-Lenovo-G580 systemd[1]: snapd.service: Start request rep
nov 30 10:53:01 lorenzo-Lenovo-G580 systemd[1]: Failed to start Snappy daemon.
nov 30 10:53:01 lorenzo-Lenovo-G580 systemd[1]: snapd.service: Unit entered fail
nov 30 10:53:01 lorenzo-Lenovo-G580 systemd[1]: snapd.service: Triggering OnFail
nov 30 10:53:01 lorenzo-Lenovo-G580 systemd[1]: snapd.service: Failed with resul
nov 30 11:04:11 lorenzo-Lenovo-G580 systemd[1]: Stopped Snappy daemon.

La soluzione #

Apparentemente il colpevole è il servizio snapd di Ubuntu che avendo qualche problema impedisce l'avanzamento di versione. Decido quindi di tagliare la testa al toro e di provare una rimozione e reinstallazione del servizio con i comandi:

sudo apt purge snapd && sudo apt install snapd

Infine, rilanciando l'installazione con il comando sudo do-release-upgrade, l'installazione della nuova versione inizia correttamente e riesce a completarsi con successo. Questo post è stato scritto direttamente dal PC appena aggiornato ad Ubuntu 18.04 :)

Se questo post ti è stato utile puoi farmelo sapere scrivendomi direttamente su Telegram. Inoltre ti invito ad iscriverti al mio canale Telegram e a seguirmi su Twitter per non perderti nemmeno un post del mio blog. A presto!