L’upgrade da Raspbian Jessie a Raspbian 9 Stretch è una procedura semplice. Comunque sia, a scopo del tutto precauzionale, è bene effettuare un backup dei dati sensibili, poiché non sempre le cose vanno per il meglio durante questa fase. Ricordo anche che meno pacchetti e servizi di terze parti sono installati e più sarà probabile che l’upgrade vada a buon fine. Ecco un elenco delle raccomandazioni:

  1. Rimuovere i pacchetti non necessari o obsoleti (con apt-get purge <nomepacchetto> e apt-get autoremove);
  2. Fare il backup dei dati e della configurazione (ad esempio è bene salvarsi una copia dei files in /etc ritenuti importanti);
  3. Effettuare l’upgrade direttamente da console;
  4. Rimuovere eventuali software di terze parti, per poi reinstallarli in un secondo momento, se necessari.

 

Attenzione: MariaDB è il nuovo database SQL di default in Debian 9 Stretch. Questo introduce un nuovo tipo di file di database, che non è compatibile con le vecchie versioni, quindi è incompatibile con Debian 8 Jessie. Durante l’upgrade i tuoi database saranno migrati alla nuova versione automaticamente. In caso di problemi non sarà possibile tornare indietro, una volta completato l’upgrade. Per questo motivo è importante effettuare il backup di tutti i database, prima di passare a Debian 9 Stretch!

Maggiori informazioni: click qui.

Fatte queste premesse, vediamo ora come procedere con l’aggiornamento del sistema. Innanzitutto bisognerà installare i pacchetti più recenti per l’attuale release di Debian 8 Jessie, quindi andare ad utilizzare il comando (come root oppure premettendo sudo):

apt-get update && apt-get dist-upgrade -y

In maniera tale da avere tutto aggiornato alla versione più recente. Dopodiché si potrà passare ad effettuare un controllo preventivo per verificare lo stato del sistema e vedere quindi se ci sono inconsistenze. Per fare questo utilizzeremo, sempre come root:

dpkg -C

Se non ci sono errori/segnalazioni, bisognerà andare a vedere se ci saranno pacchetti mantenuti alla versione meno recente:

apt-mark showhold

Questo tipo di pacchetti non verrà aggiornato, poiché creerebbero problemi. Per il completamento dell’upgrade a Stretch, sarebbe meglio che nessun pacchetto sia mantenuto a una versione non aggiornata, perché questo comporterebbe possibili problemi sul nuovo sistema. È quindi altamente consigliato cercare di risolvere i problemi segnalati dai 2 comandi precedenti.

A questo punto si può passare ad effettuare l’aggiornamento vero e proprio del sistema, inserendo nei files utilizzati da apt i nuovi repositories.

In particolare bisognerà modifcare /etc/apt/sources.list. Questo andrà fatto per ogni file elencato dal comando:

 grep -Inr jessie /etc/apt/

Per fare ciò utilizzeremo:

sed -i 's/jessie/stretch/g' /etc/apt/sources.list

Questo comando rimpiazzerà ogni corrispondenza di “jessie” con “stretch” al fine di abilitare i nuovi repositories. Una volta finito di aggiornare i vari files, sarà sufficiente effettuare un aggiornamento dell’indice dei pacchetti locali:

apt-get update

Prima di effettuare l’upgrade in maniera non reversibile, è bene effettuarne una simulazione, per provare a vedere se ci saranno eventuali problemi. Per fare questo, utilizzeremo:

apt-get --simulate upgrade

Che in sostanza non fa altro che simulare l’installazione del nuovo sistema.

Durante l’aggiornamento ti potrebbe essere richiesto di dover riavviare alcuni servizi legati a determinate librerie, come ad esempio libpam, libc e libssl. Dal momento che tali componenti potrebbero causare interruzioni di servizio sul sistema, ti verrà richiesto se desideri riavviarli, dopo ogni aggiornamento installato. Puoi decidere di evitarli e saranno riavviati automaticamente senza chiederti nulla.

Testo originale:

There are services installed on your system which need to be restarted when certain libraries, such as libpam, libc, and libssl, are upgraded. Since these restarts may cause interruptions of service for the system, you will normally be prompted on each upgrade for the list of services you wish to restart. You can choose this option to avoid being prompted; instead, all necessary restarts will be done for you automatically so you can avoid being asked questions on each library upgrade.

Restart services during package upgrades without asking?

A questo punto bisognerà decidere se permettere al sistema di fare tutto automaticamente o se per ogni servizio interessato dall’upgrade richiedere una scelta effettuata dall’utente. Il mio consiglio è quello di lasciar fare tutto al sistema automaticamente. Quando sei pronto, esegui il seguente comando, per lanciare l’upgrade a Raspbian 9 Stretch:

apt-get upgrade && apt-get dist-upgrade -y

Dopodiché riavvia il sistema, se tutto è andato a buon fine ti ritroverai con Raspbian 9 Stretch!