Was ist der Unterschied zwischen den Linux Disk Error Checking Tools fsck und e2fsck?
Was ist der Unterschied zwischen den Linux Disk Error Checking Tools fsck und e2fsck?
Antworten:
fsck ist nur der ursprüngliche Name. Wenn sie neue Dateisysteme herausbrachten, benötigten sie für jedes ein spezifisches Tool, efsck für ext, e2fsck für ext2, dosfsck, fsckvfat. Also haben sie fsck zum Frontend gemacht, das nur das passende Tool aufruft.
gpt
Befehl verfügt zumindest auf dem Mac über die Option "Aus Sicherungstabelle wiederherstellen".
fsck ist ein Wrapper für die dateisystemspezifische Toolfamilie fsck. * . Sie können mit einer Einschränkung austauschbar verwendet werden (aus der fsck-Manpage):
Optionen, die von fsck nicht verstanden werden, werden an den dateisystemspezifischen Checker übergeben. Diese Argumente dürfen keine Argumente annehmen, da es für fsck keine Möglichkeit gibt, richtig zu erraten, welche Argumente Optionen annehmen und welche nicht.
Optionen und Argumente, die auf - folgen, werden als dateisystemspezifische Optionen behandelt, die an das dateisystemspezifische Überprüfungsprogramm übergeben werden.
Bitte beachten Sie, dass fsck nicht dafür ausgelegt ist, beliebig komplizierte Optionen an dateisystemspezifische Prüfer weiterzugeben. Wenn Sie etwas kompliziertes tun, führen Sie einfach den dateisystemspezifischen Checker direkt aus. Wenn Sie fsck mit einigen schrecklich komplizierten Optionen und Argumenten bestanden haben 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 erledigt jedoch die meisten normalen Operationen auf einem Dateisystem.
Auf meinem System habe ich:
fsck
fsck.ext2
fsck.ext3
fsck.ext4
e2fsck
fsck.*
Tools für andere, nicht ext. Dateisysteme)Nun ist keine dieser Verknüpfungen symbolisch, aber e2fsck
und die fsck.ext2/3/4
Tools haben alle den gleichen Inode, sodass es sich tatsächlich um dieselbe Datei handelt. (Es ist möglich, dass diese Binärdatei ihren eigenen Namen abfragt, wenn sie ausgeführt wird, und sich für den Namen, mit dem sie aufgerufen wird, anders verhält, aber ich bezweifle, dass dies der Fall ist.)
Wir haben also nur zwei Tools:
fsck
e2fsck
Und wie bereits gesagt, fsck
handelt es sich lediglich um ein Front-End, das das entsprechende Tool für das betreffende Dateisystem aufruft, in diesem Fall e2fsck
für ein Dateisystem der ext-Familie.
Ich nehme an, der Grund für die verschiedenen fsck.ext2/3/4
Dateien ist, dass 1. es einfach ist, Skripte zu schreiben, die alle Dateisystemtypen generisch verarbeiten können (sie können den Namen des fsck-Tools trivial vom Dateisystemtyp ableiten) und 2. Flexibilität, so dass es trivial ist das e2fsck bei Bedarf in zwei oder mehr unabhängige Tools aufzuteilen.