Cancellare i file è un’operazione semplice e rapida, che va eseguita per poter permettere al disco di respirare un po’, ma cosa succede se si cancella un file per sbaglio?
![]()
In assenza di cestino (o eventualmente avendolo poi svuotato) la situazione non è decisamente delle migliori, ma mantenendo la calma e lavorando velocemente, il file erroneamente eliminato potrebbe essere ancora recuperabile. I casi possono essere molteplici.
Se il file cancellato è ancora in un programma aperto, per prima cosa occorre non chiudere il programma. Successivamente bisogna aprire il fidato terminale e digitare:
lsof | grep /percorso/al/file
se il file è ancora aperto verrà stampato a video una linea tipo questa:
nome_programma 5559 user 22r REG 8,5 1282410 1294349 /percorso/al/file
dell’output di questo comando si deve prendere nota del id del processo (5559 nel caso in esame) e il valore della quarta colonna senza la ‘r’ (in questo caso 22). Ora che si hanno questi due valori, non si deve far altro che copiare il file temporaneo:
cp /proc/5559/fd/22 /percorso/al/file/ripristinato
Questo primo metodo è semplice e veloce ma purtroppo è uno dei più rari tra i vari casi che si possono incontrare. Il prossimo caso è valido solo quando si utilizza una partizione ext2, ext3 o ext4, e prevede l’uso di un programma chiamato extundelete. Normalmente quando si elimina un file vengono eliminati i riferimenti a dove sono contenuti i dati sul disco. Tuttavia alcune volte questa informazione viene mantenuta e quindi si riesce a ritrovare i dati e ripristinare il file. Deve essere effettuata l’installazione manuale del programma.
Dopo aver scaricato l’archivio e scompattato, entrate nella cartella appena estratta e digitate:
sudo apt-get install e2fsprog e2fslibs-dev
./configure
make
sudo make install
Dopo l’installazione, occorre montare la partizione sulla quale era contenuto il file in modalità solo lettura, in modo che nessun altro programma possa sovrascrivere i dati del file erroneamente cancellato:
mount -o remount,ro /dev/partizione
dove /dev/partizione è il nome del device che ci serve. Nel caso non si conosca questa informazione, può essere reperita in molti modi. Se la partizione è montata basta lanciare il comando:
df -h
in questo modo ci vengono elencate tutte le partizioni con device name e punto di mount specificato, può essere digitato anche:
cat /proc/partitions
ma in questo caso bisogna regolarsi con le dimensioni per capire qual è il device corretto, o infine si può utilizzare:
fdisk -l
Una volta montata la partizione in modalità read only si può procedere al ripristino del file con extundelete. Il programma può essere utilizzato per il ripristino di tutti i file eliminati sulla partizione, di uno specifico file o directory. Per ripristinare un singolo file, ad esempio, occorre digitare il seguente comando:
extundelete –restore-file /percorso/al/file/cancellato
Se extundelete riesce a ripristinare il file lo salva in una sottodirectory chiamata RECOVERED_FILES nella cartella corrente.
Infine l’ultimo metodo per il ripristino dei file è usando photorec, un altro programma che però funziona in maniera differente da extundelete. Mentre il programma visto in precedenza cercava di trovare le informazioni su dove il file è salvato sul disco, quest’ultimo invece scansiona tutto il disco alla ricerca di dati d’interesse. Photorec ricerca file di un particolare tipo. È possibile così ricercare file Zip, Pdf, JPEG, etc (si può visualizzare l’intera lista sul wiki). Sempre sul wiki è disponibile una guida passo passo all’utilizzo. L’installazione può essere effettuata semplicemente:. L’installazione può essere effettuata semplicemente con:
sudo apt-get install testdisk
In questo breve tutorial sono stati mostrati alcuni dei metodi per il ripristino dei file cancellati erroneamente, la procedura come già detto, non è di sicura riuscita quindi la cosa più importante è prestare attenzione prima di premere invio dopo un comando di rm!
















