Fsck
# Fsck

fsck (abbreviazione dalla lingua inglese di file system check oppure file system consistency check, controllo del file system) è un comando dei sistemi operativi Unix e Unix-like che effettua il controllo della coerenza dei dati presenti in un file system e, in caso di perdita parziale o totale di essi, ne permette, se possibile, il recupero dati. Inoltre, è in grado di richiamare badblocks, il che gli consente anche di individuare i cluster danneggiati, e di contrassegnarli in modo da impedire al sistema di accedervi in futuro.

## Descrizione

Solitamente fsck è eseguito automaticamente all'avvio del sistema per rilevare velocemente eventuali inconsistenze, ed in tal caso è eseguito nuovamente per effettuare controlli più approfonditi e tentare di porre rimedio agli errori rilevati; l'amministratore di sistema può tuttavia invocarlo manualmente sulla riga di comando in caso di problemi con i file system in uso.

In passato alcuni sistemi operativi (specialmente quelli GNU/Linux nel caso di file system di tipo Ext2) avviavano automaticamente dei controlli approfonditi dopo che il file system era stato montato per un certo numero di volte, anche se il controllo iniziale non rilevava inconsistenze. Ciò è stato reso superfluo in seguito alla diffusione di file system con journaling.

Normalmente fsck può operare solo su file system non montati, o quantomeno montati in sola lettura. In caso contrario, la modifica concorrente del file system da parte del sistema operativo e di fsck può portare ad una perdita di dati.

Durante il ripristino di un file system danneggiato è possibile che fsck trovi dei file e directory che non possono essere ricollocati automaticamente nella posizione originaria nella gerarchia in quanto le informazioni necessarie sono andate distrutte: in questo caso fsck li colloca nella directory speciale lost+found (letteralmente persi e ritrovati) situata nella radice del file system ripristinato, da dove possono essere ricollocati manualmente nelle directory originarie o possono essere rimossi definitivamente.

## Sintassi

La sintassi del comando fsck è specifica del particolare sistema operativo, tuttavia è possibile ricondurla alla seguente forma generale:

Il parametro filesystem indica il dispositivo su cui risiede il file system da controllare: generalmente è il nome del dispositivo a blocchi che lo contiene (ad es. /dev/lv01 o /dev/sda3).

## Opzioni

Le opzioni sono altamente dipendenti sia dal sistema operativo in uso che dal tipo di file system che si va a verificare, ma generalmente esse consentono di:

* eseguire una verifica rapida;
* eseguire controlli approfonditi;
* rimediare ad eventuali incoerenze rilevate.
