Il comando Fsck in Linux
FSCK (File System Consistency Check) è un’utilità della riga di comando per controllare e riparare gli errori del file system di Linux. Ciò garantisce l’integrità e la coerenza del file system.
fsck è un programma front-end e chiama quel programma per far funzionare il file system. Fsck viene solitamente eseguito dopo che il sistema non si avvia, il file system è danneggiato o l’unità collegata non funziona correttamente.
In questo tutorial, impareremo il comando fsck e come riparare i file system su una distribuzione Linux.
Prerequisiti
- Sistema simile a Linux o Unix
- Un utente con accesso root
Quando usi il comando fsck
- Il sistema trova automaticamente il sistema incoerente, di solito dopo un arresto anomalo del sistema o un’interruzione dell’alimentazione o dopo uno smontaggio sporco.
- Il sistema non si avvia
- Quando il sistema presenta un errore I/O
- Pianifica l’esecuzione di fsck per l’integrità del file system all’avvio o ogni pochi mesi
il comando fsck in Linux
Il comando fsck segue una sintassi di base.
$ sudo fsck [Option] [Filesystem]
Il [Option] nella sintassi ci sono le opzioni disponibili con l’utility fsck (l’opzione fsck è data alla fine di questo tutorial). Il [Filesystem] può essere un dispositivo, una partizione, un punto di montaggio e così via. Se non viene aggiunta alcuna credenziale [Filesystem]fsck controlla i dispositivi elencati nel file fstab.
fsck è incluso per impostazione predefinita in tutte le distribuzioni Linux. Avere un buon backup è un punto sicuro per eseguire il comando fsck. fsck mantiene intatti tutti i file e controlla solo l’integrità del file system. Questo comando può essere eseguito manualmente o automaticamente.
Prima di tentare di controllare o riparare i file system, ricordarsi sempre di smontare la partizione. In caso contrario, si potrebbe danneggiare il file system.
Controlla e ripara gli errori del file system
Fsck è comunemente usato per riparare errori su file system ext3 o ext4 corrotti. Per utilizzare l’utility fsck, devi prima assicurarti che la partizione sia stata smontata. Riceverai un errore e il tuo processo verrà interrotto se provi a eseguire il comando fsck sulla partizione senza smontarla. Al termine del processo, è possibile montare nuovamente il file system.
Se non sei sicuro del nome del dispositivo, usa il comando df, lsblk o fdisk (fdisk -l) per trovarlo.
$ sudo df -h
Utilizzare il comando unmount per evitare di danneggiare il file system.
Sintassi:
$ sudo umount [filesystem]
È possibile utilizzare l’opzione -p con l’utilità fsck per riparare automaticamente eventuali problemi che possono essere risolti in modo sicuro senza l’intervento dell’utente.
Sintassi:
$ sudo fsck -p [Filesystem]
Per esempio:
$ sudo umount /dev/sdc
$ sudo fsck -p /dev/sdc
Produzione:
$ sudo fsck -p /dev/sdc
fsck from util-linux 2.34
exfatfsck 1.3.0
Checking file system on /dev/sdc.
File system version 1.0
Sector size 512 bytes
Cluster size 128 KB
Volume size 55 GB
Used space 4 MB
Available space 55 GB
Totally 1 directories and 3 files.
File system checking finished. No errors found.
Dopo aver controllato e riparato, assicurati di montare il disco.
Correggi l’errore del file system di root
Poiché una macchina rooted non può essere smontata, Fsck non può verificare la presenza di errori. Tuttavia, puoi eseguire fsck in modalità di ripristino.
Riavviando la macchina in modalità Rescue, puoi eseguire fsck. È possibile eseguire fsck per correggere gli errori del file di sistema root utilizzando i seguenti passaggi.
Accedi al menu di avvio e seleziona “Opzioni avanzate” durante il riavvio.
Scegli “Modalità di ripristino” dal menu delle opzioni avanzate, quindi scegli “fsck” dal menu a discesa.
Apparirà una finestra di messaggio che chiede se vuoi montare il tuo file system. Seleziona l’opzione “Sì”.
Selezionando l’opzione “Riprendi”, ora puoi tornare al normale avvio.
opzioni fsck
C’è un elenco di opzioni disponibili con l’utility fsck per scopi specifici. Alcune delle utili opzioni di fsck sono:
1. Esegui fsck dry run: esegue un’esecuzione di prova.
fsck -N /dev/sdc
2. Esegui in modo non interattivo: rispondi sì a tutte le domande, questo eviterà tutte le richieste
fsck -y /dev/sdc
3. Stampa errore fsck su Stdout senza riparazione
fsck -n /dev/sdc
4. Eseguire fsck su tutti i file system
fsck -AR
-R salterà il filesystem root in quanto non può essere smontato su una macchina in esecuzione
5. Eseguire fsck su un file system specifico
Il comando fsck è un wrapper e utilizza internamente il rispettivo comando di controllo del file system (fsck.*
). Puoi trovare i seguenti comandi di verifica fsck come fsck.ext2, fsck.ext3, fsck.ext4 ecc.).
# cd /sbin
# ls fsck*
fsck fsck.cramfs fsck.ext2 fsck.ext3 fsck.ext4 fsck.minix fsck.xfs
La tabella seguente elenca tutte le opzioni del comando fsck.
Opzione | Descrizione |
-UN | Controlla tutti i filesystem presenti in /etc/fstab |
-C | Mostra la barra di avanzamento |
– f | Forza il controllo del file system |
esso | Blocca il tuo dispositivo |
– M | Non controllare i filesystem montati |
-N | Stampa l’output senza eseguire alcuna azione |
-P | Controlla più file system in parallelo |
– p | Ripara automaticamente eventuali problemi che possono essere risolti in modo sicuro senza la necessità dell’interazione dell’utente |
-R | Non controlla il filesystem di root se usato con -A |
-r | Stampa le statistiche per ogni dispositivo che è stato controllato |
T | Non mostrare il titolo |
t | Specificare i tipi di filesystem da controllare (questo può essere fatto usando man comando) |
v | Fornisci un output dettagliato |
-y | Assumi “sì” a tutte le domande |
fstab è un file che indica al sistema operativo come e dove montare le partizioni. È possibile trovare un elenco di voci nel file fstab aprendolo con /etc/fstab.
opzione
Un esempio di file /etc/fstab:
<filesystem> <mount point> <type> <options> <dump> <pass>
/dev/sda / ext4 errors=remount-ro 0 1
/dev/sdb none swap sw 0 0
/dev/sdc /mnt/data ext4 defaults,noatime,nofail 0 2
Conclusione
In questo tutorial, abbiamo imparato come utilizzare il comando fsck per controllare e riparare i file system in Linux. Puoi fare riferimento pagine man di fsck per una descrizione più completa.