Recuperando arquivos - método
I
Até agora estivemos falando de soluções
para proteção, agora vamos mostrar como fazer a
recuperação propriamente dita. Para o caso em que
você apagou um arquivo e precisa dele de volta de
qualquer jeito, não tem backup e não tem como
revê-lo de maneira alguma. Sao para esses casos que
você deve usar esta solução. A taxa de
recuperação não é de 100%, varia de
acordo com o quanto o seu disco é usado. Para
estações de trabalho não servidoras de
recursos, essa taxa pode chegar até 80%, se assim que
apagado o arquivo você parar com tudo e tentar
recupera-lo. Um outro fator de recuperação é o
tamanho do arquivo e a fragmentação da sua
partição. Arquivos grandes ou partições
muito fragmentadas dificultam muito a
recuperação.
Nosso objetivo é recuperar os dados que estão
gravados no disco, mas não são mais visíveis
para o sistema operacional. Quando você apaga um
arquivo, você na verdade apaga um link para o bloco de
dados aonde o arquivo é armazenado. Existem uma
série de flags de controle no bloco. Uma delas é se
o bloco contém ou não um arquivo. Em outras
palavras se ele pode ou não ser usado. Uma das formas de
recuperar um arquivo é mudar essa flag e informar que
agora esse bloco não é mais um bloco deletado. Essa
maneira não é segura e você vai depender de
muita sorte, ainda mais quando se tratarem de arquivo
grandes, que são gravados em vários blocos de
dados. Uma outra maneira, essa mais segura, eficiente,
porém mais demorada, é procurar aonde os dados se
encontraram na sua partição e copia-los para um
novo arquivo.
Primeiramente, e independentemente do método
escolhido, precisamos desmontar (unmount) o filesystem em que
os arquivos foram deletados. Assim que você perceber que
apagou arquivos indevidademente, é recomendado que
desmonte a partição e remonte em estado read-only.
Assim não tem como sobrescrever os blocos apagados, e os
danos podem ser menores.
Para desmontar a partição no diretório
/home:
# umount /home
Para remontar com flags read-only, você pode fazer a
leitura/execução dos arquivos nesta
partição, mas não pode escrever nada:
# mount -o ro,remount /home
Se os arquivos apagados estão na partição
'root' /, você precisa incluir a opção
'-n':
# mount -n -o ro,remount /
Se quando voce tentar desmontar a partição,
receber a mensagem de erro: 'Resource busy', significa que
algum programa está usando algum arquivo dentro dessa
partição, e que não foi possível
desmontar a partição. Para saber quem é esse
programa e tomar as atitudes necessárias, existe um
utilitário que os lista. Para o nosso exemplo usandos da
seguinte forma:
# fuser -v -m /home
Isso lista cada processo que esteja usando a
partição /home. Você pode mandar agora um
comando para 'matar' todos esses processos, para que
você possa executar o unmount. Talvez seja
necessário que se use o suid para isso, contando que nem
todos os processos tem como proprietário você
mesmo.
# fuser -k -v -m /home
Outra forma de matar os processos, é descrita abaixo.
Para os programas que usam as bibliotecas signal, essa forma
abaixo é mais limpa.
# fuser -k -TERM -v -m /home
Conclusão
Nesse primeiro artigo você conferiu uma pequena
introdução sobre backup e recuperação de
arquivos. Nas próximas semanas estarei falando sobre
outros métodos de recuperação, além de
como recuperar arquivos muito grandes. Não perca!