Pesquisa de site

Como recuperar um arquivo excluído no Linux


Isso já aconteceu com você? Você percebeu que excluiu um arquivo por engano – seja por meio da tecla Del ou usando rm na linha de comando.

No primeiro caso, você sempre pode ir até a Lixeira, procurar o arquivo e restaurá-lo ao seu local original. Mas e o segundo caso? Como tenho certeza que você provavelmente sabe, a linha de comando do Linux não envia arquivos removidos para lugar nenhum – ela os REMOVE. Vagabundo. Eles foram embora.

Leitura sugerida: Como recuperar arquivos/diretórios excluídos usando a ferramenta Scalpel

Neste artigo compartilharemos uma dica que pode ser útil para evitar que isso aconteça com você, e uma ferramenta que você pode considerar usar se em algum momento for descuidado o suficiente para fazer isso de qualquer maneira.

Crie um alias para ‘rm -i’

A opção -i, quando usada com rm (e também outras ferramentas de manipulação de arquivos como cp ou mv) faz com que um prompt apareça antes de remover um arquivo.

O mesmo se aplica a copiar, mover ou renomear um arquivo em um local onde já exista um com o mesmo nome.

Este prompt lhe dá uma segunda chance de considerar se você realmente deseja remover o arquivo – se você confirmar o prompt, ele desaparecerá. Nesse caso, sinto muito, mas esta dica não irá protegê-lo do seu próprio descuido.

Para substituir rm por um alias para 'rm -i', faça:

alias rm='rm -i'

O comando alias confirmará que rm agora tem alias:

No entanto, isso durará apenas durante a sessão atual do usuário no shell atual. Para tornar a alteração permanente, você terá que salvá-la em ~/.bashrc (algumas distribuições podem usar ~/.profile) conforme mostrado abaixo:

Para que as alterações em ~/.bashrc (ou ~/.profile) tenham efeito imediato, obtenha o arquivo do shell atual:

. ~/.bashrc

A ferramenta forense – em primeiro lugar

Esperançosamente, você terá cuidado com seus arquivos e só precisará usar esta ferramenta ao recuperar um arquivo perdido de um disco externo ou unidade USB.

No entanto, se você perceber que removeu acidentalmente um arquivo do seu sistema e vai entrar em pânico – não faça isso. Vejamos primeiro uma ferramenta forense que foi projetada para esse tipo de cenário.

Para instalar principalmente no CentOS/RHEL 7, você precisará primeiro ativar o Repoforge:

rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
yum install foremost

Enquanto no Debian e derivados, basta fazer

aptitude install foremost

Assim que a instalação for concluída, vamos prosseguir com um teste simples. Começaremos removendo um arquivo de imagem chamado nosdos.jpg do diretório /boot/images:

cd images
rm nosdos.jpg

Para recuperá-lo, use principalmente o seguinte (você precisará identificar primeiro a partição subjacente – /dev/sda1 é onde /boot reside neste caso):

foremost -t jpg -i /dev/sda1 -o /home/gacanepa/rescued

onde /home/gacanepa/rescued é um diretório em um disco separado – lembre-se de que recuperar arquivos na mesma unidade onde os removidos estavam localizados não é uma atitude inteligente.

Se, durante a recuperação, você ocupar os mesmos setores do disco onde estavam os arquivos removidos, talvez não seja possível recuperar nada. Além disso, é essencial interromper todas as suas atividades antes de realizar a recuperação.

Após o término da execução, o arquivo recuperado (se a recuperação for possível) será encontrado dentro do diretório /home/gacanepa/rescued/jpg.

Resumo

Neste artigo explicamos como evitar a remoção acidental de um arquivo e como tentar recuperá-lo caso tal evento indesejado aconteça. Esteja avisado, entretanto, que o principal pode demorar um pouco para ser executado, dependendo do tamanho da partição.

Como sempre, não hesite em nos informar se tiver dúvidas ou comentários. Sinta-se à vontade para nos enviar uma mensagem usando o formulário abaixo.