sexta-feira, 28 de março de 2014

Corrigindo problemas de disco com Fsck

O Fsck é um utilitário que existe no Linux para corrigir erros lógicos, daqueles típicos que ocorrem quando o computador é desligado abruptamente, como numa queda de energia.

O Fsck consegue identificar o sistema de arquivos e chama o aplicativo correspondente para verificar o disco. Por exemplo, em um sistema de arquivos Ext3, o Fsck vai chamar o comando fsck.ext3. Na minha máquina, por exemplo, tem os seguintes programas:

  • fsck
  • fsck.cramfs
  • fsck.ext3
  • fsck.ext4dev
  • fsck.msdos
  • fsck.vfat
  • fsck.btrfs
  • fsck.ext2
  • fsck.ext4
  • fsck.minix
  • fsck.nfs      

No nosso exemplo, vamos corrigir o disco /dev/sda5. Antes é necessário desmontá-lo com o comando abaixo.

# umount /dev/sda5

Agora vamos executar o fsck com o comando abaixo.
# fsck -y -v /dev/sda5
fsck from util-linux 2.20.1
e2fsck 1.42.5 (29-Jul-2012)
/dev/sda5: clean, 49033/24428544 files, 22543897/48853888 blocks

A opção -y assume "sim" para todas as perguntas que o Fsck fará, e é usada para reparação automática. -v é usado para mostrar mais detalhes. No nosso caso o sistema não contém erros.

Se você quiser forçar a execução do Fsck, então use a opção -f.

# fsck -pvf /dev/sda5  fsck from util-linux 2.20.1
       49033 inodes used (0.20%, out of 24428544)
         7010 non-contiguous files (14.3%)
           46 non-contiguous directories (0.1%)
              # of inodes with ind/dind/tind blocks: 7103/2437/0
     22543897 blocks used (46.15%, out of 48853888)
            0 bad blocks
            2 large files

       48923 regular files
          101 directories
            0 character device files
            0 block device files
            0 fifos
            0 links
            0 symbolic links (0 fast symbolic links)
            0 sockets
------------
        49024 files

Mas como checar o sistema raiz (/)? Você pode usar o comando Shutdown com o opção -F.

# shutdown -F

Dessa forma o Fsck testará todos os drives quando fizer o boot.