L'esecuzione di fsck su filesystem non root è abbastanza semplice. Ma, per il filesystem di root, non puoi eseguire fsck quando è montato.
Questo breve tutorial spiega come forzare il controllo del filesystem per un filesystem root.
File system radice
In questo esempio, la partizione /dev/sda1 è il filesystem di root che è montato come /
# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 63G 41G 19G 69% /
Se esegui un fsck per controllare il tuo filesystem di root, riceverai il seguente messaggio di errore, poiché /dev/sda1 è montato e non puoi eseguire fsck su un filesystem montato.
# fsck /dev/sda1 fsck from util-linux-ng 2.17.2 e2fsck 1.41.12 (17-May-2010) /dev/sda1 is mounted. e2fsck: Cannot continue, aborting.
Se stai eseguendo un fsck su un file system non root, puoi semplicemente smontare quella partizione ed eseguire fsck.
Ma in questo caso, ci piace eseguire fsck su un filesystem di root. Allora, qual è la soluzione?
Inoltre, se non conosci fsck, fai riferimento a questo:10 esempi di comandi Linux Fsck per controllare e riparare il filesystem
Uscita di Tune2fs prima del riavvio
Prima di riavviare il sistema, controlliamo quando è stata l'ultima volta che fsck ha eseguito un controllo sul filesystem di root.
Per questo, usa il comando tune2fs e grep per "controlla" come mostrato di seguito.
# tune2fs -l /dev/sda1 | grep -i check Last checked: Mon Nov 24 12:39:44 2015 Check interval: 15552000 (6 months) Next check after: Sun May 22 13:39:44 2016
Come vediamo dall'output sopra:
- Ultimo controllo:indica l'ultima volta che è stato eseguito il controllo del filesystem di root. Questo è successo a novembre
- Controlla interna:indica la frequenza con cui verrà controllato il filesystem di root. In questo esempio, attenderà altri 6 mesi prima che fsck venga eseguito su questo filesystem durante il riavvio.
- Prossimo controllo dopo:indica la data e l'ora dopo la quale, quando si esegue un riavvio, il filesystem verrà controllato. Questo accadrà solo dopo maggio.
Ma, nel nostro caso, non vogliamo aspettare maggio. Vogliamo eseguire il controllo fsck del filesystem di root ora.
Crea il file /forcefsck per forzare il controllo del file system radice
Quindi, per forzare un controllo del filesystem di root, uno dei modi più semplici è riavviare il sistema e forzare fsck a eseguire il filesystem all'avvio del sistema prima che il filesystem di root venga montato dal kernel.
Per forzare fsck durante il riavvio, crea prima un file vuoto chiamato forcefsck sotto / come mostrato di seguito.
# cd / # touch forcefsck # ls -l /forcefsck -rw-r--r--. 1 root root 0 Mar 9 20:15 /forcefsck
Ora riavvia il sistema:
# reboot
Uscita di Tune2fs dopo il riavvio
Se hai accesso alla console, puoi vedere che fsck eseguirà il controllo sul filesystem / durante il riavvio.
Dopo il controllo, fsck eliminerà automaticamente il file /forcefsck che abbiamo creato in precedenza. Dopo il riavvio, non vedrai più questo file.
# ls -l /forcefsck ls: cannot access /forcefsck: No such file or directory
Ora, se esegui tune2fs, vedrai che il campo "Ultimo controllo" è stato aggiornato con il timestamp corrente. Questo conferma che fsck ha eseguito il controllo del filesystem di root durante il riavvio.
# tune2fs -l /dev/sda1 | grep -i check Last checked: Wed Mar 09 20:30:04 2016 Check interval: 15552000 (6 months) Next check after: Mon Sep 05 21:30:04 2016
Vedrai anche il valore di "Prossimo controllo dopo" modificato di conseguenza. ovvero 6 mesi dal momento in cui abbiamo riavviato il sistema.