undelete um arquivo deletado no ext4 com extundelete

47

Existe uma opção simples em extundelete como posso tentar cancelar a exclusão de um arquivo chamado /var/tmp/test.iso que acabei de deledir?

(não é tão importante que eu comece a remontar a unidade somente leitura ou coisas assim. Também posso baixar novamente o arquivo novamente)

Estou procurando um comando simples que eu possa tentar se eu conseguir recuperá-lo rapidamente.

Eu sei, é possível com a remontagem da unidade em somente leitura : (veja Como eu simplesmente recupero o único arquivo em um disco vazio que acabou de ser apagado? )

Mas isso também é possível de alguma forma no disco ainda montado?

    
por rubo77 30.03.2014 / 23:26

3 respostas

33

Analisando o guia de utilização do extundelete , parece que você está limitado a recuperar arquivos de algumas maneiras.

Restaurando todos

extundelete is designed to undelete files from an unmounted partition to a separate (mounted) partition. extundelete will restore any files it finds to a subdirectory of the current directory named “RECOVERED_FILES”. To run the program, type “extundelete --help” to see various options available to you.

Typical usage to restore all deleted files from a partition looks like this:

    $ extundelete /dev/sda4 --restore-all

Restaurando um único arquivo

Além desse método destacado no uso da linha de comando:

--restore-file path/to/deleted/file
    Attemps to restore the file which was deleted at the given filename, 
    called as "--restore-file dirname/filename".

Então você deve conseguir realizar o que deseja:

$ extundelete --restore-file /var/tmp/test.iso /dev/sda4

NOTA: Em ambos os casos, você precisa conhecer o dispositivo, /dev/sda4 para executar este comando. Você terá que remontar o sistema de arquivos como somente leitura. Esta é uma das condições de usar extundelete e não há maneira de contornar isso.

    
por 31.03.2014 / 02:09
13

O cenário de uso típico ao recuperar arquivos todos inclui a necessidade de restaurar todos os arquivos excluídos de /dev/sdX1 durante aproximadamente a última hora:

mount -o remount,ro /dev/sdX1
extundelete --restore-all --after $(date -d "-2 hours" +%s) /dev/sdX1
find RECOVERED_FILES/

Se estiver satisfeito com os arquivos recuperados:

mount -o remount,rw /dev/sdX1
    
por 31.03.2015 / 04:29
2

O Unix não é DOS. Você não pode fazer modificações arbitrárias nos dados do sistema de arquivos em partições montadas em leitura / gravação.

Isso é uma coisa boa.

extundelete is a utility that can recover deleted files from an ext3 or ext4 partition. The ext3 and ext4 file systems are the most common default file systems in Linux distributions like Mint, Mageia, or Ubuntu. extundelete uses information stored in the partition's journal to attempt to recover a file that has been deleted from the partition. There is no guarantee that any particular file will be able to be undeleted, so always try to have a good backup system in place, or at least put one in place after recovering your files!

    
por 22.04.2014 / 14:11