Categories: Tecnologia

Como usar o comando fsck no Linux

Pixza Studio / Shutterstock

Todos os nossos dados importantes ficam em um sistema de arquivos de um tipo ou outro, e os problemas do sistema de arquivos estão prestes a acontecer. No Linux, podemos usar o fsckcomando para localizar e corrigir erros do sistema de arquivos.

Sistemas de arquivos são software

Os sistemas de arquivos são um dos componentes mais críticos de um computador. Sem um sistema de arquivos, o computador não pode armazenar nenhum dado em um disco rígido, seja esse disco um prato mecânico giratório ou um disco de estado sólido . Na verdade, um sistema de arquivos deve ser criado antes que o sistema operacional possa ser instalado no disco rígido. Deve haver algo para os arquivos do sistema operacional serem armazenados. Portanto, um sistema de arquivos é criado durante o processo de instalação.

Os sistemas de arquivos são  criados pelo software , gravados no software e lidos pelo software. Como você sabe, todo software complexo possui bugs. Nossos dados são extremamente importantes para nós, portanto, estamos depositando muita fé nos sistemas de arquivos e no software que os cria e usa. Se algo der errado, podemos perder o acesso a partes do sistema de arquivos ou até mesmo a uma partição inteira.

Os sistemas de arquivos com registro de  mudanças modernos  são melhores no tratamento de problemas que podem ser causados ​​por uma queda repentina de energia ou um travamento do sistema. Eles são robustos, mas não são invencíveis. Se suas tabelas internas forem  embaralhadas,  eles podem perder o controle de onde cada arquivo reside na unidade, qual é o tamanho, o nome que tem e quais permissões de arquivo estão definidas para eles.

O fsckcomando permite que você verifique se seus sistemas de arquivos estão íntegros. Se encontrar algum problema, ele também pode corrigi-lo para você.

Faça as verificações prévias

O uso fsckrequer privilégios de sudo . Qualquer comando que pode fazer alterações em um sistema de arquivos precisa ser tratado com cuidado e restrito àqueles que sabem o que estão fazendo.

Os pilotos não saltam para dentro de uma aeronave, dão a partida e voam para o céu azul claro. Eles fazem verificações de pré-voo. Há muito em jogo para fazer de outra forma. É um bom hábito a desenvolver. Antes de usar, fsckvocê precisa se certificar de que vai usá-lo na unidade correta. Portanto, antes de fazer qualquer coisa com fsck, vamos fazer um pequeno reconhecimento.

Vamos começar com fdiske canalizá-lo para less. Não estamos pedindo informações sobre uma partição específica. Usando a -lopção (list) fdisklista as tabelas de partição em todos os dispositivos que encontra no arquivo “/ proc / partitions”, se existir.

sudo fdisk -l | menos

Podemos ver as entradas para /dev/sdae /dev/sdb. Você pode percorrer o arquivo para ver quaisquer outras entradas que possam existir em seu computador.

As partições em /dev/sdasão listados como /dev/sda1, /dev/sda2, e /dev/sda3. Portanto, temos três partições na primeira unidade. Podemos ver um pouco mais de informações usando o parted comando. Usaremos a 'print'opção de exibir as tabelas de partição na janela do terminal.

sudo parted / dev / sda 'imprimir'

Desta vez, obtemos algumas informações extras, incluindo o tipo de sistema de arquivos em cada partição.

Modelo: ATA VBOX HARDDISK (scsi) 
Disco / dev / sda: 34,4 GB 
Tamanho do setor (lógico / físico): 512B / 512B 
Tabela de partição: gpt 
Sinalizadores de disco:

Número inicial e final Tamanho do sistema de arquivos Sinalizadores de nome 
1 1049kB 2097kB 1049kB bios_grub 
2 2097kB 540 MB 538 MB fat32 EFI System Partition boot, esp 
3 540 MB 34,4 GB 33,8 GB ext4

Existem três unidades neste computador de teste. Estes são os resultados para as outras duas unidades  /dev/sdbe /dev/sdc. Observe que esses sistemas de arquivos não têm o campo “Nome”.

sudo parted / dev / sdb 'print'
Modelo: ATA VBOX HARDDISK (scsi) 
Disco / dev / sdb: 21,5 GB 
Tamanho do setor (lógico / físico): 512B / 512B 
Tabela de partição: msdos 
Sinalizadores de disco:

Número Início Final Tamanho Tipo Sistema de arquivos Sinalizadores 
1 1049 kB 21,5 GB 21,5 GB ext4 primário
sudo parted / dev / sdc 'print'
Modelo: ATA VBOX HARDDISK (scsi) 
Disco / dev / sdc: 21,5 GB 
Tamanho do setor (lógico / físico): 512B / 512B 
Tabela de partição: msdos 
Sinalizadores de disco:

Número Início Final Tamanho Tipo Sistema de arquivos Sinalizadores
1 1049 kB 21,5 GB 21,5 GB ext3 primário

Acontece que a segunda e a terceira unidades têm o mesmo tamanho e cada uma tem uma única partição. Mas o sistema de arquivos da segunda unidade é ext4, e o sistema de arquivos da terceira unidade é o mais antigo ext3.

Passamos um identificador de partição para fscke ele verifica o sistema de arquivos nessa partição. Mas não podemos executar fsckem um sistema de arquivos montado. Precisamos desmontar a unidade. Para fazer isso, precisamos saber o ponto de montagem em que a partição – e, portanto, o sistema de arquivos – está montada.

Podemos descobrir isso facilmente usando o dfcomando.

df / dev / sdb1
df / dev / sdc1

Usando o Comando fsck

Temos todas as informações de que precisamos. A primeira coisa que faremos é desmontar o sistema de arquivos que vamos verificar. Vamos trabalhar no sistema de arquivos na primeira – e única – partição /dev/sdb, que é /dev/sdb1. Vimos anteriormente que este é um ext4sistema de arquivos e está montado em “/ run / mount / dave / sata2.”

Usaremos o umountcomando. Observe que não há “n” em “umount”.

sudo umount / run / mount / dave / sata2

Com umount, nenhuma notícia é uma boa notícia. Se você retornar silenciosamente ao prompt de comando, estamos prontos para prosseguir.

sudo fsck / dev / sdb1

Este sistema de arquivos é relatado como limpo. Isso significa que o sistema de arquivos está relatando que não tem erros ou problemas. Uma verificação mais profunda do sistema de arquivos não é conduzida automaticamente. Também podemos examinar o código de retorno que fsckretornou ao shell.

echo $?

O valor de retorno de zero indica nenhum erro. Os códigos de retorno possíveis são:

  • 0 : Sem erros
  • 1 : Erros do sistema de arquivos corrigidos
  • 2 : O sistema deve ser reiniciado
  • 4 : Erros do sistema de arquivos não corrigidos
  • 8 : Erro operacional
  • 16 : Erro de uso ou sintaxe
  • 32 : Verificação cancelada por solicitação do usuário
  • 128 : Erro de biblioteca compartilhada

Apesar de o sistema de arquivos ser relatado como limpo, podemos forçar a realização de uma verificação do sistema de arquivos, usando a -fopção (forçar).

sudo fsck / dev / sdb1 -f

Desta vez, a verificação leva mais tempo para ser concluída, mas executa um teste mais completo do sistema de arquivos. Nosso sistema de arquivos estava realmente limpo e nenhum erro foi relatado. Se forem encontrados problemas durante a realização dos testes, você será solicitado a deixar que fscko problema seja corrigido ou a ignorar o erro.

Ao terminar o teste, você precisa remontar o sistema de arquivos. A maneira mais fácil de fazer isso é usar mounta -aopção (todos). Isso verifica “/ etc / fstab” para a lista de sistemas de arquivos e garante que todos eles estão montados da mesma forma que estariam após uma inicialização normal.

sudo mount -a

Observe que não precisamos dizer fsckque tipo de sistema de arquivos está em uma partição; o utilitário determina isso examinando o sistema de arquivos. Isso significa que podemos forçar uma verificação do sistema de arquivos /dev/sdc1, o ext3sistema de arquivos em nosso PC de teste, usando exatamente o mesmo comando que usamos /dev/sdb1, que é uma ext4partição.

sudo fsck / dev / sdc1 -f

Você pode não querer mergulhar direto na correção do sistema de arquivos. Você pode preferir olhar antes de pular. Você pode pedir fsckpara não se oferecer para consertar nada e apenas relatar os problemas para a janela do terminal. A opção -N(simulação) faz exatamente isso:

sudo fsck -N / dev / sdb1

O oposto disso é dizer fsckpara não se preocupar em avisar se ele encontrar algum erro e apenas ir em frente e corrigi-lo. Para fazer isso, use a opção -y(sem prompts).

sudo fsck -y / dev / sdb1

Usando fsck na partição raiz

Você não pode usar fsckem uma partição montada, mas para inicializar seu computador, a partição raiz deve ser montada. Então, como podemos executar fsckna partição raiz? A resposta é interromper o processo de inicialização e executar fsckno modo de recuperação.

Enquanto o computador está inicializando, mantenha pressionada a tecla “Shift”. Se você cronometrou corretamente, você não inicializará no Linux. O processo de inicialização irá parar em um menu preto e branco. A máquina de teste usada para este artigo estava executando o Ubuntu, mas outras distribuições têm o mesmo tipo de menu, embora possa variar na aparência. Onde diz “Ubuntu” nas imagens, terá o nome da sua distribuição.

Mova a barra de realce com as teclas “Seta para cima” e “Seta para baixo” para que o item de menu “Opções avançadas para Ubuntu” seja selecionado. Pressione “Enter” para ir para a próxima tela.

Selecione a opção que termina com “(modo de recuperação).” Em nosso exemplo, é “Ubuntu, com Linux 5.11.0-20-generic (modo de recuperação).” Pressione a tecla “Enter”.

Você verá o menu de recuperação. Selecione “fsck verificar todos os sistemas de arquivos” e pressione a tecla “Tab” para mover o destaque para o botão “OK”. Pressione Enter.”

Você verá uma notificação de que a partição raiz será montada junto com quaisquer outras partições definidas em seu arquivo “/ etc / fstab” .

Pressione a tecla “Tab” para mover o destaque para o botão “Sim” e pressione “Enter”.

Você verá a fsckexecução no modo interativo. Se houver problemas, você será solicitado a deixá- fscklos corrigi-los ou ignorá-los. Quando os sistemas de arquivos forem verificados, você verá o menu de recuperação novamente.

Selecione a opção “retomar”, pressione a tecla “Tab” para mover o destaque para o botão “Ok” e pressione “Enter”. O processo de inicialização será retomado e você inicializará no Linux.

A inicialização do modo de recuperação pode afetar alguns drivers, portanto, é uma boa prática reinicializar mais uma vez, assim que inicializar no Linux. Isso garante que o computador esteja operando de acordo com o padrão.

Quando as coisas dão errado

As redes de segurança existem por um motivo. Conheça o fsckcomando. Se surgir a necessidade de usá-lo com raiva um dia, você ficará feliz por ter se familiarizado com antecedência.

maisroot

Recent Posts

O novo aplicativo “PC Manager” da Microsoft se parece muito com o CCleaner

Muitos aplicativos de limpeza estão disponíveis para Windows ao longo dos anos, mas hoje em…

1 ano ago

Como reiniciar um PS4

Seu PlayStation 4 está congelado? Seus jogos favoritos continuam travando? Reiniciar seu PS4 pode resolver…

1 ano ago

Veja por que as reticências são tão assustadoras ao enviar mensagens de texto…

A popularidade das mensagens de texto significou aprender uma forma totalmente nova de comunicação. Você…

1 ano ago

O telescópio James Webb acaba de capturar os “Pilares da Criação”

A foto dos "Pilares da Criação" tirada pelo Telescópio Espacial Hubble é uma das fotos…

1 ano ago

Você poderá baixar o Proton Drive mais cedo do que pensa

O Proton Drive saiu de seu estágio beta há algumas semanas, mas o aplicativo real…

1 ano ago

Como aumentar o zoom no Photoshop

Para ver suas fotos mais de perto ou para uma edição precisa , você pode…

1 ano ago