O OpenTech Life voltou com tudo para trazer conteúdo de qualidade para vocês! Já que o nosso objetivo é trazer conteúdo em Português, decidimos traduzir alguns artigos que não estão na devida língua. O de hoje vem do blog TecMint.
Vamos falar sobre Filesystems e sobre o fsck. Os Sistemas de Arquivos 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 ser corrompido e certas partes dele ficam inacessíveis. Se o seu sistema de arquivos desenvolver tal inconsistência, é recomendado verificar sua integridade.
Isso pode ser concluído por meio do utilitário do sistema chamado fsck (file system consistency check). Esta verificação pode ser feita automaticamente durante a inicialização ou pode ser executada manualmente.
Quando usar o fsck no Linux
Existem diferentes cenários quando você deseja utilizar o fsck. Aqui estão alguns exemplos:
- O Sistema falha no boot
- Os arquivos no sistema ficam corrompidos (frequentemente você pode ver erros de entrada/saída)
- A unidade conectada (incluindo Flash Drives/SD Cards) não está funcionando como esperado.
Opções disponíveis do fsck
O comando fsck precisa ser executado com privilégios de superusuário (root). Para isso, normalmente usamos o comando:
1
su
Ele pedirá a senha de root. Já com o comando:
1
sudo su
Será pedido a senha do usuário que está dando o comando.
Você pode usar o fsck com argumentos diferentes. Seu uso 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 do/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 os sistemas de arquivos montados.-N
- Mostra somente o que seria feito (nenhuma alteração real é feita).-P
- Se você deseja verificar os sistemas de arquivos em paralelo, incluindo o root.-R
- Não checa o sistema de arquivos raiz. Isso é útil apenas com o-A
.-r
- Fornece estatísticas para cada dispositivo que está sendo verificado.-T
- Não mostra o título.-t
- Especifica exclusivamente os tipos de sistema de arquivos a serem verificados. Os tipos podem ser listas separadas por vírgulas.-V
- Providência uma descrição do que está sendo feito
Como Rodar o fsck para Reparar Erros do Sistema de Arquivos no Linux
Para executar o fsck, você precisa garantir que a partição a ser verificada não está montada. Adicionaremos aqui os prints tirados pelo autor do artigo original, que utilizou a /dev/sdb
montada em /mnt
.
Aqui está o que acontece se eu tentar executar o fsck quando a partição estiver montada.
1
# fsck /dev/sdb
Para evitar isso, desmonte a partição usando:
1
# umount /dev/sdb
Então o fsck pode ser executado com segurança.
1
2
# fsck /dev/sdb
Compreendendo os códigos de saída do fsck
Depois de executar o 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 left uncorrected
8 Operational error 16 Usage or syntax error
128 Shared-library error
32 Checking canceled by user request
Reparando Erros do Sistema de Arquivos no 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 os erros automaticamente. Isso pode ser feito com:
1
# fsck -y /dev/sdb
O parâmetro -y
dá o valor automático de “sim” para qualquer prompt do fsck, para que consiga corrigir um erro.
Da mesma forma, você pode executar o mesmo em todos os sistemas de arquivos (sem root):
1
$ fsck -AR -y
Como rodar o fsck na partição raiz do Linux
Em alguns casos, pode ser necessário executar o fsck na partição raiz do sistema (o /
). Como você não pode executar o fsck enquanto a partição está montada, você pode tentar uma dessas opções:
- Forçar o fsck na inicialização do sistema.
- Executar o fsck no modo de recuperação.
Ambas as situações serão revisadas.
Forçar o 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:
1
# touch /forcefsck
Em seguida, você pode simplesmente forçar ou agendar uma reinicialização do 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 pode levar um tempo extra.
Após a inicialização do sistema, verifique se o arquivo ainda existe:
1
# ls /forcefsck
Se ele ainda existir, você pode removê-lo para evitar o fsck em cada reinicialização do sistema.
Rodando o fsck no modo de recuperação
A execução do fsck em modo de recuperação requer mais algumas etapas. Primeiro. prepare seu sistema para reinicializar. Pare todos os serviços críticos como MySQL/MariaDB etc e digite:
1
# reboot
Durante o boot, mantenha pressionada a tecla shift
para que o menu grub seja mostrado. Selecione as Advanced Options
.
Em seguida, escolha o recovery mode
.
No próximo menu, selecione fsck
.
Você será questionado se deseja que o seu sistema de arquivos raiz seja remontado. Selecione Yes
.
Você deve ver algo semelhante a isso:
Você pode então retomar a inicialização normal, selecionando Resume
.
Conclusão
Neste tutorial, você aprendeu como usar o fsck e executar verificações de consistência em diferentes sistemas de arquivos Linux.
E é isso! Aqui está o artigo original em inglês, e aqui o nosso grupo no telegram ao qual todos são muito bem vindos! Nos vemos na próxima!