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:
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.