Pesquisa de site

Como usar ‘fsck’ para reparar erros do sistema de arquivos no Linux


Os sistemas de arquivos Linux são responsáveis por organizar como os dados são armazenados e recuperados. De uma forma ou de outra, com o tempo, o sistema de arquivos pode ficar corrompido e certas partes dele podem não estar acessíveis. Se o seu sistema de arquivos desenvolver tal inconsistência, é recomendável verificar sua integridade.

Isso pode ser feito por meio de um utilitário de sistema chamado fsck (verificação de consistência do sistema de arquivos), que verifica o sistema de arquivos raiz automaticamente durante a inicialização ou é executado manualmente.

Neste artigo, revisaremos o comando fsck e seu uso para ajudá-lo a reparar erros de disco do Linux.

Quando usar o comando fsck no Linux

Existem diferentes cenários em que você deseja executar o fsck. Aqui estão alguns exemplos:

  • O sistema não inicializa.
  • Os arquivos no sistema ficam corrompidos (muitas vezes você pode ver erros de entrada/saída).
  • A unidade conectada (incluindo unidades flash/cartões SD) não está funcionando conforme o esperado.

Opções de comando fsck

O comando fsck precisa ser executado com privilégios de superusuário ou root. Você pode usá-lo com argumentos diferentes. A sua utilização depende do seu caso específico. Abaixo você verá algumas das opções mais importantes:

  • -A – Usado para verificar todos os sistemas de arquivos. A lista é retirada de /etc/fstab.
  • -C – Mostra a barra de progresso.
  • -l – Bloqueia o dispositivo para garantir que nenhum outro programa tente usar a partição durante a verificação.
  • -M – Não verifica sistemas de arquivos montados.
  • -N – Mostra apenas o que seria feito – nenhuma alteração real é feita.
  • -P – Se você deseja verificar sistemas de arquivos em paralelo, incluindo root.
  • -R – Não verifique o sistema de arquivos raiz. Isso é útil apenas com ‘-A‘.
  • -r – Fornece estatísticas para cada dispositivo que está sendo verificado.
  • -T – Não mostra o título.
  • -t – Especifique exclusivamente os tipos de sistemas de arquivos Linux a serem verificados. Os tipos podem ser listas separadas por vírgula.
  • -V – Fornece uma descrição do que está sendo feito.

Execute o comando fsck para reparar erros do sistema de arquivos Linux

Para executar o fsck, você precisará garantir que a partição que você irá verificar não esteja montada. Para os fins deste artigo, usarei minha segunda unidade /dev/sdb montada em /mnt.

Aqui está o que acontece se eu tentar executar o fsck quando a partição estiver montada.

fsck /dev/sdb

Para evitar isso, desmonte a partição usando.

umount /dev/sdb

Então fsck pode ser executado com segurança.

fsck /dev/sdb

Compreendendo os códigos de saída do fsck

Após executar fsck, ele retornará um código de saída. Esses códigos podem ser vistos no manual do fsck executando:

man fsck

0      No errors
1      Filesystem errors corrected
2      System should be rebooted
4      Filesystem errors were left uncorrected
8      Operational error
16     Usage or syntax error
32     Checking canceled by user request
128    Shared-library error            

Fsck Reparar sistema de arquivos Linux

Às vezes, mais de um erro pode ser encontrado em um sistema de arquivos. Nesses casos, você pode desejar que o fsck tente corrigir automaticamente os erros. Isso pode ser feito com:

fsck -y /dev/sdb

O sinalizador -y, “yes” automaticamente para qualquer prompt do fsck para corrigir um erro.

Da mesma forma, você pode executar o mesmo em todos os sistemas de arquivos (sem root):

fsck -AR -y 

Como executar o fsck na partição raiz do Linux

Em alguns casos, pode ser necessário executar o fsck na partição raiz do seu sistema. Como você não pode executar o fsck enquanto a partição está montada, você pode tentar uma destas opções:

  • Forçar fsck na inicialização do sistema
  • Execute fsck no modo de recuperação

Analisaremos ambas as situações.

Forçar fsck na inicialização do sistema

Isso é relativamente fácil de fazer, a única coisa que você precisa fazer é criar um arquivo chamado forcefsck na partição raiz do seu sistema. Use o seguinte comando:

touch /forcefsck

Então você pode simplesmente forçar ou agendar uma reinicialização do seu sistema. Durante a próxima inicialização, o fsck será executado. Se o tempo de inatividade for crítico, é recomendado planejá-lo cuidadosamente, pois se houver muitos inodes usados em seu sistema, o fsck poderá levar algum tempo extra.

Após a inicialização do sistema, verifique se o arquivo ainda existe:

ls /forcefsck

Se isso acontecer, você pode querer removê-lo para evitar fsck em cada inicialização do sistema.

Execute fsck no modo de resgate

Executar o fsck no modo de recuperação requer mais algumas etapas. Primeiro, prepare seu sistema para a reinicialização. Pare quaisquer serviços críticos como MySQL/MariaDB etc e digite.

reboot

Durante a inicialização, mantenha pressionada a tecla shift para que o menu grub seja mostrado. Selecione “Opções avançadas”.

Em seguida, escolha “modo de recuperação”.

No próximo menu selecione “fsck ”.

Você será perguntado se deseja que seu sistema de arquivos / seja remontado. Selecione “sim”.

Você deverá ver algo semelhante a isto.

Você pode então retomar a inicialização normal selecionando “Retomar ”.

Conclusão

Neste tutorial, você aprendeu como usar fsck e executar verificações de consistência em diferentes sistemas de arquivos Linux. Se você tiver alguma dúvida sobre o fsck, não hesite em enviá-la na seção de comentários abaixo.