fbpx

Comandos Linux – Comando fsck

Comando Linux fsck

Atualizado: 05/04/2019 por Computer Hope

comando fsck

Em sistemas operacionais do tipo Unix, o comando fsck verifica e repara um sistema de arquivos Linux .

Este documento descreve a versão GNU / Linux do fsck .

Descrição

fsck significa “verificação de consistência do sistema de arquivos”. Na maioria dos sistemas, o fsck é executado no momento da inicialização, se determinadas condições forem detectadas. Geralmente, essas condições são:

  • Um sistema de arquivos está marcado como “sujo” – seu estado gravado é inconsistente com os dados que foram agendados para gravação; ou,
  • Um sistema de arquivos foi montado um número definido de vezes sem ser verificado.

O próprio comando fsck interage com um comando fsck específico do sistema de arquivos, criado pelos autores do sistema de arquivos. Independentemente do tipo de sistema de arquivos, o fsck geralmente possui três modos de operação:

  • Verifique se há erros e solicite ao usuário interativamente que decida como resolver problemas individuais;
  • Verifique se há erros e tente corrigir os erros automaticamente; ou,
  • Verifique se há erros e não tente repará-los, mas exiba os erros na saída padrão.

Enquanto normalmente é executado no momento da inicialização, o fsck pode ser executado manualmente em sistemas de arquivos não montados por um superusuário .

Descrição técnica

O fsck é usado para verificar e opcionalmente reparar um ou mais sistemas de arquivos.

filesys pode ser um nome de dispositivo (por exemplo, / dev / hdc1 , / dev / sdb2 ), um ponto de montagem (por exemplo, / , / usr , / home ) ou um rótulo ext2 ou especificador de UUID (por exemplo ” UUID = 8868abf6- 88c5-4a83-98b8-bfc24057f7bd “ou” LABEL = root “).

Normalmente, o fsck tentará manipular sistemas de arquivos em diferentes unidades de disco físico em paralelo para reduzir a quantidade total de tempo necessária para verificar todas elas.

Se nenhum sistema de arquivos for especificado na linha de comandos e a opção -A não for especificada, o fsck assumirá o padrão de verificar os sistemas de arquivos em / etc / fstab serialmente. Isso é equivalente à combinação das opções -A e -s .

O código de saída retornado por fsck é um número exclusivo que representa a soma dos seguintes valores de condição:

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 na biblioteca compartilhada

O código de saída retornado quando vários sistemas de arquivos são verificados é o OR bit a bit dos códigos de saída para cada sistema de arquivos verificado.

Atualmente, o fsck é um front-end para os vários verificadores de sistema de arquivos ( fsck. Fstype ) disponíveis no Linux. O verificador específico do sistema de arquivos é pesquisado primeiro em / sbin , depois em / etc / fs e / etc e, finalmente, nos diretórios listados na variável de ambiente PATH .

Leia as páginas de manual do verificador específico do sistema de arquivos para obter mais detalhes. Por exemplo, para saber mais sobre a verificação fsck específica do ext3, execute:

  homem fsck.ext3

Sintaxe

  fsck [-lsAVRTMNP] [-C [ fd ]] [-t fstype ] [ arquivos do sistema ...]
      [-] [ fs-specific-options ]

Opções

-euBloqueie o dispositivo de disco inteiro por um rebanho exclusivo. Esta opção pode ser usada com apenas um dispositivo (isso significa que -A e -l são mutuamente exclusivos). Esta opção é recomendada quando mais instâncias fsck são executadas ao mesmo tempo. A opção é ignorada quando usada para vários dispositivos ou para discos não rotativos. O fsck não bloqueia os dispositivos subjacentes quando executado para verificar os dispositivos empilhados (por exemplo, MD ou DM ); esse recurso ainda não foi implementado.
-sSerialize operações fsck . É uma boa idéia se você estiver verificando vários sistemas de arquivos e as peças estiverem em modo interativo. Nota: o e2fsck é executado em um modo interativo por padrão. Para fazer o e2fsck ser executado em um modo não interativo, você deve especificar a opção -p ou -a , se desejar que os erros sejam corrigidos automaticamente, ou a opção -n, se não o fizer.
-t fslistEspecifica os tipos de sistema de arquivos a serem verificados. Quando o sinalizador -A é especificado, apenas os sistemas de arquivos que correspondem a fslist são verificados. O parâmetro fslist é uma lista separada por vírgula de sistemas de arquivos e especificadores de opções. Todos os sistemas de arquivos nesta lista separada por vírgulas podem ser prefixados por um operador de negação ‘ no ‘ ou ‘ ! ‘, que solicita que apenas os sistemas de arquivos não listados na lista fslist sejam verificados. Se nenhum dos sistemas de arquivos no fslist for prefixado por um operador de negação, apenas os sistemas de arquivos listados serão verificados.

Os especificadores de opções podem ser incluídos na lista fslist separada por vírgula . Eles devem ter o formato opts = fs-option . Se um especificador de opções estiver presente, apenas os sistemas de arquivos que contêm fs-option no campo de opções de montagem de / etc / fstab serão verificados. Se o especificador de opções for prefixado por um operador de negação, apenas os sistemas de arquivos que não possuem a opção fs no campo de opções de montagem do / etc / fstab serão verificados.

Por exemplo, se opts = ro aparecer no fslist, apenas os sistemas de arquivos listados em / etc / fstab com a opção ro serão verificados.

Para compatibilidade com distribuições Mandrake cujos scripts de inicialização dependem de uma alteração não autorizada da interface do usuário no programa fsck , se um tipo de loop do sistema de arquivos for encontrado no fslist , ele será tratado como se opts = loop fosse especificado como argumento para a opção -t .

Normalmente, o tipo de sistema de arquivos é deduzido pesquisando o sistema de arquivos no arquivo / etc / fstab e usando a entrada correspondente. Se o tipo não puder ser deduzido e houver apenas um sistema de arquivos fornecido como argumento para a opção -t , o fsck usará o tipo de sistema de arquivos especificado. Se esse tipo não estiver disponível, o tipo de sistema de arquivos padrão (atualmente ext2) será usado.

-UMAPercorra o arquivo / etc / fstab e tente verificar todos os sistemas de arquivos em uma execução. Essa opção é normalmente usada no arquivo de inicialização do sistema / etc / rc , em vez de vários comandos para verificar um único sistema de arquivos.

O sistema de arquivos raiz será verificado primeiro, a menos que a opção -P seja especificada (veja abaixo). Depois disso, os sistemas de arquivos serão verificados na ordem especificada pelo campo fs_passno (o sexto) no arquivo / etc / fstab . Os sistemas de arquivos com um valor fs_passno igual a 0 são ignorados e não são verificados. Os sistemas de arquivos com um valor fs_passno maior que zero serão verificados em ordem, com os sistemas de arquivos com o menor número fs_passno sendo verificados primeiro. Se houver vários sistemas de arquivos com o mesmo número de passe, o fsck tentará verificá-los em paralelo, embora evite executar várias verificações do sistema de arquivos no mesmo disco físico.

O fsck não verifica dispositivos empilhados ( RAIDss , dm-crypt, …) em paralelo com qualquer outro dispositivo. Veja abaixo a configuração FSCK_FORCE_ALL_PARALLEL . sistema de arquivos / sys é usado para determinar dependências entre dispositivos.

Portanto, uma configuração muito comum nos arquivos / etc / fstab é definir o sistema de arquivos raiz com um valor fs_passno igual a 1 e definir todos os outros sistemas de arquivos com o valor fs_passno igual a 2. Isso permitirá ao fsck executar automaticamente os verificadores do sistema de arquivos em paralelo se for vantajoso fazê-lo. Os administradores de sistema podem optar por não usar essa configuração se precisarem evitar várias verificações do sistema de arquivos em paralelo por algum motivo – por exemplo, se a máquina em questão estiver com pouca memória para que a paginação excessiva seja uma preocupação.

O fsck normalmente não verifica se o dispositivo realmente existe antes de chamar um verificador específico do sistema de arquivos. Portanto, dispositivos não existentes podem fazer com que o sistema entre no modo de reparo do sistema de arquivos durante a inicialização, se o verificador específico do sistema de arquivos retornar um erro fatal. A opção de montagem / etc / fstab nofail pode ser usada para que o fsck pule dispositivos inexistentes. O fsck também ignora dispositivos não existentes que possuem o tipo de sistema de arquivos especial auto .

-C [ fd ]Exiba barras de conclusão / progresso para os verificadores de sistema de arquivos (atualmente apenas para ext2 e ext3) que os suportam. O Fsck gerenciará os verificadores do sistema de arquivos para que apenas um deles exiba uma barra de progresso por vez. Os front-ends da GUI podem especificar um descritor de arquivo fd ; nesse caso, as informações da barra de progresso serão enviadas para esse descritor de arquivo.
-MNão verifique os sistemas de arquivos montados e retorne um código de saída 0 para os sistemas de arquivos montados.
-NNão faça nada, apenas mostre o que seria feito.
-PQuando o sinalizador -A estiver definido, verifique o sistema de arquivos raiz em paralelo com os outros sistemas de arquivos. Esta não é a coisa mais segura do mundo, pois se o sistema de arquivos raiz estiver em dúvida, coisas como o executável e2fsck podem estar corrompidos! Essa opção é fornecida principalmente para os administradores de sistema que não desejam reparticionar o sistema de arquivos raiz para serem pequenos e compactos (que é realmente a solução certa).
-RAo verificar todos os sistemas de arquivos com o sinalizador -A , pule o sistema de arquivos raiz. Isso é útil no caso de o sistema de arquivos raiz já ter sido montado como leitura / gravação.
-TNão mostre o título na inicialização.
-VProduza saída detalhada, incluindo todos os comandos específicos do sistema de arquivos que são executados.

Opções específicas do sistema de arquivos

As opções que não são entendidas pelo fsck são passadas para o verificador específico do sistema de arquivos. Esses argumentos não devem receber argumentos, pois não há como o fsck conseguir adivinhar corretamente quais opções recebem argumentos e quais não.

As opções e argumentos que seguem o  são tratados como opções específicas do sistema de arquivos a serem passadas para o verificador específico do sistema de arquivos.

Observe que o fsck não foi projetado para passar opções arbitrariamente complicadas a verificadores específicos do sistema de arquivos. Se você estiver fazendo algo complicado, execute o verificador específico do sistema de arquivos diretamente. Se você passar ao fsck algumas opções e argumentos terrivelmente complicados, e ele não fizer o que você espera, você certamente está fazendo algo que não deveria estar fazendo com o fsck . As opções para diferentes fsck específicos do sistema de arquivos não são padronizadas. Em caso de dúvida, consulte as páginas de manual do verificador específico do sistema de arquivos. Embora não seja garantido, as seguintes opções são suportadas pela maioria dos verificadores de sistema de arquivos:

-umaRepare automaticamente o sistema de arquivos sem fazer perguntas (use esta opção com cuidado). Observe que o e2fsck suporta -a apenas para compatibilidade com versões anteriores. Esta opção está mapeada para a opção -p do e2fsck que é segura de usar, diferente da opção -a suportada por alguns verificadores de sistema de arquivos.
-nPara alguns verificadores específicos do sistema de arquivos, a opção -n fará com que o fsck específico do fs evite tentar reparar quaisquer problemas, mas relate esses problemas ao stdout . No entanto, isso não é verdade para todos os verificadores específicos do sistema de arquivos. Em particular, o fsck.reiserfs não relatará nenhuma corrupção se for dada essa opção. O fsck.minix não suporta a opção -n .
-rRepare interativamente o sistema de arquivos (solicite confirmações). Nota: Geralmente, é uma má idéia usar esta opção se vários fsck estão sendo executados em paralelo. Além disso, observe que esse é o comportamento padrão do e2fsck ; suporta esta opção apenas por razões de compatibilidade com versões anteriores.
-yPara alguns verificadores específicos do sistema de arquivos, a opção -y fará com que o fsck específico do fs tente sempre corrigir automaticamente qualquer corrupção detectada no sistema de arquivos. Às vezes, um especialista pode executar melhor o comando fsck manualmente. Observe que nem todos os verificadores específicos do sistema de arquivos implementam essa opção. Em particular, o fsck.minix e o fsck.cramfs não suportam a opção -y .

Exemplos

Aviso! Não execute o fsck em um sistema de arquivos montado! Se você executar o fsck em um sistema de arquivos que está montado atualmente, você receberá (na melhor das hipóteses) uma mensagem de erro e (na pior das hipóteses) danificará os dados do seu sistema de arquivos. Se você deseja verificar seu sistema de arquivos com o fsck , entre no modo de usuário único e verifique se o sistema de arquivos está desmontado antes de prosseguir.

Entrando no modo de usuário único

Essas instruções devem ajudá-lo a colocar seu sistema Linux no modo de usuário único e desmontar todos os sistemas de arquivos que você deseja verificar com o fsck .

Primeiro, inicie o nível de execução 1 (modo de usuário único) com o comando init :

  sudo init 1

Agora desmonte o sistema de arquivos usando umountS . Por exemplo, se / home estiver montado em / dev / sda2 , você poderá executar:

  umount / home

…ou:

  umount / dev / sda2

Certifique-se de executar umount para qualquer sistema de arquivos que você deseja verificar com o fsck .

Verificando sistemas de arquivos

  fsck / dev / sda2

Este comando tentará verificar / dev / sda2 e reportar os erros que encontrar.

  fsck -y / dev / sda2

Verifique / dev / sda2 e tente corrigir automaticamente os erros encontrados.

  fsck -A

Verifique todos os sistemas de arquivos configurados. O fsck processará o arquivo / etc / fstab e verificará todos os sistemas de arquivos listados lá. Os sistemas serão verificados na ordem de seu valor <pass>, conforme listado no arquivo fstab . Os sistemas com um valor de aprovação 0 serão ignorados; o sistema com um valor de aprovação igual a 1 será listado primeiro e os sistemas restantes serão verificados em ordem crescente do valor de aprovação.

  cat / etc / fstab

Veja todos os sistemas de arquivos configurados. A saída será semelhante ao seguinte:

  # / etc / fstab: informações estáticas do sistema de arquivos.
 #
 # Use 'blkid' para imprimir o identificador universalmente exclusivo de um
 # dispositivo;  isso pode ser usado com UUID = como uma maneira mais robusta de nomear dispositivos
 # que funciona mesmo se os discos forem adicionados e removidos.  Veja a página de manual do fstab.
 #
 # <sistema de arquivos> <ponto de montagem> <tipo> <opções> <dump> <pass>
 # / estava em / dev / sda5 durante a instalação
 Erros UUID = c3a6839b-00f1-4cf4-8b00-e61fbcdba6c0 / ext4 = remount-ro 0 1
 # / home estava em / dev / sda7 durante a instalação
 UUID = afceabb6-a3f4-41c2-9ae6-0393d85c7c70 / padrões home ext4 0 2
 # swap estava em / dev / sda6 durante a instalação
 UUID = c6ca8b8f-0b46-4c06-a934-a9dd3525faa7 nenhum swap de troca 0 0
 # / dev / sdb1 / media / usb0 auto rw, usuário, noauto 0 0
  ls /sbin/fsck.*

Veja todos os sistemas de arquivos que podem ser verificados com o fsck . Os sistemas de arquivos aparecerão como extensões para os arquivos fsck. * ; por exemplo:

  fsck.cramfs fsck.ext3 fsck.ext4dev fsck.minix fsck.nfs fsck.reiserfs fsck.xfs
 fsck.ext2 fsck.ext4 fsck.jfs fsck.msdos fsck.reiser4 fsck.vfat
  fsck -n / dev / sda2

Verifique / dev / sda2 por erros, mas não tente repará-los; em vez disso, imprima os erros na saída padrão.

  fsck -f / dev / sda2

Normalmente, o fsck ignora partes do sistema de arquivos marcadas como “limpas” – o que significa que todas as gravações pendentes foram feitas com êxito. A opção -f (“force”) especifica que o fsck deve verificar partes do sistema de arquivos, mesmo que não estejam “sujas”. O resultado é uma verificação menos eficiente, mas mais completa.

  fsck -t ext2 / dev / fd0

Este comando irá verificar o sistema de arquivos ext2 no dispositivo de disquete / dev / fd0 .

mkfs – Construa um sistema de arquivos Linux, geralmente uma partição do disco rígido.

18 de novembro de 2019

Sobre nós

A Linux Force Brasil é uma empresa que ama a arte de ensinar. Nossa missão é criar talentos para a área de tecnologia e atender com excelência nossos clientes.

CNPJ: 13.299.207/0001-50
SAC:         0800 721 7901

[email protected]

Comercial  Comercial: (11) 3796-5900

Suporte:    (11) 3796-5900
[email protected]

Copyright © Linux Force Security  - Desde 2011.