Qual è la differenza tra gli strumenti di controllo degli errori del disco linux fsck ed e2fsck?
Qual è la differenza tra gli strumenti di controllo degli errori del disco linux fsck ed e2fsck?
Risposte:
fsck è solo il nome originale. Quando uscivano con nuovi file system avrebbero avuto bisogno di uno strumento specifico per ognuno, efsck per ext, e2fsck per ext2, dosfsck, fsckvfat. Così hanno reso fsck il front-end che chiama semplicemente quello che è lo strumento appropriato.
gpt
comando ha un'opzione "Ripristina dalla tabella di backup", almeno su Mac.
fsck è un wrapper per la famiglia di strumenti fsck. * specifica per il filesystem . Possono essere usati in modo intercambiabile con un avvertimento (dalla manpage 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 esiste alcun modo per fsck di indovinare correttamente quali argomenti prendono le opzioni e quali no.
Le opzioni e gli argomenti che seguono il - sono trattati come opzioni specifiche del file system da passare al controllo specifico del file system.
Nota che fsck non è progettato per passare opzioni arbitrariamente complicate ai controllori specifici del filesystem. Se stai facendo qualcosa di complicato, esegui direttamente il controllo specifico del filesystem. Se passi a fsck alcune opzioni e argomenti orribilmente complicati e non fa quello che ti aspetti, non preoccuparti di segnalarlo come un bug. Stai quasi sicuramente 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
fsck.*
strumenti per altri filesystem non ext)Ora nessuno di questi sono collegamenti simbolici ma e2fsck
e 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 in modo diverso per il nome con cui viene invocato, ma dubito che sia così.)
Quindi ora siamo limitati a due soli 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 che la ragione per avere i vari fsck.ext2/3/4
file sia tale 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.