CodeGym /Cursos /Docker SELF /Verificação e correção do sistema de arquivos: comandos f...

Verificação e correção do sistema de arquivos: comandos fsck

Docker SELF
Nível 6 , Lição 2
Disponível

Verificação e correção do sistema de arquivos: comandos fsck

1. Por que é importante verificar o sistema de arquivos?

O sistema de arquivos no Linux é realmente um dos "funcionários" mais "ocupados" do sistema operacional. Ele trabalha enquanto você salva arquivos, abre programas ou simplesmente lê dados. Agora imagina: no momento mais crítico, esse funcionário se cansa e resolve desmaiar (leia-se: o sistema desligou por causa de uma queda de energia). Isso pode levar a danos na tabela de arquivos, perda de dados ou vários outros problemas desagradáveis.

Mas o que pode dar errado?

  1. Queda repentina de energia — seu dispositivo desligou de repente sem terminar de gravar os dados.
  2. Erro de armazenamento — o HD ou SSD pode ter falhas de hardware que danifiquem o sistema de arquivos.
  3. Erros de software — bugs nos drivers ou ferramentas do sistema não estão descartados.

Geralmente, depois de eventos assim, o sistema de arquivos fica danificado, e o sistema pode te pedir para verificar o estado dele. É aí que entra o fsck, que significa File System Check.


2. O que é fsck e como ele funciona?

A ideia da ferramenta

fsck — é uma ferramenta universal que verifica a integridade do sistema de arquivos e corrige os erros encontrados. Funciona como um médico: realiza testes, encontra o problema e, se possível, "cura". Se o problema for muito sério, fsck pelo menos consegue diagnosticar o que deu errado.

Quando usar fsck?

  1. Em falhas evidentes com arquivos (por exemplo, eles de repente "sumiram").
  2. Se o sistema não iniciar e relatar um erro do sistema de arquivos.
  3. Para manutenção regular, pra se certificar de que está tudo certo.

3. Sintaxe principal do fsck

Pra usar o fsck, geralmente se utiliza o seguinte comando:

fsck [opções] <dispositivo>

Opções principais:

  • -y — Confirma automaticamente as correções. Isso é útil se você não quiser ficar digitando yes pra cada pergunta.
  • -n — Apenas verificação, sem correção (modo dry run). Útil pra analisar a situação se você está com medo de estragar algo.
  • -t — Especificar o tipo do sistema de arquivos (por exemplo, ext4, xfs).
  • -r — Ativar o modo interativo (você confirma cada correção).

4. Prática: verificação do sistema de arquivos

Bora começar com uma verificação básica. Digamos que temos um dispositivo /dev/sdb1 que queremos verificar.

Passo 1: Verificação sem correções

Primeiro, vamos avaliar o estado do sistema de arquivos sem fazer alterações:

fsck -n /dev/sdb1

Depois de rodar o comando, você verá uma lista de problemas encontrados, se houver. Aqui está um exemplo de saída:

Inodes que faziam parte de uma lista órfã corrompida encontrados.
Erros no sistema de arquivos detectados. Execute fsck para reparar.

Passo 2: Correção automática

Agora vamos ativar o modo de correção de erros:

fsck -y /dev/sdb1

fsck tentará corrigir cada erro encontrado e confirmar automaticamente a ação. Isso pode levar algum tempo caso o dispositivo seja grande.


5. O que fazer se o sistema de arquivos estiver em uso?

Erro ao executar fsck

Se você tentar executar o fsck em uma partição que já está montada, vai receber o seguinte aviso:

fsck: cannot check a mounted filesystem.

Isso acontece porque verificar um sistema de arquivos montado pode causar danos aos dados. Há algumas maneiras de resolver esse problema.

  1. Monte o dispositivo no modo somente leitura.
mount -o remount,ro /dev/sdb1
  1. Use um LiveCD ou LiveUSB.

Inicialize a partir de um disco ou pendrive de recuperação para realizar a verificação no dispositivo já desmontado.

  1. Use o modo de recuperação.

Reinicie o sistema no modo de recuperação, que geralmente oferece um ambiente seguro para realizar a verificação.

Particularidades da verificação do sistema de arquivos raiz /

O sistema de arquivos raiz é um caso único, pois ele é ativamente usado pelo sistema. Para executar o fsck nesse tipo de partição, será necessário:

  1. Entrar no modo de usuário único com o comando:
systemctl isolate rescue.target
  1. Executar manualmente o fsck:
fsck -y /

6. Erros típicos e como corrigí-los

inodes corrompidos

Se fsck reportar inodes corrompidos (estruturas que armazenam informações sobre arquivos), ele vai sugerir removê-los. Isso é seguro, já que um inode corrompido não está mais ligado a arquivos existentes.

Arquivos perdidos

Às vezes, depois de rodar fsck, arquivos perdidos vão parar no diretório lost+found na raiz do sistema de arquivos. Você pode verificar esse local manualmente para recuperar dados importantes.

Recomendações importantes

  1. Sempre faça backups antes de realizar verificações. Mesmo que fsck normalmente funcione de forma segura, correções podem levar à perda de dados.

  2. Não execute fsck em partições montadas. Isso pode causar corrupção de dados.

  3. Use a flag -n para uma análise inicial. Se não tem certeza se deve corrigir erros automaticamente, comece com uma execução simulada.


7. Exemplo: Simulação de erro e correção

  1. Crie um disco virtual e crie um sistema de arquivos nele:
dd if=/dev/zero of=./disk.img bs=1M count=100
mkfs.ext4 ./disk.img
  1. Monte o disco:
sudo mount ./disk.img /mnt/test/
  1. Simule um dano:
sudo dd if=/dev/zero of=/mnt/test/randomfile bs=512 count=10
  1. Desmonte o disco e verifique-o:
sudo umount /mnt/test/
fsck ./disk.img

Seguindo as saídas do comando, corrija os erros.

Neste ponto, você entende com confiança a verificação do sistema de arquivos, consegue corrigir erros corretamente e prevenir falhas. Novas ferramentas de trabalho com sistemas de arquivos nos aguardam no futuro, mas agora fsck é sua ferramenta confiável para diagnóstico e correção.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION