Alcuni consigli per l'upgrade ad Opensuse 13.1 dalla versione 12.3
OpenSuse è una distro Linux che ha i suoi affezionati utenti. Il cambio da una versione all'altra (upgrade) è descritto ufficialmente QUI. In questo articolo vengono trattati alcuni problemi che si potrebbero verificare durante il passaggio di versione fatto mediante il comando zypper. Rispetto a quanto descritto nel tutorial del sito OpenSuse c'è poco da aggiungere. I passaggi sono chiari ed hanno comunque bisogno di un minimo di dimistichezza con il terminale. Per quanto riguarda i repository di terze parti se non sono particolarmente esoterici potete tranquillamente non rimuoverli prima dell'upgrade. Sicuramente quello per i driver NVidia delle schede grafiche può essere mantenuto e verrà automaticamente portato alla nuova versione. Gli accorgimenti da seguire sono altri. Ad esempio, fare l'upgrade solo se si è in possesso della versione precedente: è certamente più sicuro ai fini del buon risultato. Da versioni più vecchie è meglio reinstallare il sistema da DVD. Inoltre, dato che usiamo da terminale zypper, conviene dare i comandi non nell'ambiente grafico di un DE ma direttamente da console con CTRL-ALT F2 e dopo un login come amministratore. Questo ci permette di controllare meglio il procedimento che ha una certa durata di tempo. Quindi niente salvaschermi e potete tranquillamente lasciar lavorare il computer. Andiamo ora al problema che si potrebbe verificare: un blocco dell'aggiornamento con il necessario reboot della macchina ma con la sconcertante impossibilità di rientrare nel sistema per la perdita degli account (anche root!), probabilmente dovuta ad una non corretta installazione dei moduli pam. E' un inconveniente non indifferente, perchè non riuscirete ad entrare e fare nulla. Panico, quindi. In realtà il problema si risolve abbastanza facilmente usando il chroot. Per prima cosa, sperando che da qualche parte l'avete conservato, tirate fuori il DVD di una vecchia versione OpenSuse. Se non l'avete la procedura funziona lo stesso con un'altra distro Linux installata nell'HD. Se non avete neppure questa, scaricate o fatevi scaricare una versione Live di qualsiasi altra distro Linux, magari usando per il download anche Windows. L'unico importante accorgimento è che per funzionare chroot deve essere compatibile con l'architettura della macchina che c'interessa. Banalmente vuol dire che se dobbiamo entrare in una distro Linux a 32 bit dobbiamo usare chroot dentro un sistema operativo a 32 bit. Se invece accediamo da una a 32 bit ad una a 64 bit chroot darà errore. Fatta questa precisazione, proseguiamo e con il DVD di OpenSuse inserito (presupponendo che avete abilitato il boot con il dispositivo rimovibile nel Bios), scegliete, dopo aver modificato con F2 la lingua in italiano, l'opzione 'Salvataggio'. In tutti gli altri casi (distro Live di Linux o altra distro installata) accedete direttamente al sistema operativo. A questo punto dobbiamo sapere in quale partizione è installata OpenSuse. Se non lo sappiamo, usiamo il comando fdisk -l (da dare come root) che ci farà vedere tutte le partizioni con i filesystem presenti Con l'opzione 'Salvataggio' (Rescue) di OpenSuse loggatevi poi come root; idem aprendo un terminale negli altri casi. Dare questi comandi in successione:
mount /dev/sda2 /mnt (nell'esempio si suppone che la directory / di OpenSuse sia in /dev/sda2)
solo se per caso avete creato anche una partizione /boot o analoghe, montate pure quelle con mount /dev/sda(x) /mnt/<nome partizione>
Proseguire con:
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /dev /mount/dev
adesso scrivete chroot /mnt ed entrerete nel sistema operativo installato.
Dare il comando dhcpcd eth0 per abilitare la rete, dove eth0 sta per il dispositivo di rete (cavo ethernet)
dare comando zypper up e l'upgrade dovrebbe ricominciare fino alla fine
Una volta finito l'aggiornamento di versione, date il comando exit per uscire da chroot (importante!), smontate le directory con umount e fate un reboot. Dovreste avere ora la vostra OpenSuse upgradata.
Un altro problema potrebbe essere un non corretto aggiornamento di Yast (il centro di controllo di OpenSuse) con continui errori di librerie non trovate e l'impossibilità di gestire i pacchetti ed il software da Yast. In tal caso è necessario reinstallare Yast con il comando da terminale zypper in yast2*
Infine, è appena il caso di ricordare che la procedura qui descritta con chroot può essere usata tranquillamente per altre problematiche in cui sia necessario accedere ad un sistema operativo quando si è impossibilitati a farlo e gestirlo come se si fosse invece al suo interno (naturalmente da terminale). In tal caso, ricordatevi che per alcune distro alcuni comandi potrebbero essere leggermente diversi (ad esempio quelli per accedere alla rete) e comunque cercando su Internet per la singola distribuzione, in genere si trovano tutorial su come fare chroot.