Hai mai cancellato un file e te ne sei immediatamente pentito? Ne hai bisogno indietro e in fretta! Ma cosa succede se il file è così nuovo, non è stato ancora eseguito il backup? Fortunatamente, c’è qualcosa che puoi fare al riguardo.
rm: Abbreviazione di Remorse?
È fin troppo facile usare il file rm
comando e ti ritroverai a fissare una finestra di terminale con un crescente senso di rimpianto. Un piccolo errore con i caratteri jolly e puoi cancellare molto di più di quanto volevi.
Il file system Linux predefinito, ext4
usa gli inode per contenere i dati su ogni file e una tabella di inode per tenere traccia degli inode. L’inode contiene metadati sul file, come il suo nome, chi lo possiede, quali sono i permessi e così via.
Contiene anche punti di ingresso a collegamenti fisici che puntano al file. Ogni file ha almeno un collegamento fisico. Ogni volta che crei un nuovo hard link, il numero di hard link aumenta di uno. Ogni volta che rimuovi un hard link, il numero di hard link nell’inode viene ridotto di uno.
Quando elimini un file che l’inode ha contrassegnato come non utilizzato (e pronto per il riutilizzo), l’ultimo hard link viene rimosso. Quando ciò accade, il file non verrà visualizzato negli elenchi di directory e non sarà possibile utilizzarlo né accedervi.
Tuttavia, i dati che compongono il contenuto del file sono ancora presenti sul disco rigido. Se potessi applicare una patch all’inode in modo che contenga le informazioni corrette, il file verrebbe ripristinato. Ovviamente, questo funzionerebbe solo se i dati che compongono il file sul disco rigido rimangono intatti e non vengono sovrascritti.
In alternativa, puoi creare un nuovo inode, copiare i dati sopravvissuti dal vecchio inode e quindi sostituire i bit mancanti.
Quelle sono attività non banali. Di solito, quando elimini un file per errore, è nel momento peggiore possibile. È sempre quando hai bisogno di quel file e ne hai bisogno ora. Non hai tempo per sporcarti con gli editor di settore e altre utilità. Inoltre, se si tratta di un file che hai appena creato, probabilmente non è stato ancora eseguito il backup, quindi nemmeno quelli ti aiuteranno.
Questo dove testdisk
entra. È facile da usare e non richiede una conoscenza dettagliata e di basso livello del filesystem. Diamo un’occhiata a come usarlo!
RELAZIONATO: Tutto quello che avresti sempre voluto sapere sugli inode su Linux
Installazione di testdisk
Installare testdisk
su Ubuntu, usa questo comando:
sudo apt-get install testdisk
Su Fedora, devi digitare:
sudo dnf install testdisk
Su Manjaro, devi usare pacman
:
sudo pacman -Sy testdisk
Utilizzando testdisk
Sebbene venga eseguito in una finestra di terminale, testdisk
ha un’interfaccia rudimentale. Utilizzare i tasti freccia per navigare e Invio per effettuare una selezione. Per mantenere le cose in ordine, è meglio creare una directory per i file ripristinati.
Digitiamo quanto segue per creare una directory chiamata “ripristinata” per i nostri file ripristinati:
mkdir restored
Digitiamo quanto segue per passare alla nuova directory e iniziare testdisk
da li:
cd restored/
Dobbiamo usare sudo
con testdisk
, quindi digitiamo quanto segue:
sudo testdisk
La prima domanda testdisk
chiede riguarda la registrazione. Può creare un nuovo file di registro, usarne uno esistente o non registrare nulla. Non importa quale opzione scegli; non influenzerà il modo in cui testdisk
opera.
Puoi semplicemente premere Invio per accettare l’opzione evidenziata e creare un nuovo file di registro. Verrà creato nella directory da cui sei partito testdisk
. Quando fai la tua selezione, testdisk
chiede quale disco rigido contiene il file system su cui si desidera lavorare.
Elenca i dischi rigidi che riesce a trovare, nonché i file squashfs
File “/ dev / loop”. Ce ne sarà uno per ogni applicazione che hai installato da un file snap
. Sono di sola lettura, quindi non dovresti essere riuscito a eliminare nulla da questi file system.
C’è solo un disco rigido fisico in questo computer di prova, quindi abbiamo usato la freccia in basso per evidenziare l’opzione “/ dev / sda”. Abbiamo quindi utilizzato la freccia destra per selezionare “Procedi”, quindi abbiamo premuto Invio.
testdisk
deve anche conoscere il tipo di partizione. Presenta un menu di opzioni, insieme al tipo di partizione che è stata rilevata automaticamente in basso.
A meno che tu non abbia una buona ragione per non farlo, evidenzia il tipo di partizione che è stata rilevata automaticamente, quindi premi Invio.
Nel menu delle funzioni visualizzato, evidenziare “Avanzate”, quindi premere Invio.
Apparirà il menu di selezione della partizione.
I file che stiamo cercando si trovano nella partizione del filesystem di Linux. Abbiamo solo una partizione Linux sul nostro disco rigido, ma potresti averne di più.
Selezionare la partizione in cui si trovavano i file, utilizzare i tasti freccia sinistra e destra per selezionare “Elenco”, quindi premere Invio. Apparirà il menu di selezione dei file.
Utilizzare le frecce su e giù o i tasti PgUp e PgDn per navigare nell’elenco di file e directory. Premere la freccia destra o Invio per accedere a una directory e la freccia sinistra o Esc per uscire da una directory.
Stiamo cercando file di proprietà di dave
. I file per tutti gli account utente si trovano nella directory “Home”. Quindi, evidenziamo la directory “Home”, quindi possiamo premere la freccia destra o Invio per entrare in quella directory.
Tutti gli account utente vengono quindi elencati per noi. Evidenziamo dave
, quindi premere la freccia destra o Invio per accedere a quella directory.
Ora possiamo vedere i file che appartengono a dave
account. Le voci in rosso sono state eliminate. Navighiamo attraverso i file e le directory finché non troviamo i file che vogliamo recuperare.
Per recuperare un file, è sufficiente evidenziarlo e quindi premere c (minuscolo).
Il display cambia e ti dice di scegliere una destinazione per il file recuperato. Perché abbiamo creato una directory chiamata “Restored” e avviato testdisk
da esso, la prima voce nell’elenco (.) è quella directory. Per recuperare questo file cancellato in quella directory, premiamo C (maiuscolo).
Dopo aver eseguito questa operazione, si torna alla schermata di selezione dei file. Se desideri recuperare più file, ripeti il processo. Evidenziare un file eliminato, premere c (minuscolo) per copiarlo, quindi premere C (maiuscolo) per recuperarlo.
Lavorare con i file ripristinati
Dopo aver ripristinato un file, viene ricostruito l’albero delle directory nella sua posizione originale, il che è utile perché ti ricorda dove sul disco rigido risiedeva il file originale. Ciò significa che se hai bisogno di copiarlo di nuovo, sai dove metterlo.
Se recuperi un numero di file da diverse posizioni del filesystem che hanno lo stesso nome di file, dovranno comunque essere archiviati separatamente.
È possibile digitare quanto segue per visualizzare il contenuto della directory “Ripristinato”:
ls
Se hai chiesto testdisk
per creare un file di registro, sarà nella directory “Ripristinato”. Poiché i nostri file recuperati si trovavano in “/ home / dave”, sono stati copiati nella nostra directory “Ripristinato”, annidata in directory con lo stesso nome.
Possiamo passare alla directory “dave” copiata usando cd
. Assicurati di non includere una barra in avanti (/
) sul percorso: vuoi cambiare nella “home” locale, non nel sistema “/ home”.
Digitiamo quanto segue:
cd home/dave
I file recuperati si trovano in quella directory, quindi digitiamo:
ls
Diamo un’altra occhiata ai file recuperati utilizzando l’estensione -l
(elenco lungo) opzione:
ls -l
Perché abbiamo usato sudo
lanciare testdisk
, i file recuperati sono stati ripristinati con “root” come proprietario. Possiamo cambiare il proprietario di nuovo in “dave” usando chown
:
sudo chown dave.dave *
Digitiamo quanto segue per assicurarci che sia stata ripristinata la proprietà corretta:
ls -l
testdisk: codice per il rilievo
Quella sensazione di sollievo dopo aver recuperato un file importante che, fino a un momento fa, sembrava irrimediabilmente perso, è qualcosa che apprezzerai sempre.
Ecco perchè testdisk
è un’utilità così utile. Dopo aver attraversato i menu e aver iniziato a ripristinare i file, è facile cadere in un ritmo di evidenziazione, c, C, ripetizione.