Como recuperar um arquivo sobrescrito por outro no Linux?

4

Eu fiz isso na linha de comando (Ubuntu 12.04, ext4)

mv some_arbit_file required_file

Existe alguma maneira de recuperar o arquivo required_file? Eu tinha colocado muito trabalho nisso. Eu costumo fazer backup de arquivos, mas esqueci dessa vez.

    
por Rakesh 08.07.2012 / 10:55

3 respostas

4

Algumas pessoas sugerem

$ su
# umount /home
# grep -a -A800 -B800 'soldier' /dev/sda2 | strings > recovered_file

Onde seu arquivo estava no sistema de arquivos / home, 'home foi montado em / dev // sda2 e soldado é uma frase chave que provavelmente é exclusiva do arquivo sobrescrito.

O recover_file provavelmente é grande, mas tem uma chance de conter texto do arquivo sobrescrito. Se o arquivo sobrescrito não foi principalmente texto, essa abordagem não é útil.

É importante tomar medidas para impedir que o sistema operacional faça gravações adicionais no sistema de arquivos que contém seu arquivo. Uma boa maneira é inicializar a partir de um CD ao vivo. Se você pode desmontar o sistema de arquivos ou remontá-lo somente para leitura, isso é bom.

Você pode achar interessante ler link - embora isso se aplique mais a arquivos excluídos do que a substituídos uns. No entanto, se você editou anteriormente o arquivo sobrescrito, é provável que o editor tenha deixado várias cópias excluídas no disco como parte natural do processo de edição.

    
por 08.07.2012 / 11:26
1

Pare de usar / desmontar a partição correspondente o mais rápido possível.

Considere este tópico onde extundelete é mencionado. Além disso, existem photorec , acima a>, e bisturi que são escultores de arquivos muito poderosos que podem ajudar a recuperar seu arquivo (por exemplo, encontrando versões mais antigas ou backups do seu arquivo). arquivo que ainda não foram sobrescritos).

Todas essas ferramentas estão disponíveis em seus repositórios apt do Ubuntu ( photorec vem com o pacote testdisk ).

Lembre-se de salvar os resultados da recuperação em outra partição diferente daquela em que você recuperou seus dados.

No entanto, se o seu arquivo foi realmente substituído (ou seja, a mesma área do disco rígido onde o arquivo antigo foi armazenado foi usado para armazenar o novo arquivo), não há possibilidade de recuperar o arquivo (Nota: Isto é válido apenas para discos rígidos - arquivos de armazenamento de arquivos (e "sobrescrever") de outra maneira). Se você tiver sorte, poderá recuperar apenas partes do arquivo que não foram sobrescritas, por exemplo, se o novo arquivo era menor que o antigo.

    
por 08.07.2012 / 11:29
0

Eu não acho que o arquivo_necessário tenha sido substituído por essa ação. Foi bastante "desvinculado" do inode correspondente para "desaparecer". Nem o arquivo_arbit_de_arquivo alterou sua localização - mas sim o "ponteiro" que anteriormente apontava para arquivo_necessário, que agora está apontando aqui.

Existem ferramentas para ajudar você nos casos de souch, por exemplo, Sleuthkit ou Testdisk . Mas eles exigem algum trabalho manual - e não é tão fácil de fazer se você não sabe por onde começar. Há também um script chamado ext3undel que usa essas ferramentas e automatiza o processo, ou o autônomo extundelete .

O que você tentar fazer: não tocar na partição do disco afetada, melhora suas chances de recuperar o arquivo perdido. Fazer todas as ações em outra máquina seria melhor, e montar a unidade afetada somente para leitura, mesmo para recuperação, também melhora suas chances. Não tendo uma máquina diferente, você poderia tentar um live CD (certifique-se de não montar o disco afetado no modo write aqui também!). Mesmo sendo LiveCDs, eles permitem a instalação de software na memória, para que você possa recuperar e executar qualquer uma das ferramentas mencionadas acima. Tenha um meio adicional disponível (por exemplo, um pen drive, cartão SD, unidade externa ...) para armazenar seus arquivos recuperados e execute o processo - o que você escolheu - de lá.

    
por 09.07.2012 / 16:07