GNU/Linux >> Linux Esercitazione >  >> Linux

Qual è la differenza tra fsck ed e2fsck?

fsck è solo il nome originale. Quando sono usciti con nuovi file system avrebbero avuto bisogno di uno strumento specifico per ognuno, efsck per ext, e2fsck per ext2, dosfsck, fsckvfat. Quindi hanno reso fsck il front-end che chiama solo lo strumento appropriato.


fsck è un wrapper per fsck.* specifico del filesystem famiglia di strumenti. Possono essere usati in modo intercambiabile con un avvertimento (dalla manpage di fsck):

Le opzioni che non sono comprese da fsck vengono passate al controllo specifico del filesystem. Questi argomenti non devono accettare argomenti, in quanto non c'è modo per fsck di indovinare correttamente quali argomenti accettano opzioni e quali no.

Le opzioni e gli argomenti che seguono -- vengono trattati come opzioni specifiche del file system da passare al controllo specifico del file system.

Si noti che fsck non è progettato per passare opzioni arbitrariamente complicate a checker specifici del filesystem. Se stai facendo qualcosa di complicato, esegui direttamente il controllo specifico del file system. Se passi a fsck alcune opzioni e argomenti orribilmente complicati e non fa quello che ti aspetti, non preoccuparti di segnalarlo come bug. Quasi sicuramente stai facendo qualcosa che non dovresti fare con fsck.

Tuttavia, fsck gestirà la maggior parte delle normali operazioni su un file system.


Sul mio sistema ho:

  • fsck
  • fsck.ext2
  • fsck.ext3
  • fsck.ext4
  • e2fsck
  • ... (altro fsck.* strumenti per altri filesystem non ext)

Ora nessuno di questi è link simbolico ma e2fsck e il fsck.ext2/3/4 tutti gli strumenti condividono lo stesso inode, quindi in realtà sono lo stesso file. (È possibile che questo binario interroghi il proprio nome quando viene eseguito e si comporti diversamente per il nome con cui viene invocato, ma dubito che sia così.)

Quindi ora siamo rimasti solo con due strumenti:

  • fsck
  • e2fsck

E, come altri hanno già detto, fsck è semplicemente un front-end che chiama lo strumento appropriato per il filesystem in questione, che in questo caso è e2fsck per un filesystem della famiglia ext.

Presumo il motivo per avere i vari fsck.ext2/3/4 files è così che 1. è facile scrivere script in grado di gestire genericamente tutti i tipi di filesystem (possono dedurre banalmente il nome dello strumento fsck dal tipo di filesystem) e 2. per flessibilità, in modo che sia banale dividere e2fsck in due o più strumenti indipendenti se necessario in futuro.


Linux
  1. Qual è la differenza tra InnoDB e MyISAM?

  2. Qual è la differenza tra Redhat e centOS?

  3. Qual è la differenza tra insmod e modprobe

  4. Qual è la differenza tra mutex e sezione critica?

  5. Qual è la differenza tra adduser e useradd?

Qual è la differenza tra Linux e Unix?

Qual è la differenza tra Login e Non-Login Shell

Qual è la differenza tra il comando apt e apt-get?

Che cos'è un hypervisor? Qual è la differenza tra il tipo 1 e 2?

Qual è la differenza tra curl e Wget?

Qual è la differenza tra $(CC) e $CC?