GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist der Unterschied zwischen fsck und e2fsck?

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.


Linux
  1. Was ist der Unterschied zwischen InnoDB und MyISAM?

  2. Was ist der Unterschied zwischen NPTL- und POSIX-Threads?

  3. Was ist der Unterschied zwischen strtok_r und strtok_s in C?

  4. Was ist der Unterschied zwischen adduser und useradd?

  5. Was ist der Unterschied zwischen `su -` und `su --login`?

Was ist der Unterschied zwischen Linux und Unix?

Was ist der Unterschied zwischen Login- und Non-Login-Shell

Was ist der Unterschied zwischen apt und dem Befehl apt-get?

Was ist ein Hypervisor? Was ist der Unterschied zwischen Typ 1 und 2?

Was ist der Unterschied zwischen Curl und Wget?

Was ist der Unterschied zwischen unlink und rm?