fsck ist nur der ursprüngliche Name. Wenn sie neue Dateisysteme herausbrachten, brauchten sie für jedes ein spezielles Tool, efsck für ext, e2fsck für ext2, dosfsck, fsckvfat. Also haben sie fsck zum Frontend gemacht, das einfach das passende Tool aufruft.
fsck ist ein Wrapper für das dateisystemspezifische fsck.* Familie von Werkzeugen. Sie können mit einer Einschränkung (von der fsck-Manpage) austauschbar verwendet werden:
Optionen, die fsck nicht versteht, werden an die dateisystemspezifische Überprüfung übergeben. Diese Argumente dürfen keine Argumente annehmen, da es für fsck keine Möglichkeit gibt, richtig zu erraten, welche Argumente Optionen verwenden und welche nicht.
Optionen und Argumente, die auf -- folgen, werden als dateisystemspezifische Optionen behandelt, die an den dateisystemspezifischen Prüfer übergeben werden.
Bitte beachten Sie, dass fsck nicht darauf ausgelegt ist, willkürlich komplizierte Optionen an dateisystemspezifische Prüfer zu übergeben. Wenn Sie etwas Kompliziertes tun, führen Sie bitte direkt die dateisystemspezifische Überprüfung aus. Wenn Sie fsck einige schrecklich komplizierte Optionen und Argumente übergeben und es nicht das tut, was Sie erwarten, machen Sie sich nicht die Mühe, es als Fehler zu melden. Sie tun mit ziemlicher Sicherheit etwas, das Sie mit fsck nicht tun sollten.
fsck wird jedoch die meisten normalen Operationen auf einem Dateisystem handhaben.
Auf meinem System habe ich:
fsck
fsck.ext2
fsck.ext3
fsck.ext4
e2fsck
- ... (mehr
fsck.*
Tools für andere, nicht-ext-Dateisysteme)
Jetzt sind dies keine symbolischen Links, sondern e2fsck
und die fsck.ext2/3/4
Tools teilen sich alle denselben Inode, sind also tatsächlich dieselbe Datei. (Es ist möglich, dass diese Binärdatei ihren eigenen Namen abfragt, wenn sie ausgeführt wird, und sich anders verhält als der Name, mit dem sie aufgerufen wird, aber ich bezweifle, dass dies der Fall ist.)
Wir haben also nur noch zwei Tools:
fsck
e2fsck
Und, wie andere gesagt haben, fsck
ist einfach ein Frontend, das das entsprechende Tool für das betreffende Dateisystem aufruft, in diesem Fall e2fsck
für ein Dateisystem der Ext-Familie.
Ich vermute den Grund für die verschiedenen fsck.ext2/3/4
files ist so, dass 1. es einfach ist, Skripte zu schreiben, die alle Dateisystemtypen generisch handhaben können (sie können den Namen des fsck-Tools trivial aus dem Dateisystemtyp ableiten) und 2. aus Gründen der Flexibilität, so dass es trivial ist, das e2fsck in zwei oder mehr aufzuteilen unabhängige Tools, falls dies in Zukunft erforderlich ist.