ti-enxame.com

Qual é a diferença entre fsck e e2fsck?

Qual é a diferença entre as ferramentas de verificação de erro do disco linux fsck e e2fsck?

31
Fred Hamilton

fsck é apenas o nome original. Quando eles lançaram novos sistemas de arquivos, precisariam de uma ferramenta específica para cada um, efsck para ext, e2fsck para ext2, dosfsck, fsckvfat. Então, eles fizeram do fsck o front end que apenas chama a que for a ferramenta apropriada.

32
hyperslug

fsck é um wrapper para a família de ferramentas fsck. * específica do sistema de arquivos. Eles podem ser usados ​​alternadamente com uma ressalva (da página de manual do fsck):

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 argumentos têm opções e quais não.

As opções e argumentos a seguir a - 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, basta executar o verificador específico do sistema de arquivos diretamente. Se você passar ao fsck alguma opção e argumentos terrivelmente complicados, e ele não fizer o que você espera, não se preocupe relatando isso como um bug. Você certamente está fazendo algo que não deveria estar fazendo com o fsck.

No entanto, o fsck manipulará a maioria das operações normais em um sistema de arquivos.

15
user4358

No meu sistema eu tenho:

  • fsck
  • fsck.ext2
  • fsck.ext3
  • fsck.ext4
  • e2fsck
  • ... (mais ferramentas fsck.* para outros sistemas de arquivos não ext)

Agora, nenhum desses são links simbólicos, mas as ferramentas e2fsck E fsck.ext2/3/4 Compartilham o mesmo inode, portanto, na verdade, são o mesmo arquivo. (É possível que esse binário interrogue seu próprio nome quando for executado e se comporte de maneira diferente para o nome com o qual é chamado, mas duvido que seja esse o caso.)

Então, agora estamos com apenas duas ferramentas:

  • fsck
  • e2fsck

E, como outros já disseram, fsck é simplesmente um front end que chama a ferramenta apropriada para o sistema de arquivos em questão, que neste caso é e2fsck Para um sistema de arquivos da família ext.

Presumo que a razão para ter os vários arquivos fsck.ext2/3/4 É 1. ser fácil escrever scripts que possam lidar com todos os tipos de sistemas de arquivos genericamente (eles podem deduzir o nome da ferramenta fsck trivialmente do tipo de sistema de arquivos) e 2. para flexibilidade, para que seja trivial dividir o e2fsck em duas ou mais ferramentas independentes, se necessário no futuro.

5
Paul Ruane