Quelle est la différence entre les outils de vérification d'erreur du disque Linux fsck et e2fsck?
30
fsck n'est que le nom d'origine. Quand ils sortiraient avec de nouveaux systèmes de fichiers, ils auraient besoin d'un outil spécifique pour chacun, efsck pour ext, e2fsck pour ext2, dosfsck, fsckvfat. Ils ont donc fait de fsck le front-end qui appelle simplement l'outil approprié.
gpt
commande a une option "récupérer à partir de la table de sauvegarde", au moins sur Mac.fsck est un wrapper pour la famille d'outils fsck. * spécifiques au système de fichiers . Ils peuvent être utilisés de manière interchangeable avec une mise en garde (à partir de la page de manuel fsck):
Cependant, fsck gérera la plupart des opérations normales sur un système de fichiers.
la source
Sur mon système, j'ai:
fsck
fsck.ext2
fsck.ext3
fsck.ext4
e2fsck
fsck.*
outils pour d'autres systèmes de fichiers non ext)Désormais, aucun de ces liens n'est symbolique, mais
e2fsck
lesfsck.ext2/3/4
outils partagent tous le même inode et sont donc en fait le même fichier. (Il est possible que ce binaire interroge son propre nom lors de son exécution et se comporte différemment pour le nom avec lequel il est invoqué, mais je doute que ce soit le cas.)Nous ne sommes donc plus qu'à deux outils:
fsck
e2fsck
Et, comme d'autres l'ont dit, il
fsck
s'agit simplement d'un frontal qui appelle l'outil approprié pour le système de fichiers en question, qui dans ce cas este2fsck
pour un système de fichiers de la famille ext.Je présume que la raison d'avoir les différents
fsck.ext2/3/4
fichiers est pour que 1. il soit facile d'écrire des scripts qui peuvent gérer tous les types de système de fichiers de manière générique (ils peuvent déduire le nom de l'outil fsck trivialement du type de système de fichiers) et 2. pour la flexibilité, de sorte que ce soit trivial de diviser l'e2fsck en deux ou plusieurs outils indépendants si nécessaire à l'avenir.la source