Abbiamo visto qui come passare da una versione di openSUSE a quella successiva in linea, con un minimo tempo di inattività dovuto al riavvio dopo l’aggiornamento. Però nel caso in cui la nostra installazione fosse particolarmente datata, il processo risulterebbe alquanto laborioso, con il rischio di finire con un’installazione non funzionante per qualcosa che ha interrotto il passaggio di versione (mancanza di corrente, disconnessione dalla rete, o altro). Quindi, se qualche ora di non disponibilità dei servizi installati non è un problema, è preferibile ricorrere all’aggiornamento tradizionale non in linea.
Si tratta di far partire il sistema da DVD (o da chiavetta USB) e selezionare upgrade invece di install. Il metodo è più sicuro e versatile dell’aggiornamento a caldo con zypper dup, perché il sistema operativo originale rimane non in linea e l’aggiornamento viene fatto da un piccolo sistema live che parte da DVD1.
Dato che il DVD non contiene tutti i pacchetti disponibili, molto probabilmente non sarà possibile aggiornare alcuni pacchetti installati, ma bisognerà sistemarli successivamente. Un altro problema è costituito dal fatto che i file di backup creati potrebbero esaurire tutto lo spazio della partizione di root.
Nuova installazione o aggiornamento
Perché preferire un aggiornamento ad un’installazione ex novo? Con la nuova installazione ci si libera di vecchie librerie, di configurazioni non funzionanti, i dati contenuti nella partizione /home, se non formattata, sono mantenuti. L’installazione è generalmente più rapida e meno problematica.
Comunque, altri dati non sono mantenuti, come i database MariaDB, l’archiviazione delle email IMAP, le configurazioni di sistema, come quelle per Postfix o Apache. Tutto ciò rende un aggiornamento più conveniente e può realmente far risparmiare tempo in caso di configurazioni server che richiedono ben più di qualche ora per la messa a punto ex novo.
Migrazione ad una nuova versione di Leap offline
Così come l’aggiornamento a caldo, anche l’aggiornamento non in linea potrebbe fallire. E’ quindi fortemente consigliato eseguire un backup completo prima di procedere. Se l’aggiornamento non riesce, è possibile ripristinare e riprovare, modificando ciò che è necessario per evitare il problema precedente, installare di nuovo o tentare un aggiornamento live.
Preparazione all’aggiornamento di versione
- Fai un backup completo prima di procedere con l’aggiornamento.
- Assicurati di leggere la lista dei bug e le note di rilascio per la versione che intendi installare e, eventualmente, per le versioni intermedie.
- Installa tutti gli aggiornamenti disponibili per la versione corrente, prima di procedere.
- Il salto di 3 o 4 versioni potrebbe funzionare, ma non è assicurato, rimane consigliato procedere dalla versione installata a quella immediatamente successiva.
- Scarica l’immagine iso della versione che intendi installare, verifica il checksum e masterizza il DVD, o crea una chiavetta USB avviabile2. Non puoi utilizzare i CD live per l’aggiornamento.
- Assicurati di avere spazio libero sufficiente in tutte le partizioni di sistema. Il processo di aggiornamento non fa questa verifica, la mancanza di spazio bloccherà il processo e renderà il sistema non più funzionante, né quello aggiornato, né quello precedente.
Avvio dell’aggiornamento
Avvia da DVD (o USB) e seleziona upgrade3
Scegli la lingua d’installazione e la tastiera
Scegli poi la partizione da aggiornare
Tutti i repository precedentemente utilizzati sono rimossi, in quanto puntano alla vecchia distribuzione
Attiva i repository per la nuova distribuzione
Di norma si attivano solo i repository oss e non-oss, dato che tutto quello che risulta installato ma non disponibile nel DVD non verrà aggiornato e rimarrà alla versione della distribuzione precedente
La schermata Installation settings, parte centrale del processo di aggiornamento, consiste delle seguenti sezioni:
- System
- Update Options
- Packages
- Backup
- Language
- Keyboard Layout
- Booting
Se vedi qualcosa che non va, puoi fare clic sulla sezione interessata e correggere le impostazioni. In particolare nella sezione Packages è importante risolvere i possibili conflitti tra i pacchetti installati e gli aggiornamenti disponibili. Se si verificano conflitti o dipendenze non risolte, è meglio disinstallare i pacchetti in conflitto e fare riprovare l’operazione al gestore dei pacchetti.
Una volta apportate le modifiche, puoi fare click su Update
Il processo di aggiornamento è piuttosto lento rispetto ad una nuova installazione, soprattutto in una macchina non particolarmente performante può durare anche diverse ore.
Ci potrebbero essere dei pacchetti che non è possibile installare correttamente, ma in questa fase non puoi fare nulla.
Alla fine l’aggiornamento termina e la macchina si riavvia.
Dopo l’aggiornamento
Ci sono ancora alcune operazioni da completare dopo che l’aggiornamento è apparentemente finito.
Pacchetti non aggiornati
Probabilmente il DVD non fornisce alcuni dei pacchetti nel sistema installato, che dovranno essere scaricati dai repository di openSUSE, o da altri repository.
Assicurati che l’elenco dei repository sia corretto.
Possibili correttivi:
- Esegui zypper dup. Scarica nuovamente tutti i pacchetti, da evitare in quanto potenzialmente rischioso per l’integrità del sistema.
- Esegui zypper up. Più sicuro, aggiorna tutto ciò che ha una nuova versione online (senza cambio di fornitore).
- Esegui una ricerca nel database rpm e aggiorna manualmente ciò che è necessario aggiornare. Per esempio, puoi utilizzare uno dei seguenti script, il primo genera un file csv, che può essere importato in un foglio di calcolo per essere esaminato
rpm -q -a --queryformat "%{INSTALLTIME};%{INSTALLTIME:day}; \
%{BUILDTIME:day}; %{NAME};%{VERSION}-%-7{RELEASE};%{arch}; \
%{VENDOR};%{PACKAGER};%{DISTRIBUTION};%{DISTTAG}\n" \
| sort | cut --fields="2-" --delimiter=\; \
| tee rpmlist.csv | less -S
il secondo genera una tabella per l’esame a video
rpm -q -a --queryformat "%{INSTALLTIME}\t%{INSTALLTIME:day} \
%{BUILDTIME:day} %-30{NAME}\t%15{VERSION}-%-7{RELEASE}\t%{arch} \
%25{VENDOR}%25{PACKAGER} == %{DISTRIBUTION} %{DISTTAG}\n" \
| sort | cut --fields="2-" | tee rpmlist | less -S
In entrambi i casi, l’elenco è ordinato per data di installazione di tutti i pacchetti nel sistema, con diversi campi che permettono di riconoscere se un pacchetto appartiene al vecchio sistema o al sistema aggiornato. A questo punto si tratta di aggiornare ciascuno di essi con zypper in nome_pacchetto, oppure di avviare il gestore YaST e selezionare uno per uno i pacchetti da aggiornare4.
Alla fine riavvia e verifica che tutto funzioni correttamente.
File di configurazione obsoleti
Il comando rpmconfigcheck genera un file con un elenco di file di configurazione eventualmente da controllare
rpmconfigcheck
Nell’esempio di cui sopra, la vecchia configurazione rimane attiva, e quella nuova dall’rpm è salvata con estensione rpmnew. Se fosse attivata la nuova configurazione, il vecchio file di configurazione verrebbe salvato con estensione rpmsave.
Puoi sia modificare la vecchia configurazione prendendo ciò che decidi dalla nuova, sia modificare la nuova e aggiungere i tuoi cambiamenti presi dalla precedente configurazione.
Conclusione
Alla fine lancia
zypper patch
oppure
YaST Online Update
yast2
Parliamone
Note
Se stai aggiornando a openSUSE 13.1 o versioni precedenti, scegli installation e nella shermata successiva (installation mode) seleziona update an existing system.
sudo zypper remove --clean-deps samba samba-client