Quelle est la différence entre les outils de vérification d'erreur du disque Linux fsck et e2fsck?
Quelle est la différence entre les outils de vérification d'erreur du disque Linux fsck et e2fsck?
Réponses:
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):
Les options qui ne sont pas comprises par fsck sont transmises au vérificateur spécifique au système de fichiers. Ces arguments ne doivent pas prendre d'arguments, car il n'est pas possible pour fsck de deviner correctement quels arguments prennent des options et lesquels ne le font pas.
Les options et arguments qui suivent le signe - sont traités comme des options spécifiques au système de fichiers à transmettre au vérificateur spécifique au système de fichiers.
Veuillez noter que fsck n'est pas conçu pour transmettre des options arbitrairement compliquées aux vérificateurs spécifiques au système de fichiers. Si vous faites quelque chose de compliqué, veuillez simplement exécuter directement le vérificateur spécifique au système de fichiers. Si vous passez à fsck une option et des arguments horriblement compliqués, et qu'il ne fait pas ce que vous attendez, ne vous embêtez pas à le signaler comme un bogue. Vous faites presque certainement quelque chose que vous ne devriez pas faire avec fsck.
Cependant, fsck gérera la plupart des opérations normales sur un système de fichiers.
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
les fsck.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 est e2fsck
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.