GNU/Linux >> Linux Esercitazione >  >> Linux

Che cos'è Fstab in Linux | Un'introduzione al file /etc/fstab di Linux

In questa guida impareremo cos'è fstab in Linux e qual è l'uso di fstab file, la struttura di /etc/fstab file e infine come eseguire il debug dei problemi di fstab. Alla fine, discuteremo anche di una breve introduzione a mtab file, il suo utilizzo e come mtab differisce da fstab.

Cos'è fstab?

In qualità di amministratore del server o utente desktop Linux o chiunque sia nuovo di Linux, conoscendo /etc/fstab file in Linux e come eseguire il debug dei problemi di fstab sono molto importanti.

Fstab è una f ile s sistema scheda le utilizzato dal kernel durante l'avvio per montare il file system. In parole povere, creerai una o più partizioni sul tuo disco rigido e creerai una voce per ogni partizione in fstab che verrà letta dal kernel durante l'avvio e il file system verrà automaticamente montato.

Per impostazione predefinita, tutte le partizioni create durante l'installazione del sistema operativo verranno automaticamente aggiunte al file fstab. Immergiamoci e vediamo come è strutturato fstab e come utilizzare fstab.

NOTA : Prima di modificare il file fstab, è consigliabile eseguire un backup del file. Se nel caso qualcosa non funziona, puoi ripristinare la copia di backup.

Struttura del file /etc/fstab

Fstab si trova in /etc/ directory e di proprietà dell'utente root. Quindi dovresti modificare il file usando sudo privilegio o come root utente.

Visualizza il file fstab eseguendo il comando seguente per comprenderne la struttura.

$ cat /etc/fstab
$ cat /etc/fstab | grep -i -v "^#" | column -t # Skip comments and format

Il file Fstab è composto da sei colonne (sezioni).

  1. File system - Blocca il dispositivo che è partizionato e crea un file system su di esso.
  2. Punto di montaggio - Dove il file system è montato nel tuo sistema.
  3. Digita - Tipo di file system (Ext4, Ext3, swap, Xfs, ecc.)
  4. Opzioni - Questo decide quali parametri di montaggio devono essere considerati durante il montaggio del file system
  5. Discarica - Questo è per scopi di backup utilizzati dal dump utilità. Impostarlo a zero significa disabilitare il backup e uno significa abilitare il backup su un determinato dispositivo/supporto.
  6. Passa - Controllo del file system all'avvio tramite fsck utilità. Zero disabiliterà il controllo del file system e per il file system di root dovrebbe essere impostato su 1 e per le altre partizioni dovrebbe essere impostato su 2.

Ogni filesystem è descritto su una riga separata. I campi su ogni riga sono separati da tabulazioni o spazi.

Vediamo in dettaglio questi sei parametri.

1. File system

Nella prima colonna di fstab, devi puntare a quale partizione monterai. Puoi utilizzare un nome di dispositivo a blocchi come /dev/sda* oppure usa l'UUID.

Quando crei un file system sopra qualsiasi unità partizionata usando mkfs comando ci sarà un UUID creato per quella particolare partizione.

Supponiamo che tu abbia creato una nuova partizione ed è sdb1 . In questo caso, il tuo fstab sarà il seguente.

/dev/sdb1 /home ext4 defaults 0 0

Per ottenere l'id del blocco per qualsiasi file system, eseguire il comando seguente.

$ blkid                # Print info about all fs.
$ blkid /dev/sdb1      # Print info about given fs alone.

Ora usando questo ID blocco puoi montare il file system come mostrato nell'immagine qui sotto.

2. Punto di montaggio

Nella seconda colonna, devi specificare la directory del punto di montaggio. Il punto di montaggio si riferisce alla directory nel file system in cui verrà montata l'unità partizionata.

Come puoi vedere nell'immagine sottostante, ogni partizione è montata in una directory diversa. Ad esempio, la partizione /dev/sdb1 è dedicato alla directory home e montato in /home .

Supponiamo che tu abbia creato una nuova partizione con una dimensione di 100 GB e con EXT4 come tipo di partizione. La voce fstab sarà la seguente. Qui /mnt/data1 è il punto di montaggio.

UUID=xxxx-xxx-xxx /mnt/data1/ ext4 defaults 0 0

Oppure

/dev/sdb2 /mnt/data1/ ext4 defaults 0 0

3. Tipo di file system

Qui menzionerai il tipo di file system (EXT2, EXT3, EXT4, XFS, VFAT, SWAP, ecc.). Se vuoi conoscere il tipo di file system per un dispositivo a blocchi, usa blkid o lsblk comando.

$ lsblk -f /dev/sdb1
NAME FSTYPE LABEL UUID                                 MOUNTPOINT
sdb1 ext4         365c64d7-4d65-4cdf-8ce1-0def8bb41997 /home
$ blkid /dev/sdb1
/dev/sdb1: UUID="365c64d7-4d65-4cdf-8ce1-0def8bb41997" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="8f174339-01"

4. Opzioni di montaggio

Questa è una colonna importante in cui passerai le opzioni di montaggio per il file system. Ci sono molte opzioni di montaggio che possono essere utilizzate. Per un utilizzo normale è sufficiente utilizzare l'opzione predefinita. L'opzione predefinita punta alla combinazione di sette (rw , suid , dev , exec , auto , nouser e async ) opzioni.

Vediamo cosa fa l'opzione predefinita.

  • rw - Questo dice al file system di essere montato in modalità di lettura-scrittura. Quando si verifica un errore, puoi fare in modo che il file system venga montato in modalità di sola lettura utilizzando l'opzione errors=remount-ro .
  • suid - Qualsiasi operazione relativa a suid e sgid sarà consentito tramite questa opzione.
  • dev - Interpreterà i caratteri e bloccherà i dispositivi sul file system. Se non desideri interpretare i caratteri e bloccare i dispositivi, puoi utilizzare l'opzione nodev in modo esplicito.
  • exec - Dal file system è possibile eseguire i binari impostando l'opzione exec. Al contrario, puoi usare noexec opzione per non eseguire i binari dal file system.
  • auto - Questa opzione è responsabile del montaggio automatico del file system durante l'avvio o ogni volta che si esegue il comando mount -a dal terminale. Di fronte a questo, c'è noauto opzione che consentirà solo di montare il file system individualmente.
  • nouser - Solo un superutente può montare il file system. Puoi anche utilizzare le opzioni "utente" e "utenti" che possono impostare l'utente ordinario per montare e smontare il file system.
  • async - Tutte le operazioni di I/O devono essere eseguite in modo asincrono. Se si utilizza l'opzione "sync" l'operazione di IO verrà eseguita in modo sincrono.

A seconda del requisito potrebbe essere necessario utilizzare diverse opzioni. Se hai un server di produzione esistente nel tuo ambiente, ti suggerisco di dare un'occhiata al file fstab che ti darà una buona idea di quali sono le opzioni di montaggio utilizzate.

5. Scarica

Questa colonna è specifica per scopi di backup. Quando è impostato su 1, l'utilità di dump eseguirà i backup. Si tratta di una funzionalità ormai obsoleta poiché originariamente progettata per eseguire backup su nastri per file system meno recenti.

È consigliato impostarlo su zero .

6. Passa

Durante l'avvio il fsck l'utilità eseguirà un controllo del file system in base al valore fornito nella sesta colonna. Se imposti il ​​valore su zero oppure lascialo vuoto , il controllo del file system sarà disabilitato.

Il file system radice deve sempre essere specificato sul valore 1 . Per altri file system, puoi impostare il valore su 2 . Dato che sto usando VM per la dimostrazione, ho impostato tutti i valori su zero.

Risolvi i problemi di avvio relativi al file Fstab

Se hai commesso un errore nel file fstab e quando riavvii la macchina entrerà in modalità di emergenza . In modalità di emergenza, non ci sarà l'interfaccia di rete, quindi devi eseguire il debug direttamente nella console.

Devi digitare la root password per entrare in modalità emergenza. Esegui il comando seguente e scorri lentamente per visualizzare i messaggi di errore. Nel mio caso, ho intenzionalmente rimosso il separatore (/) in /dev/sdb1 .

In modalità di emergenza, se il file system è montato in modalità di sola lettura, è necessario eseguire il montaggio in rw mode e modifica fstab file per risolvere il problema. Per rimontare il file system in rw mode esegui il comando seguente.

$ mount -o rw,remount /

Ora modifica fstab per correggere l'errore e riavviare la macchina. Ora la tua macchina dovrebbe essere in grado di avviarsi correttamente.

$ reboot

Per evitare problemi durante l'avvio, puoi eseguire mount comando dopo aver aggiunto il fstab inserimenti.

Dai un'occhiata all'immagine qui sotto in cui ho aggiunto una nuova voce per /dev/sdb2 . Non ho specificato il tipo di file system, quindi mi genererà un errore quando eseguo mount comando.

$ mount -a
mount: /mnt: unknown filesystem type 'defaults'.

Cos'è un file Mtab?

Quando esegui il comando mount senza passare alcun argomento, stampa l'elenco dei file system montati.

$ mount

C'è anche un file chiamato mtab nel /etc/ directory. Quando guardi /etc/mtab , sarà esattamente lo stesso dell'output di mount comando.

Vediamo cosa ha da dire la pagina man sul file mtab.

Il /etc/mtab il file è collegato simbolicamente ai mount nel proc file system. Se esegui mount o umount comando il risultato verrà aggiornato in mounts.

$ ls -ln /etc/mtab
lrwxrwxrwx 1 0 0 19 Jan 9 17:45 /etc/mtab -> ../proc/self/mounts

Per riassumere la differenza tra fstab e mtab, fstab viene utilizzato per montare il file system durante l'avvio e mtab viene utilizzato per visualizzare l'elenco dei file system montati.

Se /etc/mtab il file è danneggiato o eliminato per errore, puoi rigenerarlo utilizzando il comando seguente.

$ sudo sh -c 'grep -v rootfs /proc/mounts > /etc/mtab'

Conclusione

In questo articolo abbiamo discusso cos'è fstab e mtab e come è importante che il sistema memorizzi e legga le informazioni sulla partizione durante l'avvio. Abbiamo anche discusso di cosa succede quando viene commesso un errore nel file fstab.


Linux
  1. In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

  2. Esempio di file /etc/services in Linux

  3. Comprensione del file di configurazione /etc/profile in Linux

  4. Cosa significa l'opzione sw in /etc/fstab?

  5. Nel mio file /etc/hosts/ su Linux/OSX, come creo un sottodominio con caratteri jolly?

Cos'è umask in Linux?

FSTAB &MTAB

Che cos'è il file .bashrc in Linux?

Che cos'è il file /etc/passwd in Linux?

Comprendere il file /etc/fstab in Linux

Ubuntu invia un messaggio Benvenuto in modalità di emergenza!