Qual é a diferença entre fsck e e2fsck?

26

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

    
por Fred Hamilton 08.08.2009 / 16:53

3 respostas

26

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

    
por 08.08.2009 / 17:04
15
fsck é um wrapper para a família de ferramentas fsck. * específica do sistema de arquivos. Eles podem ser usados de forma intercambiável com uma ressalva (do fsck manpage):

Options which are not understood by fsck are passed to the filesystem-specific checker. These arguments must not take arguments, as there is no way for fsck to be able to properly guess which arguments take options and which don’t.

Options and arguments which follow the -- are treated as file system-specific options to be passed to the file system-specific checker.

Please note that fsck is not designed to pass arbitrarily complicated options to filesystem-specific checkers. If you’re doing something complicated, please just execute the filesystem-specific checker directly. If you pass fsck some horribly complicated option and arguments, and it doesn’t do what you expect, don’t bother reporting it as a bug. You’re almost certainly doing something that you shouldn’t be doing with fsck.

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

    
por 13.08.2009 / 13:04
2

No meu sistema eu tenho:

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

Agora, nenhum deles são links simbólicos, mas e2fsck e fsck.ext2/3/4 tools compartilham o mesmo inode, sendo, na verdade, o mesmo arquivo. (É possível que este binário interrogue seu próprio nome quando é executado e se comporte de maneira diferente para o nome com o qual é invocado, mas duvido que este seja o caso.)

Então, agora estamos com apenas duas ferramentas:

  • fsck
  • e2fsck

E, como outros 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.

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

    
por 17.06.2014 / 01:31

Tags