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

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

Estou procurando um comando simples com o qual eu poderia tentar se conseguir recuperá-lo rapidamente.

Eu sei, é possível com a remontagem da unidade em somente leitura : (consulte Como fazer Eu simplesmente recupero o único arquivo em um disco vazio que acabei de excluir? )

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


Para informações:
se o arquivo excluído estiver em uma partição NTFS, é fácil com ntfsundelete por exemplo se você sabe que o tamanho era de cerca de 250 MB, use

sudo ntfsundelete -S 240m-260m -p 100 /dev/hda2 

e depois cancele a exclusão do arquivo inode por exemplo com

sudo ntfsundelete /dev/hda2 --undelete --inodes 8270 

Comentários

  • Pergunta geral com qualquer utilitário: unix.stackexchange.com/questions/2677/…
  • Essa outra questão é muito ampla. Estou procurando uma solução rápida e insegura sem muito esforço (e menos chance de sucesso)
  • Não tive a intenção de sugerir duplicidade, mas você pode querer adicioná-la à pergunta por que essa pergunta não foi suficiente .

Resposta

Olhando para o guia de uso em extundelete parece que você está limitado a recuperar arquivos de algumas maneiras.

Restaurando todos

extundelete é projetado para recuperar arquivos de uma partição desmontada para uma partição separada (montada). extundelete irá restaurar todos os arquivos que encontrar em um subdiretório do diretório atual denominado “RECOVERED_FILES”. Para executar o programa, digite “extundelete –help” para ver várias opções disponíveis para você.

O uso típico para restaurar todos os arquivos excluídos de uma partição é assim:

 $ extundelete /dev/sda4 --restore-all 

Restaurando um único arquivo

Além deste 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". 

Portanto, você deve ser capaz de realizar o que deseja fazendo:

$ 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 uso de extundelete e não há como contornar isso.

Comentários

  • sim, mas tudo isso só funciona, se eu remontar a unidade somente leitura
  • @ rubo77 – correto, não há ' Não há como contornar isso.
  • Isso realmente funcionou para mim em um sistema de arquivos ext4 sem remontá-lo somente leitura. Se você tentar fazer isso sem remontar r / o, receberá um aviso que parece estar apenas dizendo que sua probabilidade de sucesso é menor se você fizer isso. Se ' for realmente super vital recuperar o arquivo, então parece que você deve fazer isso.
  • Como @BenCrowell I ' Já usei sem remontar, mas o programa me avisa sobre corrupção de dados se eu continuar usando o hdd … foi um apagamento recente, então eu apenas pressiono Enter e recebo meus arquivos de volta;)

Resposta

O cenário de uso típico ao recuperar todos os arquivos 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 

Comentários

  • montagem: você deve especificar o tipo de sistema de arquivos
  • remount espera o ponto de montagem como argumento e não o dispositivo
  • @Don ' tYouWorryChild mount -o leva dir ou dispositivo, conforme man mount
  • Em vez de subtrair 2 horas fr om data que você pode fazer $(date -d "-2 hours" +%s) e a saída de lsblk -p pode ser útil para encontrar onde o volume EXT4 armazenado em cache LVM criptografado por LUKS está localizado. 😉
  • Observe que o diretório de destino será relativo a $PWD que eu não ' acho que não está claramente definido nas páginas de manual.

Resposta

extundelete não funcionou para mim, mas ext4magic sim.

Comentários

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *