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.