fsck
(controllo del file system) è un'utilità della riga di comando che consente di eseguire controlli di coerenza e riparazioni interattive su uno o più file system Linux. Utilizza programmi specifici per il tipo di file system che controlla.
Puoi usare fsck
comando per riparare i file system danneggiati in situazioni in cui il sistema non si avvia o non è possibile montare una partizione.
In questo articolo parleremo di fsck
comando.
Come usare fsck
#
Il fsck
comando assume la seguente forma generale:
fsck [OPTIONS] [FILESYSTEM]
Solo root o utenti con sudo
i privilegi possono cancellare il buffer.
Quando nessun FILESYSTEM
viene fornito come argomento, fsck
controlla i dispositivi elencati in fstab
file.
Non eseguire mai fsck
su partizioni montate in quanto potrebbe danneggiare il file system. Prima di tentare di controllare o riparare i file system, sempre unmount
prima.
Il fsck
command è un wrapper per i vari checker del filesystem Linux (fsck.*
) e accetta opzioni diverse a seconda del tipo di file system.
Consulta le pagine di manuale per ulteriori informazioni su un correttore specifico. Ad esempio, per visualizzare le opzioni disponibili per fsck.ext4
, digita:
man fsck.ext4
Ripara file system danneggiato #
Il caso d'uso più semplice di fsck
il comando serve per riparare un file system ext3 o ext4 danneggiato non root.
-
Se non conosci il nome del dispositivo, usa
fdisk
,df
o qualsiasi altro strumento per trovarlo. -
Smonta il dispositivo:
sudo umount /dev/sdc1
-
Esegui
fsck
per riparare il file system:sudo fsck -p /dev/sdc1
Il
-p
l'opzione dice afsck
per riparare automaticamente eventuali problemi che possono essere risolti in sicurezza senza l'intervento dell'utente. -
Una volta che il file system è stato riparato, monta la partizione:
sudo mount /dev/sdc1
Ripara file system radice #
fsck
non è possibile controllare il file system di root su una macchina in esecuzione perché non può essere smontato.
Se vuoi controllare o riparare il file system di root, hai diverse opzioni a tua disposizione. Puoi impostare fsck
per eseguire all'avvio, avviare il sistema in modalità di ripristino o utilizzare un CD live.
Per eseguire fsck
in modalità di ripristino:
- Entra nel menu di avvio e scegli Opzioni avanzate
- Seleziona la modalità di ripristino e poi “fsck”.
- Quando viene richiesto di rimontare il file system di root, scegliere "Sì".
- Al termine, riprendi il normale avvio.
Per eseguire fsck
da una distribuzione live:
-
Avvia la distribuzione live.
-
Usa
fdisk
oparted
per trovare il nome della partizione radice. -
Apri il terminale ed esegui:
sudo fsck -p /dev/sda1
-
Una volta terminato, riavvia la distribuzione live e avvia il tuo sistema.
Controlla i file system all'avvio #
Sulla maggior parte delle distribuzioni Linux, fsck
viene eseguito all'avvio se un file system è contrassegnato come sporco o dopo un certo numero di avviamenti o tempo.
Per vedere il numero di mount corrente, controllare il numero di frequenza, l'intervallo di controllo e l'ora dell'ultimo controllo per una partizione specifica, usa tune2fs
strumento:
sudo tune2fs -l /dev/sdc1 | grep -i 'last checked\|mount count'
Mount count: 292
Maximum mount count: -1
Last checked: Tue Jul 24 11:10:07 2018
Check interval: 0 (<none>)
- "Numero massimo di mount" è il numero di mount dopo il quale il filesystem verrà controllato. Il valore di
0
o-1
significa chefsck
non verrà mai eseguito. - "Intervallo di controllo" è il tempo massimo tra due controlli del filesystem.
Se, ad esempio, vuoi eseguire fsck
dopo ogni 25 stivali (montaggi), digitare:
sudo tune2fs -c 25 /dev/sdc1
Puoi anche impostare il tempo massimo tra due controlli. Ad esempio, per impostarlo su un mese dovresti eseguire:
sudo tune2fs -i 1m /dev/sdc1
Per forzare fsck
per essere eseguito all'avvio su distribuzioni SystemD, passare i seguenti parametri di avvio del kernel:
fsck.mode=force
fsck.repair=yes
Sulle vecchie distribuzioni fsck
verrà eseguito all'avvio se il /forcefsck
il file è presente:
sudo touch /forcefsck
fstab
Opzioni #
fstab
è un file di configurazione che dice al sistema come e dove montare le partizioni.
Il /etc/fstab
contiene un elenco di voci nella forma seguente:
# [File System] [Mount Point] [File System Type] [Options] [Dump] [PASS]
/dev/sda1 / ext4 defaults 0 1
/dev/sda2 /home ext4 defaults 0 2
server:/dir /media/nfs nfs defaults 0 0
L'ultima, sesta colonna ([PASS]
) è l'opzione che controlla l'ordine in cui vengono eseguiti i controlli del file system al momento del riavvio.
0
- Non controllare.1
- I file system da controllare per primi e uno alla volta.2
- Tutti gli altri file system che vengono controllati successivamente ed eventualmente in parallelo.
Il file system radice dovrebbe avere un valore di 1
e tutti gli altri file system che vuoi controllare dovrebbero avere un valore di 2
.
Conclusione #
fsck
è uno strumento da riga di comando per il controllo e la riparazione facoltativa dei file system Linux.
Per saperne di più su fsck
comando, visita la pagina man di fsck o digita man fsck
nel tuo terminale.
Se hai domande o feedback, sentiti libero di lasciare un commento.