
Questa volta me la sono “tirata addosso” tutta, ‘in arrivo ext4, prevedo guai per i noob’ è stato davvero un articolo azzeccato, peccato che ad aver avuto rogne sia stato il sottoscritto
. Eh già, mentre me ne stavo col mio bell’Ubuntu a cazzeggiare in rete, ma che strano, la corrente è saltata e con essa il mio filesystem. Era una cosa già segnalata, i driver per l’ext4 devono essere ancora messi a puntino, ma è stata comunque una occasione per smanettare a fondo con Ubuntu e soprattutto mi ha dato l’occasione per scrivere questo articolo, un piccolo monito sulle conseguenze catastrofiche di una interruzione elettrica.Ho deciso ora di descrivervi tutti i passaggi che ho dovuto fare per “aggiustare” il mio OS, tenete conto che il tutto è durato più o meno un paio di settimane di lavoro effettivo(senza contare la fase conclusiva che inizierò non appena avrò voglia di farmi un bell’elenco…), anche perchè le soluzioni ai miei problemi non erano già pronte ed ho dovuto cavermela passo dopo passo, errore dopo errore, mentre ora sarebbe tutto più facile da ripetere ovviamente
. Iniziamo dal fattaccio, manca la corrente e riaccendo il computer. Primo dato preoccupante, GRUB2 non riesce a bootare ubuntu, con vari tentavi il boot avviene ma si interrompe subito per via degli errori sul fs. Decido quindi di provare a rimettere a posto il filesystem e vedere che succede. Avvio Debian e mi rendo conto di un piccolo dettaglio, non ho ancora installato una versione recente del kernel!
Operazione 1: compilare il kernel con supporto ext4 su Debian
Una volta compilato ed installato il kernel procedo con fsck, il terminale mi sbatte in faccia una serie di errori interminabile ed una volta finito mi chiedo se Ubuntu riuscirà davvero a bootare. Riavvio, parte il boot ma mi vengono rilevati ancora errori nel fs, lascio che l’fsck automatico faccia quello che vuole, arrivo quindi alla schermata di login, niente da fare, una volta inseriti nick e passwd rimane tutto lì in sospeso.
Operazione 2: ripristinare i pacchetti danneggiati
Mi rendo conto che evidentemente “qualche” cosa non va, sarà meglio controllare l’integrità dei pacchetti. Avvio in recovery e faccio partire il tool automatico di disgnostica sui .deb (grande, grande cosa) che mi rileva qualche decina di pacchetti danneggiati e ripristinabili ma si blocca dinnanzi ad altrettanti corrotti in modo irrimediabile.
Operazione 3: rimozione dei .deb irrimediabilmente corrotti.
Avvio una shell di emergenza ed inizio a cancellare un po’ di tutto, il destino ha voluto che l’unico kernel installato non subisse danni importanti, altrimenti sarei stato spacciato in partenza. Per fare funzionare tutto rimuovo un paio di programmi non fondamentali, qualche libreria ed infine aggiorno qualche pacchetto essenziale che ovviamente non poteva essere rimosso, concludo il tutto rimuovendo i kernel-headers e kernel-headers-generic, il kernel riesce a girare ma a stento, riscarico il pacchetto e lo aggiorno, ora sono “stabile”. Riavvio e mi accorgo che il sistema mi rileva ancora danni al fs,
Operazione 4: installare un kernel più recente
Penso che potrei ottenere dei fix “seri” con una nuova versione del kernel, lo scarico e lo installo, dopo un paio di riavvii, fsck con Debian ed Ubuntu pare tutto in regola.
Operazione 5: rimettiamo in piedi il MIO Ubuntu
Dato che non ho più problemi di boot inizio gli aggiornamenti che mi avrebbero aiutato a disfarmi di eventuali pacchetti secondari corrotti che erano riusciti a salvarsi, ma nel mentre compaioni vari errori di configurazione
Operazione 6: zappiamo i .deb corrotti che si sono salvati al primo turno
Rimuovo tutto ciò che mi da errore, dato il primo passaggio di “ronda” nei confronti dei pacchetti danneggiati riesco a salvare almeno xorg e la grafica, per essere precisi solo openbox, gnome, LXDE e molti altri non si avviano da un bel pezzo,
Operazione 7: reinstallare tutto
Reinstallo ubuntu-desktop e gli altri DE, nonostante vari errori di configurazione ne salto fuori, avvio gnome per controllare e sembra tutto in regola, finalmente pare che ci siamo, faccio partire gli aggiornamenti e tutto si aggiorna. Pare tutto risolto (alla svelta eh, qua siamo alla prima settimana, per quello ho detto di aver aggiornato più volte
) ma l’update-manager mi dice che non aggiorno la lista dei pacchetti da più di 20 giorni, evidentemente c’è qualcosa che non va.
Operazione 8: la rifinitura
Penso che il problema sia in realtà una cavolata, faccio una ricerca su internet per risparmiare un po’ lo sforzo alla mie meningi ma niente da fare, apro quindi un topic convinto che qualcuno avesse già risolto la cosa. Passano un paio di giorni ma niente, che sia il caso di procedere da solo? Mentre ci penso mi arriva il suggerimento chiave, Stealth mi suggerisce update-apt-xapian-index e finalmente mi accorgo di un dettaglio che avevo tralasciato, effettivamente il gestore aggiornamenti non ricaricava la lista dei paccheti quando selezionavo l’opzione “Verifica”. Penso di avere risolto e canto vittoria troppo presto, riavvio ed è tutto come prima. Poco importa ho capito cosa devo fare
Operazione 9: scopriamo quale file impedisce a update-manager di aggiornarsi, solo questo dettaglio mi ha portato via 5 giorni
Ovviamente come prima cosa vado a controllare i file di status, available ecc di dpkg (/var/lib/dpkg), ne faccio un backup e li elimino, avvio l’update-manager e mi segnala qualche milione di pacchetti da aggiornare
ovvio, ho cancellato lo status ma non gli aggiornamenti, tolgo tutto e ovviamente mi risulta che nel mio sistema non è installato nessun pacchetto, ma non riesco a concludere nulla. Ripristino quindi tutto tranne il file status, quello mi tocca tenerlo vuoto se voglio uscirne. Inizia ora la ricostruzione, cerchiamo di far capire ad Ubuntu che cosa c’è e cosa non c’è, vi riassumo ora come si è svolta la vicenda:
1)cancellazione del file status previo backup->
2)sudo apt-get install ubuntu-desktop —> errori per libc6
3)copia delle righe inerenti libc6 sul nuovo file->
4)sudo apt-get install ubuntu-desktop —> errori di dipendenze->
5)sudo apt-get -f install —> errori per debconf
6)copia delle righe inerenti debconf
7)sudo apt-get -f install —> errori di dipendenze->
8)sudo apt-get install coreutils —> errori di dipendenze
9)sudo apt-get update/upgrade/dist-upgrade
10) problemi vari di configurazione-> rimozione di vari pacchetti
11) problemi irrisolvibili di configurazione (se toglievo quei pacchetti saltava tutto)
12)riavvio
13) sudo apt-get install ubuntu-desktop… successo
Ora messa così sembra facile, in realtà non ne saltavo più fuori tra errori, dipendenze errate ecc, l’intuizione che mi ha fatto risolvere è stata quella di “riassemblare” il file di status prendendo solo alcuni pezzi strettamente necessari da quello vecchio, infatti se iniziavo ad installare libc6 (in realtà ovviamente già installato) mi dave errore perchè alcune dipendenze fondamentali per l’installazione erano “mancanti” , quindi una volta messo tutto quello che poteva dare errore in /var/lib/dpkg/status ho pensato: «e ora ce l’abbiamo fatta». La realtà è però diversa, il passaggio 12 non è proprio “veritiero” è stato un caso fortuito
. Infatti una volta che tutto tornava, il sistema base era installato ed “autocosciente”, non riuscivo comunque ad installare niente, erorri su errori, problemi su problemi, preso quindi dallo sconforto e dalla stanchezza ho spento il computer. Il giorno dopo penso di riprovarci, avvio, sudo apt-get install ubuntu-desktop, soliti errori di configurazione, metto a posto… funziona!
riavvio tutto e così, a caso, mi da errore di permessi con la mia home, no problem,
chown -R streetcross /home/streetcross
chmod 700 /home/streetcross
chmod 644 /home/streetcross/.dmrc
a posto
Ora non mi resta che farmi una lista dei programmi installati e procedere con la loro “reinstallazione”, forse salterò qualche libreria -dev ma poco importa, probabilmente le reinstallerò compilando qualcos’altro. In conclusione cosa devo dire, attenzione, l’ext4 non è ancora totalmente sicuro, il sistema si può aggiustare, anzi se non siete pazzi come me, si reinstalla, ma i dati no, non affidate i vostri dati al nuovo fs!
saluti a tutti ed alla prossima!
p.s. vorrei comunque ringraziare anche gli altri utenti che hanno cercato di aiutarmi, lo so in molti se vedono il mio nick neanche ci provano
grazie DirkNowitzki, L0r3nz0, gabry79, A.Milinux (in ordine di “apparizione”
topic sul forum
