Presumo che Ubuntu (e derivate), distribuzione di GNU/Linux basata su Debian e sviluppata da Canonical, sia il modo in cui l’80% o forse più degli “utilizzatori di PC” si avvicina a questo mondo, parallelo a quello di Windows e OSX, appunto per la sua semplicità di utilizzo.
E come ogni linuxiano alle prime armi un po’ tutti avremo iniziato ad aggiungere repository a ripetizione e ad installare e disinstallare software finchè, ad un certo punto, il nostro PC avrebbe iniziato a manifestare i primi acciacchi: rallentamenti, impuntamenti improvvisi, funzioni che prima appunto funzionavano ed ora non più.
Ci si trova quindi davanti alla domanda cosmica: “E ora che faccio?”, che la maggior parte delle volte trova risposta in una brutale formattazione.
Seppur il metodo sopra citato sia tutt’ora il mio prediletto, di seguito vi spiegherò passo passo come ripristinare Ubuntu, riportandolo a un sistema come “appena installato”, senza torcere neanche un bit ai vostri file personali.
Per questa procedura avremo bisogno di una versione del nostro sistema vergine, che sia in formato ISO o che sia su USB (se li usate ancora va bene anche masterizzato su CD/DVD).
In particolare sfrutteremo due file presenti nell’immagine del Sistema Operativo:
- casper/filesystem.manifest
- casper/filesystem.manifest-remove
Una volta identificati copiamoli in una posizione a piacere sul nostro pc.
Questi file contengono la lista dei pacchetti presenti nel momento dell’installazione della nostra distribuzione ed il procedimento che vi mostrerò non farà altro che confrontare questi file con i pacchetti installati sul nostro computer, in modo da ottenere una lista dei pacchetti installati dall’utente.
Innanzitutto iniziamo a lavorare su questi due file.
Apriamo il terminale, spostiamoci nella cartella con i due file tramite il comando cd
e diamo il comando:
comm -3 <(cat filesystem.manifest | awk '{print $1}' | sort) <
(cat filesystem.manifest-remove | sort) > pacchetti_iniziali
In particolare:
comm
permette di confrontare i due file (il parametro-3
considera solo le righe che appaiono in entrambi i file)cat
permette di stampare su standard output il contenuto di un fileawk
permette di elaborare testi formattati in colonne (il parametro'{print $1}'
stampa solo la prima colonna di sinistra)sort
permette di ordinare le righe dei file in ordine alfabetico, da dare in pasto acomm
, che richiede che i file siano ordinati
Una volta dato questo comando verrà creato il file pacchetti_iniziali
che conterrà la lista dei pacchetti preinstallati sul sistema.
Con la stessa filosofia otteniamo i pacchetti installati attualmente sul nostro pc con il comando:
dpkg --get-selections | awk '{print $1}' | sort > installati
.
A differenza del comando precedente qui abbiamo usato il tool dpkg
(abbreviazione di Debian package) che con il parametro --get-selections
permette di ottenere la lista dei pacchetti attualmente installati.
Ora abbiamo tutti gli strumenti su cui lavorare: facendo infatti la differenza tra i pacchetti installati e quelli preinstallati (insomma, tra installati
e pacchetti_iniziali
) possiamo ottenere sia i pacchetti aggiunti dall’utente che quelli rimossi. Per farlo useremo lo strumento diff
, che permette di confrontare due file riga per riga:
diff -u pacchetti_iniziali installati | grep "^+[^+]" | cut -c 2- > aggiunti
Con questo comando non ci siamo limitati solo al confronto tra i due files, il che ci avrebbe restituito diverse righe precedute da +
e -
, ma, sfruttando proprio questi simboli, siamo in grado di ottenere la lista dei pacchetti aggiunti, ossia quelli preceduti dal simbolo +
, selezionati dal comando grep "^+[^+]"
.
cut -c 2-
ci permette invece di “pulire” l’output in modo da non avere questi +
all’inizio di ogni riga.
Allo stesso modo possiamo ricavare i pacchetti rimossi:
diff -u pacchetti_iniziali installati | grep "^-[^-]" | cut -c 2- > rimossi
Ora, se vogliamo rimuovere tutti i pacchetti installati, compresi i propri file di configurazione basterà lanciare il comando sudo apt-get purge $(cat installati)
, mentre per installare i pacchetti rimossi daremo sudo apt-get install $(cat rimossi)
.
Al termine del procedimento basterà un riavvio ed avremo la nostra distribuzione come nuova!
Il post Ripristinare Ubuntu (e derivate) alle impostazioni iniziali è stato pubblicato su InTheBit - Il Blog sulla Tecnologia che alimenta le tue passioni!.
Leggi il contenuto originale su InTheBit - Il Blog sulla Tecnologia che alimenta le tue passioni! » Linux