
Si sa che, soprattutto se un sistema è strausato, dopo qualche mese (dai, se siete fortunati dopo un bel po’ di mesi…) inizierete a notare qualche rallentamento, qualche problemino sparso in giro et similia similarum. Siete tentatissimi dal format, eppure ritenete una gran seccatura fare backup completo di tutti i files personali e via discorrendo. Leggevo un tutorial – e chi l’ha scritto è assolutamente un genio della praticità – che permette, tramite pochi e ben assestati comandi bash, di riportare il sistema operativo Ubuntu 12.04 al suo stato iniziale senza il bisogno di formattarlo: in pratica, saranno eliminati tutti i pacchetti “aggiuntivi” installati da voi nel tempo, e saranno “ripristinati” i pacchetti del sistema che avete accidentalmente (o volontariamente) eliminato. Io devo riportarvi il procedimento perchè ne vale davvero la pena. Attenzione, però: avremo bisogno dell’ISO del sistema operativo (va bene anche se masterizzata o copiata su chiavetta USB)!
Innanzitutto prendete l’ISO di Ubuntu 12.04 (che, vi ricordo, potrete trovare qui) relativa alla vostra architettura, estraetela come fosse un archivio e copiate direttamente sulla scrivania i files
directory_in_cui_avete_estratto/casper/filesystem.manifest
e
directory_in_cui_avete_estratto/casper/filesystem.manifest-remove
In alternativa, se avete l’iso già estratta e/o masterizzata, potrete prendere i files direttamente da lì senza il bisogno di riscaricarla e riestrarla.
Ok, adesso andiamo a combinare insieme i files così da ottenere la lista ordinata dei pacchetti installati (e di quelli non installati) di default nel sistema operativo. Considerando che avete copiato i due precedenti files sulla scrivania, aprite un terminale e digitate
cd ~/Scrivania
comm -3 <(cat filesystem.manifest | awk '{print $1}' | sort) <(cat filesystem.manifest-remove | sort) > default.txt
(in parole umane: compara – senza stampare gli elementi comuni – filesystem.manifest riformattato (awk) e riordinato (sort) con filesystem.manifest-remove riordinato e metti l’output in default.txt).
Abbiamo sul desktop anche il file default.txt che contiene lo stato completo dei pacchetti di un sistema “vergine”. Creiamo, ora, una lista dello stato dei pacchetti sul nostro sistema (quelli preceduti dal segno “+” saranno installati, quelli preceduti dal segno “-” non lo saranno), con il comando
cd ~/Scrivania
dpkg --get-selections | awk '{print $1}' | sort > pacchetti_correnti.txt
Adesso, andiamo a ragionare di fantasia: se facciamo la differenza tra default.txt e i pacchetti che abbiamo correntemente installato (+).. otterremo tutti i pacchetti installati da noi – e quindi da rimuovere per riportare il sistema allo stato originario. Allo stesso modo, se facciamo la differenza tra default.txt e i pacchetti che correntemente non abbiamo installati (-)… otterremo tutti i pacchetti eliminati da noi rispetto all’installazione di default - e quindi da aggiungere per riportare il sistema allo stato originario. E’ un po’ un casino, ma riflettendoci attentamente il discorso fila!
Traduciamo in comandi quello che abbiamo appena detto iniziando dai pacchetti aggiunti da noi: apriamo un terminale, e digitiamo
diff -u default.txt pacchetti_correnti.txt | grep "^+[^+]" | cut -c 2- > ~/Scrivania/aggiunti.txt
…e continuiamo con i pacchetti rimossi, con il comando
diff -u default.txt pacchetti_correnti.txt | grep "^-[^-]" | cut -c 2- > ~/Scrivania/rimossi.txt
E adesso viene il bello: potremo mandare in pasto entrambi i files ad apt-get per far si che il sistema disinstalli i pacchetti aggiunti da noi, e reinstalli quelli da noi rimossi! Se vogliamo rimuovere i pacchetti eliminando tutte le impostazioni di configurazione di ogni programma, andremo a digitare
sudo apt-get purge $(cat ~/Scrivania/aggiunti.txt)
Se, invece, vogliamo rimuovere i pacchetti senza eliminare le impostazioni di configurazione (ma non sarebbe più un reset totale… :rotfl:) andremo a digitare
sudo apt-get remove $(cat ~/Scrivania/aggiunti.txt)
Per reinstallare, successivamente, i pacchetti di sistema eliminati da noi, andremo a digitare
sudo apt-get install $(cat ~/Scrivania/rimossi.txt)
Riavviate adesso il sistema. L’ultimo step sarà ripristinare le impostazioni di gnome, di metacity e tutto il resto! Sempre da terminale, digitiamo
rm -rf .gnome .gnome2 .gconf .gconfd .metacity
e infine, per ripristinare le impostazioni di Unity, premete la combinazione di tasti ALT+F2 e digitate
unity --reset
Opzionalmente, tramite l’Ubuntu Software Center, potrete anche eliminare tutti i repository aggiunti da voi: spazio alla vostra fantasia!
NB: questo tutorial può andare bene per tutte le distribuzioni Ubuntu-based (eccezion fatta per il reset delle impostazioni di Unity).





Pingback: Ubuntu: 3 script utili per il ripristino completo delle impostazioni | Chimera Revo
Pingback: Ubuntu 12.04: riportare il sistema alle impostazioni iniziali senza reinstallarlo - Informatica - Tua Notizia