sabato 12 gennaio 2013

Aggiornare Ubuntu in modo sicuro, senza perdere applicazioni e preferenze

Prima o poi a tutti capiterà di dover aggiornare la propria versione di Ubuntu ad una più aggiornata, che sia per piacere o per necessità.
Ubuntu offre un servizio per effettuare l'upgrade alle nuove versioni tramite update-manager che, semplicemente aggiornando i pacchetti già installati, evita che vengano perse configurazioni. Tuttavia - e chi ha già provato dovrebbe essersene accorto - con questo metodo il sistema diventa più instabile e sorgono più crash dei programmi che si arrestano in modo anomalo.

Esiste un semplice metodo, che richiede l'utilizzo del terminale, per evitare che succeda e non perdere i pacchetti installati e la configurazione dei programmi che utilizziamo:

1. Creare un backup della lista dei programmi installati

Per farlo è sufficiente aprire il terminale e servirsi del tool dpkg, già presente all'interno del sistema

$dpkg --get-selections > packages.txt

Se non sai come si utilizza il terminale consulta la guida Utilizzare il terminale.

N.B: tale file andrà poi copiato su un dispositivo esterno o su una partizione che non verrà toccata aggiornando il sistema operativo.

2. Copiare la cartella home (compresi i file nascosti) e gli altri file di configurazione esterni a tale cartella (ad esempio quelli di samba) su un dispositivo esterno o su una partizione che non verrà toccata dall'aggiornamento.

3. Installare la nuova versione di Ubuntu, utilizzando il LiveCD (scaricabile da Ubuntu.com), sulla stessa partizione in cui si trova la versione precedente (eseguendo una bella formattazione).

4. Ripristinare i pacchetti precedentemente installati

Servendoci, ancora una volta, di dpkg insieme a apt-get, dando da terminale

$
$
$sudo dpkg --set-selections < packages.txt
sudo apt-get update
sudo apt-get dselect-upgrade

N.B: perchè il comando funzioni correttamente bisognerà copiare il file packages.txt creato al punto 1. dall'unità esterna alla nuova cartella home.

5. Ripristinare i file presenti nella vecchia cartella home, copiandoli in quella nuova, prelevandoli dal dispositivo esterno o partizione in cui erano state copiate nel momento del backup.

N.B: seguendo questa procedura sarà necessario riscaricare tutti i pacchetti delle applicazioni che erano state installate prima dell'aggiornamento.
N.B: se durante l'utilizzo sono stati installati dei pacchetti provenienti da sorgenti esterne, che non sono contenuti nei repository ufficiali di Ubuntu, per poterli installare è necessario effettuare il backup delle sorgenti software. Per farlo segui la procedura descritta nella guida Backup delle sorgenti software.

2 commenti:

  1. Ciao, volevo chiederti come ci si deve comportare con i ppa aggiunti ai normali repository di base. molti programmi non verranno installati senza. Hai un metodo per il backup e ripristo anche di quell?
    Andrea

    RispondiElimina
    Risposte
    1. Ciao, seguendo questa procedura verranno salvati tutti i pacchetti che sono stati installati, compresi quelli estratti dai ppa.
      Se vuoi ripristinare tutte le sorgenti software devi copiare il file source.list e tutta la directory source.list.d entrambi contenuti in /etc/apt/.
      il mio consiglio è di copiare ricorsivamente tutta la directory /etc/apt, altrimenti vai a perdere le infomazioni relative alle chiavi (contenuta nei file trustdb.gpg, trusted.gpg e nella directory trusted.gpg.d).
      Per fare il backup usa:
      cp -rv /etc/apt /media/[dispositivo_esterno]/apt

      dopo di che devi ricopiare il contenuto dal dispositivo esterno alla medesima directory, stando attendo ai permessi:
      sudo cp -rv /media/[dispositivo_esterno]/apt /etc/apt
      sudo chmod -Rv 755 /etc/apt

      l'ultimo comando serve per garantire permessi di esecuzione e elettura a quei file da parte di tutti gli utenti del pc, e non solo del root.

      Elimina