mercoledì 25 agosto 2010

Recuperare files da filesystems ext3 e ext4.


Mi sono imbattuto poco fa in uno spiacevole inconveniente.
Sostanzialmente, facendo un po' di pulizia nel mio filesystem (ext4) ho cancellato erroneamente dei files.
Cancellato, non cestinato.

Quando me ne sono accorto avrei voluto mangiarmi le mani, soprattutto perché avevo già riscritto sul disco.

Sono andato allora alla ricerca di qualcosa che potesse fare al caso mio e mi sono imbattuto in un progetto che si chiama extundelete.

http://extundelete.sourceforge.net/

Lascio a voi la lettura di tutte le magnifiche funzionalità di questo programma innovativo, dandovi solo alcune dritte su come installarlo.

Innanzitutto bisogna scaricarlo da qui: https://sourceforge.net/project/platformdownload.php?group_id=260221 dopodiché lo dovete scompattare (click destro e "Estrai..." oppure tar da linea di comando).

E installare alcune dipendenze, come suggerito qui:

sudo apt-get install build-essential e2fslibs e2fslibs-dev ext3grep


Io consiglio anche di installare checkinstall, come consiglia guiodic (Come si compila un programma da sorgenti):

sudo apt-get install checkinstall


A questo punto aprite un terminale se già non l'avete fatto e mettetevi nella cartella in cui è stato scompattato.

Date il configure

./configure


Installate eventuali dipendenze mancanti e compilatelo:

make


Il programma è già usabile (lo si trova nella cartella src), ma se non siete esperti consiglio di installarlo sul nostro sistema:

sudo checkinstall


Ci verranno chieste alcune informazioni (non indispensabili) e poi verrà installato e potrà essere usato come un programma qualsiasi.

Consiglio di leggere

extundelete --help

e questa pagina:
http://extundelete.sourceforge.net/options.html
per un riassunto delle opzioni del programma.

La maniera di usarlo non è complicata. Spostiamoci con il terminale in una cartella con abbastanza spazio per contenere i nostri files recuperati, ad esempio nella nostra home.

Innanzitutto il volume, assumiamo che sia /dev/sdb3, deve essere smontato, poi per recuperare tutti i files basta dare:

sudo extundelete /dev/sdb3 --restore-all


Invece se vogliamo un file specifico

sudo extundelete /dev/sdb3 --restore-file percorso_del_file

ad esempio

sudo extundelete /dev/sdb3 --restore-file Immagini/gita/paesaggio.jpg


Oppure ancora possiamo volere il recupero di un'intera cartella:

sudo extundelete /dev/sdb3 --restore-dir percorso_della_cartella

ad esempio

sudo extundelete /dev/sdb3 --restore-directory Documenti/Lavoro/maggio


A questo punto inizierà a lavorare e salverà i dati in una sottocartella della cartella in cui siamo posizionati nominata RECOVERED_FILES e il cui proprietario è root.

Non riuscirà, ovviamente, a recuperare i files che sono stati sovrascritti (e infatti a me non li ha recuperati tutti) ma direi che sono soddisfatto di questa scoperta.

0 commenti:

Posta un commento