Introduzione
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.
È possibile utilizzare il comando fsck
per riparare file system danneggiati in situazioni in cui il sistema non si avvia o non è possibile montare una partizione.
In questo articolo, parleremo del comando fsck
.
Come usare fsck
Il comando fsck
assume la seguente sintassi:
fsck [OPTIONS] [FILESYSTEM]
Solo l'utente root o gli utenti con privilegi sudo
possono cancellare il buffer.
Quando non viene fornito nessun FILESYSTEM
come argomento, fsck
controlla i dispositivi elencati nel file fstab
.
Non eseguire mai fsck
su partizioni montate in quanto potrebbe danneggiare il file system. Prima di tentare di controllare o riparare i file system, utilizzare sempre prima il comando unmount
.
Il comando fsck
è un wrapper per i vari correttori di filesystem Linux ( fsck.*
) e accetta diverse opzioni a seconda del tipo di file system.
Controllare le pagine del manuale per ulteriori informazioni su un correttore specifico. Ad esempio, per visualizzare le opzioni disponibili per fsck.ext4
, digitare:
man fsck.ext4
Riparare il file system danneggiato
Il caso d'uso più semplice del comando fsck
è di riparare un file system ext3 o ext4 danneggiato non root.
Se non si conosce il nome del dispositivo, utilizzare 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
L'opzione -p
indica al tool fsck
di riparare automaticamente eventuali problemi che possono essere risolti in modo sicuro senza l'intervento dell'utente.
Una volta riparato il file system, montare la partizione:
sudo mount /dev/sdc1
Ripara il file system di root
fsck
non può controllare il file system di root su una macchina in esecuzione perché non può essere smontato.
Se si desidera controllare o riparare il file system di root, sono disponibili diverse opzioni. È possibile impostare l'esecuzione di fsck
per l'avvio, avviare il sistema in modalità di ripristino o utilizzare un CD live.
Per eseguire fsck
in modalità di ripristino:
- Accedi al menu di avvio e scegli Opzioni avanzate
- Selezionare la modalità di ripristino e quindi "fsck".
- Quando viene richiesto di reinstallare il file system di root, scegliere "Sì".
- Al termine, riprendere il normale avvio.
Per eseguire fsck
da una distribuzione live:
- Avvia la distribuzione live.
- Utilizzare
fdisk
oparted
per trovare il nome della partizione root.
Apri il terminale ed esegui:
sudo fsck -p /dev/sda1
- Al termine, riavviare la distribuzione live e avviare il sistema.
Controllare 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 determinato numero di avviamenti o tempi.
Per vedere il conteggio di mount corrente controlla il numero di frequenza, l'intervallo e l'ora dell'ultimo controllo per una partizione specifica, usa lo strumento tune2fs
:
sudo tune2fs -l /dev/sdc1 | grep -i 'last checked\|mount count'
Mount count: 193
Maximum mount count: -1
Last checked: Tue Jul 21 12:09:13 2018
Check interval: 0 (<none>)
- Maximum mount count - è il numero di montaggi dopo i quali verrà verificato il filesystem. Il valore
0
o-1
significa chefsck
non verrà mai eseguito. - Check interval - è il tempo massimo tra due controlli del file system.
Se ad esempio, si desidera eseguire fsck
dopo ogni 25 avvii (mounts), digitare:
sudo tune2fs -c 25 /dev/sdc1
È inoltre possibile impostare il tempo massimo tra due controlli. Ad esempio, per impostarlo su un mese dovresti eseguire:
sudo tune2fs -i 1m /dev/sdc1
Per forzare l'esecuzione di fsck
all'avvio sulle distribuzioni SystemD, utilizzare i seguenti parametri di avvio del kernel:
fsck.mode=force
fsck.repair=yes
Nelle distribuzioni precedenti fsck
verrà eseguito all'avvio se il file /forcefsck
è presente, quindi utilizzare il seguente comando forzare l'avvio di fsck
:
Opzioni FSTAB
fstab
è un file di configurazione che indica al sistema come e dove montare le partizioni.
Il file /etc/fstab
contiene un elenco di voci nel seguente formato:
# [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 verificare uno alla volta.2
- Tutti gli altri file system che vengono controllati in seguito e possibilmente in parallelo.
Il file system di root dovrebbe avere un valore 1
e tutti gli altri file system che si desidera verificare 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ù sul comando fsck
, digita nel terminale il seguente comando:
man fsck