Debian/Ubuntu: come “clonare” lo stato del proprio sistema operativo su un’altra macchina

Questa è una di quelle cose da sapere fin da subito: in media replico le mie installazioni dei sistemi operativi su 3 o 4 macchine per volta, e se dovessi mandare a memoria tutto ciò che ho installato, oppure tutte le dipendenze che mi servono per sviluppare/compilare/ecceteraeccetera… sarei bella e fregata, visto che la mia memoria è più volatile di una memoria RAM :)
Non ho mai avuto nè il tempo – e neppure la voglia, francamente – di creare un’ISO di Ubuntu con tutte le cosette che utilizzo io preinstallate, bensì utilizzo un metodo molto semplice e molto, molto rapido sia per replicare le installazioni del mio OS su altri computer, sia perchè, ogni tanto, per qualche strambo motivo sono costretta a formattare questo o quel notebook, ritrovandomi puntualmente con un sistema vergine. E questo metodo voglio illustrarlo a voi.
Vi premetto però che il meccanismo di “trasferimento” di repository funziona senza problemi soltanto su sistemi operativi che hanno la stessa versione (Maverick per Maverick, Lucid per Lucid e via discorrendo), altrimenti potrebbero insorgere dei piccoli problemi nell’automatizzare il processo.
E inoltre voglio farvi presente che sebbene io non abbia testato personalmente, il metodo qui illustrato dovrebbe funzionare senza problemi anche su Debian.
Backup
- Copiamo la lista dei pacchetti installati sul nostro sistema: paradossalmente questa è una cosa rapidissima. Altro non dobbiamo fare che prendere la lista dei pacchetti installati e conservarla gelosamente in una cartella della nostra home, il che coincide ad aprire un terminale e digitare:
mkdir ~/backup
dpkg --get-selections > ~/backup/lista_pacchetti - Copiamo i repository del nostro sistema: molto semplicemente copiamo tutta la lista dei repository in un singolo file, con il comando
cat /etc/apt/sources.list /etc/apt/sources.list.d/* > ~/backup/sources.list - Copiamo la cartella backup (presente nella nostra home) da qualche parte (anche una chiavetta USB andrà benissimo) oppure, opzionalmente, copiamo tutta la nostra home directory (se abbiamo bisogno di copiare anche i nostri dati).
Abbiamo terminato la fase di backup! Partiamo ora con quella di restore.
Restore
- Installiamo il sistema operativo (chiaramente della stessa versione di quello sorgente) sul nostro pc di destinazione e, cosa fondamentale, colleghiamolo a internet.
- Copiamo la cartella backup, che avevamo salvato prima, dentro la nostra nuova home directory; oppure, se avevamo deciso di copiare tutta la home, copiamo (ed eventualmente sovrascriviamo) i files presenti nella home vecchia all’interno della nuova home.
- Copiamo il nostro nuovo file sources.list (quello creato in precedenza) nel posto in cui deve essere sul nuovo sistema, creiamo un backup (non si sa mai) di quello vecchio e aggiorniamo la lista pacchetti, ossia
sudo mv /etc/apt/sources.list /etc/apt/sources.list.old
sudo cp ~/backup/sources.list /etc/apt/sources.list
sudo apt-get update
- A questo punto non ci resta che ripristinare tutti i pacchetti che avevamo installato sulla nostra macchina, utilizzando il file lista_pacchetti creato in precedenza. Anche questa è un’operazione pressochè immediata, in quanto abbiamo bisogno di un solo comando da terminale, cioè
dpkg --set-selections < ~/backup/lista_pacchetti
sudo apt-get dselect-upgrade
Aspettiamo il completamento dell’operazione ed avremo terminato! Ecco qui un bel sistema operativo clonato… con meno di un’ora di lavoro (di cui circa 40 minuti servono per installare il nuovo sistema operativo) :) Enjoy!






Pingback: SOURCES.LIST Aggregator » Blog Archive » Debian/Ubuntu: come “clonare” lo stato del proprio sistema operativo su un’altra macchina