Como usar o comando Fsck no Linux (para reparar o sistema de arquivos) 您所在的位置:网站首页 linuxfsck Como usar o comando Fsck no Linux (para reparar o sistema de arquivos)

Como usar o comando Fsck no Linux (para reparar o sistema de arquivos)

2024-04-24 15:02| 来源: 网络整理| 查看: 265

Como usar o comando Fsck no Linux (para reparar o sistema de arquivos)

Os sistemas Linux vêm com um utilitário de linha de comando fsck para verificar erros no sistema de arquivos. Aprenda como usá-lo.

Às vezes, coisas ruins acontecem a sistemas bons.

Felizmente, você é um usuário Linux e tem o fsck (verificação do sistema de arquivos) para ajudar com um sistema de arquivos potencialmente corrompido. Este utilitário é usado para verificar e (opcionalmente) reparar o sistema de arquivos.

Existem vários cenários em que você pode querer usar o fsck. Normalmente, você desejaria executar este comando se o seu sistema não inicializasse, um dispositivo (unidades externas ou mídia de armazenamento) não estivesse funcionando corretamente ou se você tivesse visto evidências de corrupção de arquivo.

Fsck é na verdade um "front-end" para vários verificadores específicos de sistemas de arquivos, como fsck.vfat, fsck.ext2, etc. Eles não precisam ser especificados, mas você pode encontrar opções mais avançadas no man páginas desses comandos mais precisos.

Introdução ao comando fsck

O comando fsck segue um padrão semelhante à maioria dos comandos do Linux.

fsck [options] [filesystem]

Se você não especificar um sistema de arquivos, o sistema analisará seu arquivo fstab (/etc/fstab) para os dispositivos verificarem.

Você precisará executar o comando como usuário root ou usá-lo com sudo.

Você pode usar o comando fdisk ou df para listar o disco rígido no Linux. Dessa forma, você pode especificar qual dispositivo será verificado com o comando fsck.

Disk /dev/nvme0n1: 238.49 GiB, 256060514304 bytes, 500118192 sectors Disk model: THNSN5256GPUK NVMe TOSHIBA 256GB Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 014A45DC-22A2-4FC0-BEEA-25A6F2406380 Device Start End Sectors Size Type /dev/nvme0n1p1 2048 1050623 1048576 512M EFI System /dev/nvme0n1p2 1050624 98563270 97512647 46.5G Linux filesystem /dev/nvme0n1p3 98564096 500117503 401553408 191.5G Linux filesystemDesmonte o dispositivo antes de executar o fsck

Não execute fsck em um dispositivo montado, você precisará desmontar o destino primeiro para evitar danos aos seus arquivos.

Se você tentar executar o fsck em um dispositivo montado, deverá ver um erro como este:

chris@handbook:~$ sudo fsck /dev/sda3 fsck from util-linux 2.34 e2fsck 1.45.5 (07-Jan-2020) /dev/sda3 is mounted. e2fsck: Cannot continue, aborting.

Executar o fsck em uma unidade normal e íntegra é assim:

chris@handbook:~$ sudo fsck /dev/sda2 fsck from util-linux 2.34 fsck.fat 4.1 (2017-01-24) /dev/sda2: 5 files, 1967/1972 clusters

Embora o fsck aceite um nome de dispositivo como /dev/sda, você pode optar por inserir o UUID para evitar confusão com a montagem e desmontagem de dispositivos. O UUID é um valor fixo atribuído ao seu dispositivo e não será afetado por essas alterações do sistema.

Noções básicas sobre códigos de saída para o comando fsck

Esta é uma lista dos códigos que podem ser retornados pelo fsck após a inspeção de um disco. Seu código de saída será uma soma desses códigos se você analisar um disco. Se você estiver usando fsck em vários dispositivos, ele retornará o OU bit a bit das duas somas.

0 - Sem erros

1 - Erros do sistema de arquivos corrigidos

2 - O sistema deve ser reiniciado

4 – Erros do sistema de arquivos deixados sem correção

8 – Erro operacional

16 – Erro de uso ou sintaxe

32 – Fsck cancelado por solicitação do usuário

128 – Erro de biblioteca compartilhada

Você pode verificar o código de saída do último comando executado usando o comando echo $?.

Uso prático do comando fsck

Agora que você está um pouco familiarizado com o comando fsck, vamos ver casos de uso prático desse comando.

Reparar um disco USB e outros dispositivos removíveis

Para nosso propósito, vamos supor que você já identificou o dispositivo problemático /dev/sdb.

Primeiro, você precisa ter certeza de que a unidade foi desmontada:

sudo umount /dev/sdb

Agora execute o comando fsck:

sudo fsck /dev/sdb

Verifique a saída em busca de erros. Se nenhum for exibido, verifique o código de saída com echo $?.

Existem também alguns sinalizadores de opção que podemos adicionar para permitir alguma correção automatizada. Porém, esses comandos não são padronizados e você deve verificar o tipo de sistema de arquivos e comparar a documentação dessa página de manual específica.

Apesar disso, geralmente você pode usar -p para permitir que o fsck aplique reparos automaticamente.

sudo fsck -p /dev/sdb

Da mesma forma, -y aplicará correções a qualquer corrupção detectada no sistema de arquivos.

Reparar o sistema de arquivos raiz

Você não pode desmontar a partição raiz enquanto o sistema estiver ativo. Se você suspeitar que seu sistema de arquivos principal está corrompido, você deverá usar uma abordagem diferente aqui.

Na verdade, existem algumas opções diferentes que você pode usar. Você pode executar o fsck no momento da inicialização, no modo de recuperação ou usar um live cd com tema de recuperação.

Muitas distribuições Linux forçarão automaticamente o fsck na inicialização após um certo número de tentativas de inicialização malsucedidas. Se preferir resolver o problema com suas próprias mãos, você pode programar o sistema para fazer isso sozinho.

A maioria das versões modernas do Linux apresenta uma ferramenta chamada tune2fs.

sudo tune2fs -c 1 /dev/sda

Presumindo que seu dispositivo raiz seja dev/sda, este é o comando que você digitaria.

Agora, o que realmente está acontecendo é que você está alterando as configurações do sistema para que o fsck seja executado a cada n número de inicializações (1 no exemplo). Você também pode definir isso para um intervalo de tempo padrão. As opções são dias, semanas ou meses.

Digamos que você queira que o fsck seja executado sempre que você inicializar, se não houver verificação há uma semana. Você poderia usar -i para especificar o intervalo e o comando ficaria assim.

sudo tune2fs -i 1w /dev/sda

Se estiver usando o systemd, você pode forçar a execução do fsck na próxima inicialização digitando o seguinte:

fsck.mode=force fsck.repair=yes

Conclusão

Você sempre pode consultar as páginas de manual para obter mais informações. Basta usar man fsck no terminal.

Espero que você tenha aprendido algo novo sobre o comando fsck. Se você tiver algum comentário ou dúvida, deixe-os abaixo.



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有