Was ist der Unterschied zwischen fsck und e2fsck?

33049
Fred Hamilton

Was ist der Unterschied zwischen den Linux-Festplattenfehlersuchwerkzeugen fsck und e2fsck?

26

3 Antworten auf die Frage

26
hyperslug

fsck ist nur der ursprüngliche Name. Wenn neue Dateisysteme herauskamen, brauchten sie für jedes Dateisystem ein spezifisches Werkzeug, efsck für ext, e2fsck für ext2, dosfsck, fsckvfat. Also machten sie fsck zum Frontend, das nur das jeweils passende Tool aufruft.

Hmm, also scheinbar kannst du das fsck "Frontend" für einige allgemeine Aufgaben verwenden, aber nicht für alles? Beispielsweise wird die Option -c (http://superuser.com/questions/20010/fsck-options-for-most-thorough-disk-check/20040#20040) in der e2fsck-Manpage erwähnt, jedoch in der von fsck. Jonik vor 14 Jahren 0
Gibt es ein GPT-Fsck? Jonathan vor 5 Jahren 0
15
nagul

fsck ist ein Wrapper für die dateisystemspezifische fsck. * - Werkzeugfamilie. Sie können mit einer Einschränkung (aus der fsck-Manpage) austauschbar verwendet werden:

Optionen, die von fsck nicht verstanden werden, werden an den dateisystemspezifischen Prüfer übergeben. Diese Argumente dürfen keine Argumente annehmen, da fsck nicht richtig erraten kann, welche Argumente Optionen haben und welche nicht.

Optionen und Argumente, die auf - folgen, werden als dateisystemspezifische Optionen behandelt, die an den dateisystemspezifischen Checker übergeben werden.

Bitte beachten Sie, dass fsck nicht dazu dient, willkürlich komplizierte Optionen an dateisystemspezifische Prüfer zu übergeben. Wenn Sie etwas komplizierter machen, führen Sie einfach den dateisystemspezifischen Checker direkt aus. Wenn Sie fsck einige fürchterlich komplizierte Optionen und Argumente übergeben, und es nicht das tut, was Sie erwarten, sollten Sie es nicht als Fehler melden. Sie tun fast sicher etwas, das Sie nicht mit fsck machen sollten.

Mit fsck werden jedoch die meisten normalen Vorgänge in einem Dateisystem ausgeführt.

2
Paul Ruane

Auf meinem System habe ich:

  • fsck
  • fsck.ext2
  • fsck.ext3
  • fsck.ext4
  • e2fsck
  • ... (weitere fsck.*Tools für andere, nicht ext-Dateisysteme)

Jetzt sind keine dieser symbolischen Links, aber e2fsckdie fsck.ext2/3/4Werkzeuge haben alle den gleichen Inode, also sind sie eigentlich die gleiche Datei. (Es ist möglich, dass diese Binärdatei bei der Ausführung ihren eigenen Namen abfragt 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 noch zwei Werkzeuge:

  • fsck
  • e2fsck

Und, wie andere gesagt haben, fsckist es einfach ein Frontend, das das entsprechende Werkzeug für das betreffende Dateisystem aufruft, das in diesem Fall e2fsckfür ein Dateisystem der ext-Familie gilt.

Ich nehme an, der Grund für die verschiedenen fsck.ext2/3/4Dateien liegt darin, dass es 1. einfach ist, Skripts zu schreiben, die alle Dateisystemtypen generisch behandeln können (sie können den Namen des fsck-Tools trivial vom Dateisystemtyp ableiten) und 2. für die Flexibilität, so dass es trivial ist um das e2fsck bei Bedarf in zwei oder mehr unabhängige Werkzeuge aufzuteilen.

Vielen Dank für die längere Erklärung, denn nachdem ich die Antwort von @hyperslug gelesen hatte, spürte ich bereits einen Herzinfarkt :-) Ich habe ein ext3-Dateisystem und ich habe e2fsck ausgeführt. greenoldman vor 7 Jahren 0