GNU/Linux >> Znalost Linux >  >> Linux

Jaký je rozdíl mezi fsck a e2fsck?

fsck je pouze původní název. Když přišli s novými systémy souborů, potřebovali by pro každý z nich specifický nástroj, efsck pro ext, e2fsck pro ext2, dosfsck, fsckvfat. Takže z fsck udělali frontend, který jen volá podle toho, co je vhodný nástroj.


fsck je obal pro souborový systém fsck.* specifický pro souborový systém rodina nástrojů. Lze je používat zaměnitelně s jedním upozorněním (z manuálové stránky fsck):

Volby, kterým fsck nerozumí, jsou předány kontrole specifické pro souborový systém. Argumenty nesmějí přijímat argumenty, protože neexistuje způsob, jak by fsck mohl správně odhadnout, které argumenty sází a které ne.

Volby a argumenty, které následují za -- jsou považovány za volby specifické pro souborový systém, které mají být předány kontrole specifické pro souborový systém.

Vezměte prosím na vědomí, že fsck není navržen tak, aby prošel libovolně komplikovanými možnostmi pro kontroly specifické pro souborový systém. Pokud děláte něco složitého, spusťte prosím přímo kontrolu specifickou pro souborový systém. Pokud předáte fsck nějakou strašně komplikovanou možnost a argumenty a nedělá to, co očekáváte, neobtěžujte se nahlásit to jako chybu. Téměř jistě děláte něco, co byste s fsck dělat neměli.

Nicméně fsck zvládne většinu běžných operací na souborovém systému.


Ve svém systému mám:

  • fsck
  • fsck.ext2
  • fsck.ext3
  • fsck.ext4
  • e2fsck
  • ... (více fsck.* nástroje pro jiné, neexterní souborové systémy)

Nyní žádný z nich nejsou symbolické odkazy, ale e2fsck a fsck.ext2/3/4 všechny nástroje sdílejí stejný inode, takže jsou vlastně stejným souborem. (Je možné, že tento binární soubor bude při spuštění dotazovat své vlastní jméno a bude se chovat jinak pro jméno, se kterým je vyvolán, ale pochybuji, že tomu tak je.)

Takže teď máme jen dva nástroje:

  • fsck
  • e2fsck

A jak řekli jiní, fsck je jednoduše frontend, který volá příslušný nástroj pro daný souborový systém, což je v tomto případě e2fsck pro souborový systém ext rodiny.

Předpokládám, že důvod pro různé fsck.ext2/3/4 souborů je tak, že 1. je snadné psát skripty, které zvládnou všechny typy souborových systémů obecně (mohou triviálně odvodit název nástroje fsck z typu souborového systému) a 2. kvůli flexibilitě, takže je triviální rozdělit e2fsck na dva nebo více nezávislé nástroje, pokud to bude v budoucnu nutné.


Linux
  1. Jaký je rozdíl mezi Redhat a centOS?

  2. Jaký je rozdíl mezi insmod a modprobe

  3. Jaký je rozdíl mezi vlákny NPTL a POSIX?

  1. Jaký je rozdíl mezi adduser a useradd?

  2. Jaký je rozdíl mezi ls a l?

  3. Jaký je rozdíl mezi $(CC) a $CC?

  1. Jaký je rozdíl mezi InnoDB a MyISAM?

  2. Rozdíl mezi [[ $a ==Z* ]] a [ $a ==Z* ]?

  3. Jaký je rozdíl mezi mutexem a kritickou sekcí?