Recuperare file cancellati con lsof

novembre 27, 2006

Segnalo un’ utile guida di Michael Stutz presente su linux.com che permette di recuperare abbastanza facilmente i file erroneamente rimossi.

Riporto qui di seguito una mia traduzione della stessa.

–>inizio articolo

Ci siete, dopo aver passato tutto il pomeriggio su un file audio per sistemarlo e farlo suonare proprio come piace a voi, e proprio quando state pensando: ” WoW suona proprio alla grande! aspetta un secondo che lo sposto “. A questo punto un campanello d’ allarme vi suona in testa :”Um, hai fatto mv, non rm vero?” Oops. Conosco il vostro disagio — e’ capitato a chiunque. Ma esiste un’ efficafce metodo per recuperare i file persi, e poiche’ funziona su ogni sistema linux standard, tutti devono sapere come fare.

Brevemente, un file come appare in una qualsiasi posizione del linux filesystem e’ attualmente un semplice link ad un inode, che contiene tutte le proprieta’ del file , come ad esempio i permess, i proprietari, cosi’ come gli indirizzi dei data block dove il contenuto dei file e’ memorizzato fisicamente nel disco. Quando voi eseguite il comando rm su un file, voi state rimuovendo il link che punta al rispettivo inode, ma non l’ inode stesso; altri processi(come il player audio) possono ancora averlo aperto e funzionante. Solo quando i programmi sono stati chiusi e tutti i link sono stati rimossi l’idnode e i blocchi ad esso associati ritornano ad essere disponibili per la scrittura. Il ritardo e’ la chiave per un veloce e felice recupero: se un processo ha ancora il file aperto, il file e’ ancora da qualche parte, anche se da cio’ che risulta guardando il contenuto della directory interessata, il file sembrerebbe gia’ sparito.

Qui’ e’ dove il Linux process pseudo-filesystem, la /proc directory, entra in gioco. Ogni processo all’ interno del sistema ha una directory in /proc con il proprio nome sopra, all’ interno della quale si possono trovare molte cose — come una fd (“file descriptor”) subdirectory contenente links a tutti i file che il processo ha aperti. Anche se un file e’ stato rimosso dal filesystem, una copia dei dati si potra’ trovare qui’:

/proc/process id/fd/file descriptor

Per sapere dove cercare, avrete bisogno dell’ id del processo che ha il file aperto, e del file descriptor. Li potrete avere con lsof, che sta per ” list of open files.”( Attualmente lsof fa molto piu’ di questo e sarebbe molto utile che tutti i sistemi lo avessero installato, quindi se il vostro non e’ tra questi potete prendere the latest version direttamente dall’ autore).
Leggi il seguito di questo post »


Flash player 9 BETA 2 .deb for Linux

novembre 27, 2006

fp9update_minifma.jpgLa beta 2 di flash player for linux e’ uscita poco tempo fa, comunque e’ possibile installarla tramite i deb messi a disposizione da Treviño. Questa nuova versione di testing risolve principalmente i bug che riguardavano l’audio. Aspettando una versione ufficiale vi rimando al sito di adobe per approfondire i dettagli e al “magazzino” di 3v1n0 per il deb.

Ricordo che questa e’ una prerelase e quindi non perfettamente stabile.