I filesystem sono responsabili dell’organizzazione del modo in cui i dati vengono memorizzati e recuperati. In un modo o nell’altro, con il tempo, il filesystem potrebbe essere danneggiato e alcune parti di esso potrebbero non essere accessibili. Se il vostro filesystem sviluppa tale incoerenza si consiglia di verificarne l’integrità.
Questo può essere completato tramite l’utilità di sistema chiamata fsck (controllo di coerenza del file system). Questo controllo può essere eseguito automaticamente durante l’avvio o eseguito manualmente.,
In questo articolo, esamineremo l’utilità fsck e il suo utilizzo per aiutarti a riparare gli errori del disco.
Quando usare fsck in Linux
Ci sono diversi scenari in cui si desidera eseguire fsck. Ecco alcuni esempi:
- Il sistema non si avvia.
- File sul sistema diventano corrotti (spesso si può vedere errore di input/output).
- L’unità collegata (incluse le unità flash / le schede SD) non funziona come previsto.
fsck Opzioni disponibili
Il comando Fsck deve essere eseguito con privilegi di superutente o root. Puoi usarlo con argomenti diversi., Il loro utilizzo dipende dal tuo caso specifico. Sotto vedrai alcune delle opzioni più importanti:
-
-
-A
– Usato per controllare tutti i filesystem. L’elenco è tratto da/etc/fstab
. -
-C
– Mostra barra di avanzamento. -
-l
– Blocca il dispositivo per garantire che nessun altro programma tenterà di utilizzare la partizione durante il controllo. -
-M
– Non controllare i filesystem montati., -
-N
– Mostra solo cosa sarebbe stato fatto – non vengono apportate modifiche effettive. -
-P
– Se si desidera controllare i filesystem in parallelo, incluso root. -
-R
– Non controllare il filesystem di root. Questo è utile solo con ‘-A
‘. -
-r
– Fornire statistiche per ogni dispositivo che viene controllato. -
-T
– Non mostra il titolo. -
-t
– Specifica esclusivamente i tipi di filesystem da controllare., I tipi possono essere separati da virgole. -
-V
– Fornire una descrizione di ciò che viene fatto.
-
Come eseguire fsck per riparare gli errori del file system Linux
Per eseguire fsck, è necessario assicurarsi che la partizione che si sta per controllare non sia montata. Ai fini di questo articolo, userò la mia seconda unità /dev/sdb
montata in /mnt
.
Ecco cosa succede se provo a eseguire fsck quando la partizione è montata.,
# fsck /dev/sdb
To avoid this unmount the partition using.
# umount /dev/sdb
Then fsck can be safely ran with.
# fsck /dev/sdb
Understanding fsck exit codes
After running fsck, it will return an exit code., Questi codici possono essere visti nel manuale di fsck eseguendo:
# man fsck0 No errors1 Filesystem errors corrected2 System should be rebooted4 Filesystem errors left uncorrected8 Operational error16 Usage or syntax error32 Checking canceled by user request128 Shared-library error
Ripara gli errori del Filesystem Linux
A volte è possibile trovare più di un errore su un filesystem. In questi casi è possibile che fsck tenti automaticamente di correggere gli errori. Questo può essere fatto con:
# fsck -y /dev/sdb
Il -y
bandiera, automaticamente "yes”
a qualsiasi richiesta da fsck per correggere un errore.,
Allo stesso modo, è possibile eseguire lo stesso su tutti i filesystem (senza root):
$ fsck -AR -y
Come eseguire fsck sulla partizione root di Linux
In alcuni casi, potrebbe essere necessario eseguire fsck sulla partizione root del sistema. Poiché non è possibile eseguire fsck mentre la partizione è montata, è possibile provare una di queste opzioni:
- Forza fsck all’avvio del sistema
- Esegui fsck in modalità di salvataggio
Esamineremo entrambe le situazioni.,
Forza fsck all’avvio del sistema
Questo è relativamente facile da completare, l’unica cosa che devi fare è creare un file chiamato forcefsck nella partizione root del tuo sistema. Usa il seguente comando:
# touch /forcefsck
Quindi puoi semplicemente forzare o pianificare un riavvio del tuo sistema. Durante il prossimo avvio, verrà eseguito l’fsck. Se i tempi di inattività sono critici, si consiglia di pianificare attentamente questo, poiché se ci sono molti inode utilizzati sul sistema, fsck potrebbe richiedere un po ‘ di tempo in più.,
Dopo l’avvio del sistema, controlla se il file esiste ancora:
# ls /forcefsck
Se lo fa, potresti voler rimuoverlo per evitare fsck ad ogni avvio del sistema.
Esegui fsck in modalità di salvataggio
L’esecuzione di fsck in modalità di salvataggio richiede alcuni passaggi in più. Per prima cosa prepara il tuo sistema per il riavvio. Interrompere qualsiasi servizio critico come MySQL / MariaDB ecc.
# reboot
Durante l’avvio, tenere premuto il tasto shift
in modo che venga visualizzato il menu grub. Seleziona le “Opzioni avanzate”.,
Then choose “Recovery mode”.
In the next menu select “fsck”.
You will be asked if you wish to have your /
filesystem remounted. Select "yes”
.,
You should see something similar to this.
You can then resume to normal boot, by selecting “Resume”.