GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come utilizzare il comando fsck per controllare e riparare il filesystem

Introduzione

Il fsck (Controllo della coerenza del file system) L'utilità Linux controlla i filesystem per errori o problemi in sospeso. Lo strumento viene utilizzato per correggere potenziali errori e generare rapporti.

Questa utilità viene fornita per impostazione predefinita con le distribuzioni Linux. Non sono richiesti passaggi specifici o una procedura di installazione per utilizzare fsck. Una volta caricato il terminale, sei pronto per sfruttare le funzionalità dello strumento.

Segui questa guida per imparare come usare fsck per controllare e riparare il filesystem su una macchina Linux . Il tutorial elencherà esempi di come utilizzare lo strumento e per quali casi d'uso.

Prerequisiti

  • Sistema Linux o simile a UNIX
  • Accesso a un terminale oa una riga di comando
  • Un utente con i permessi di root per eseguire lo strumento

Quando usare fsck in Linux

Lo strumento fsck può essere utilizzato in varie situazioni:

  • Utilizza fsck per eseguire un controllo del filesystem come manutenzione preventiva o quando si verifica un problema con il tuo sistema.
  • Un problema comune che fsck può diagnosticare è quando il sistema non si avvia .
  • Un altro è quando ricevi un errore di input/output quando i file sul tuo sistema vengono danneggiati.
  • Puoi anche utilizzare l'utilità fsck per controllare lo stato delle unità esterne , come Schede SD o unità flash USB .

Sintassi di base di fsck

La sintassi di base per l'utilità fsck segue questo schema:

fsck <options> <filesystem>

Nell'esempio sopra, filesystem può essere un dispositivo, una partizione, un punto di montaggio, ecc. Puoi anche utilizzare le opzioni specifiche del filesystem alla fine del comando.

Come controllare e riparare il filesystem

Ci sono alcuni passaggi da fare prima di controllare e riparare il file system. Devi individuare un dispositivo e smontarlo.

Visualizza dischi e partizioni montati

Per visualizzare tutti i dispositivi montati sul tuo sistema e controllare la posizione del disco, usa uno degli strumenti disponibili in Linux.

Un metodo per individuare il disco che si desidera scansionare è elencare i dischi del filesystem con il df comando:

df -h

Lo strumento stampa l'utilizzo dei dati sul sistema e sui file system. Prendi nota del disco che desideri controllare con fsck comando.

Per visualizzare le partizioni per il tuo primo disco, ad esempio, usa il seguente comando:

sudo parted /dev/sda 'print'

sda è così che Linux si riferisce al tuo primo disco SCSI. Se ne hai due, il secondo sarebbe sdb , e così via.

Nel nostro esempio, abbiamo ottenuto un risultato poiché c'era solo una partizione su questa macchina virtuale. Otterrai più risultati se hai più partizioni.

Il nome del disco qui è /dev/sda e quindi il numero di partizioni viene visualizzato nel Numero colonna. Nel nostro caso, è uno:sda1 .

Smonta il disco

Prima di poter eseguire un controllo del disco con fsck , è necessario smontare un disco o una partizione. Se provi a eseguire fsck su un disco o una partizione montata, riceverai un avviso:

Assicurati di eseguire unmount comando:

sudo umount /dev/sdb

Sostituisci /dev/sdb con il dispositivo che vuoi smontare.

Nota che non puoi smontare i filesystem di root. Quindi, ora fsck non può essere utilizzato su una macchina in esecuzione. Maggiori informazioni su questo verso la fine della guida.

Esegui fsck per verificare la presenza di errori

Ora che hai smontato il disco, puoi eseguire fsck . Per controllare il secondo disco, inserisci:

sudo fsck /dev/sdb

L'esempio sopra mostra l'output per un disco pulito. Se sono presenti più problemi sul disco, per ognuno viene visualizzata una richiesta in cui è necessario confermare l'azione.

Il codice di uscita restituito dall'utilità fsck è la somma di questi stati:

Monta il disco

Quando hai finito di controllare e riparare un dispositivo, monta il disco in modo da poterlo riutilizzare.

Nel nostro caso, rimonteremo il sdb disco:

mount /dev/sdb

Esegui una corsa a secco con fsck

Prima di eseguire un controllo in tempo reale, puoi eseguire un test con fsck. Supera il -N opzione per fsck comando per eseguire un test:

sudo fsck -N /dev/sdb

L'output stampa cosa accadrebbe ma non esegue alcuna azione.

Correggi automaticamente gli errori rilevati con fsck

Per provare a risolvere potenziali problemi senza ricevere alcun messaggio, passa il -y opzione per fsck .

sudo fsck -y /dev/sdb

In questo modo, dici "sì, prova a correggere tutti gli errori rilevati ” senza che venga richiesto ogni volta.

Se non vengono rilevati errori, l'output avrà lo stesso aspetto di senza -y opzione.

Salta la riparazione ma stampa gli errori fsck nell'output

Usa il -n opzione se vuoi controllare potenziali errori su un file system senza ripararli.

Abbiamo un secondo disco sdb con alcuni errori di journaling. Il -n flag stampa l'errore senza risolverlo:

sudo fsck -n /dev/sdb

Forza fsck per eseguire un controllo del filesystem

Quando si esegue un fsck su un dispositivo pulito, lo strumento salta il controllo del filesystem. Se vuoi forzare il controllo del filesystem, usa il -f opzione.

Ad esempio:

sudo fsck -f /dev/sdb

La scansione eseguirà tutti e cinque i controlli per cercare danneggiamenti anche quando ritiene che non ci siano problemi.

Esegui fsck su tutti i filesystem contemporaneamente

Se vuoi eseguire un controllo su tutti i filesystem con fsck in una volta sola, passa il -A bandiera. Questa opzione passerà attraverso etc/fstab file in un'unica esecuzione.

Poiché i filesystem di root non possono essere smontati su una macchina in esecuzione, aggiungi il -R opzione per saltarli:

fsck -AR

Per evitare le richieste, aggiungi il -y opzione di cui abbiamo parlato.

Salta fsck su un filesystem specifico

Se vuoi che fsck salti il ​​controllo di un filesystem, devi aggiungere -t e "no ” prima di un filesystem.

Ad esempio, per saltare ext3 filesystem, esegui questo comando:

sudo fsck -AR -t noext3 -y

Abbiamo aggiunto -y per saltare le richieste.

Salta Fsck sui filesystem montati

Per assicurarti di non eseguire fsck su un filesystem montato, aggiungi il -M opzione. Questo flag dice allo strumento fsck di saltare qualsiasi filesystem montato.

Per mostrarti la differenza, eseguiremo fsck su sdb mentre è montato, e poi quando lo smontiamo.

sudo fsck -M /dev/sdb

Mentre sdb è montato, l'utensile esce senza eseguire un controllo. Quindi, smontiamo sdb ed eseguire di nuovo lo stesso comando. Questa volta, fsck controlla il disco e lo segnala come pulito o con errori.

Nota: Per rimuovere la prima riga del titolo dello strumento fsck “fsck da util-linux 2.31.1 ” usa il -T opzione.

Esegui fsck sulla partizione radice di Linux

Come già accennato, fsck non può controllare le partizioni di root su una macchina in esecuzione poiché sono montate e in uso. Tuttavia, anche le partizioni root di Linux possono essere controllate se si avvia in modalità di ripristino ed eseguire il controllo fsck:

1. Per farlo, accendi o riavvia la macchina tramite la GUI o utilizzando il terminale:

sudo reboot

2. Tieni premuto il MAIUSC chiave durante l'avvio. Viene visualizzato il menu GNU GRUB.

3. Seleziona Opzioni avanzate per Ubuntu .

4. Quindi, seleziona la voce con (modalità di ripristino) alla fine. Lascia che il sistema si carichi nel menu di ripristino.

5. Seleziona fsck dal menu.

6. Conferma selezionando al prompt.

7. Al termine, seleziona riprendi nel menu di ripristino per avviare la macchina.

Cosa succede se fsck viene interrotto?

Non dovresti interrompere lo strumento fsck mentre è in corso. Tuttavia, se il processo viene interrotto, fsck terminerà il controllo in corso e poi si fermerà.

Nel caso in cui l'utilità abbia riscontrato un errore durante il controllo, non tenterà di correggere nulla se interrotta. Puoi eseguire nuovamente il controllo la prossima volta e lasciarlo terminare.

Riepilogo delle opzioni dei comandi di fsck Linux

Per concludere, di seguito è riportato l'elenco delle opzioni che puoi utilizzare con l'utilità fsck Linux .

Opzione Descrizione
-a Cerca di riparare automaticamente gli errori del filesystem. Non ci saranno richieste, quindi usalo con cautela.
-A Controlla tutti i filesystem elencati in /etc/fstab.
-C Mostra l'avanzamento per i filesystem ext2 ed ext3.
-f Forza fsck per controllare un filesystem. Lo strumento controlla anche quando il filesystem sembra essere pulito.
-l Bloccare il dispositivo per impedire ad altri programmi di utilizzare la partizione durante la scansione e la riparazione.
-M Non controllare i filesystem montati. Lo strumento restituisce un codice di uscita 0 quando viene montato un filesystem.
-N Esegui una prova a secco. L'output stampa ciò che fsck farebbe senza eseguire alcuna azione. Vengono stampati anche i messaggi di avviso o di errore.
-P Utilizzare per eseguire una scansione su più filesystem in parallelo. Può causare problemi, a seconda della configurazione. Usare con cautela.
-R Di' allo strumento fsck di non controllare i filesystem di root quando usi l'opzione -A.
-r Stampa le statistiche del dispositivo.
-t Specifica quali tipi di filesystem controllare con fsck. Consulta la pagina man per informazioni dettagliate.
-T Nascondi il titolo all'avvio dello strumento.
-y Cerca di riparare automaticamente gli errori del filesystem durante il controllo.
-V Output dettagliato.


Ubuntu
  1. Che cos'è un comando Chown in Linux e come usarlo

  2. Che cos'è un comando cURL e come utilizzarlo?

  3. Come utilizzare il comando di arresto di Linux in Ubuntu 18.04 e CentOS 7

  4. Controlla e ripara gli errori del filesystem con il comando fsck in Linux

  5. 10 esempi di comandi Linux Fsck per controllare e riparare il filesystem

Come installare e utilizzare Busybox in Ubuntu

Come installare e utilizzare il comando Curl su CentOS 8

Come installare e utilizzare GDU Disk Usage Analyzer su Ubuntu

Come controllare e riparare il filesystem XFS in RHEL/Centos

Come installare e utilizzare il comando fd in Linux

Come installare e utilizzare il comando Exa su Ubuntu 20.04