I sistemi operativi hanno fatto molta strada negli ultimi anni. Hanno un ingombro ridotto, sono più efficienti nella gestione delle risorse e sono diventati molto più veloci dei primi sistemi informatici. Nonostante tutti i miglioramenti apportati, ci sono ancora pezzi del puzzle "vecchia scuola" di cui semplicemente non possiamo vivere senza. I filesystem e, per necessità, le tabelle di filesystem sono una di queste costanti. Questi possono essere un po' complicati per molti utenti, quindi esamineremo /etc/fstab
(fstab
) un po' più vicino.
Che cos'è?
La tabella del filesystem del tuo sistema Linux, alias fstab
, è una tabella di configurazione progettata per facilitare il montaggio e lo smontaggio dei file system su una macchina. È un insieme di regole utilizzate per controllare come vengono trattati i diversi filesystem ogni volta che vengono introdotti in un sistema. Prendi in considerazione le unità USB, ad esempio. Oggi siamo così abituati alla natura plug and play delle nostre unità esterne preferite che potremmo dimenticare completamente che le operazioni sono in corso dietro le quinte per montare l'unità e leggere/scrivere dati.
Al tempo degli antichi, gli utenti dovevano montare manualmente queste unità in una posizione di file utilizzando il mount
comando. Il fstab
file è diventato un'opzione interessante a causa di sfide come questa. È progettato per configurare una regola in cui vengono rilevati file system specifici, quindi montati automaticamente nell'ordine desiderato dall'utente ogni volta che il sistema si avvia. Non solo riduce il lavoro nel tempo, ma consente anche all'utente di evitare errori nell'ordine di caricamento che potrebbero consumare tempo ed energia preziosi.
Struttura della tabella
La tabella stessa è una struttura a 6 colonne, in cui ogni colonna designa un parametro specifico e deve essere impostata nell'ordine corretto. Le colonne della tabella sono le seguenti da sinistra a destra:
- Dispositivo :solitamente il nome o l'UUID del dispositivo montato (sda1/sda2/etc).
- Punto di montaggio :designa la directory in cui il dispositivo è/sarà montato.
- Tipo di file system :niente trucco qui, mostra il tipo di filesystem in uso.
- Opzioni :elenca tutte le opzioni di montaggio attive. Se si utilizzano più opzioni, queste devono essere separate da virgole.
- Operazione di backup :(la prima cifra) questo è un sistema binario dove
1
=backup dell'utilità di dump di una partizione.0
=nessun backup. Questo è un metodo di backup obsoleto e NON deve essere utilizzato. - Ordine di controllo del file system :(seconda cifra) Qui possiamo vedere tre possibili risultati.
0
significa che fsck non controllerà il filesystem. I numeri superiori a questo rappresentano l'ordine di controllo. Il filesystem di root dovrebbe essere impostato su1
e altre partizioni impostate su2
.
Posizione e opzioni
Ovviamente la tua tabella sarà diversa a seconda del tuo ambiente, tuttavia, voglio guardare un esempio utilizzando una macchina virtuale in modo da poter vedere quali informazioni vengono fornite e analizzare ciò che stiamo vedendo. Vedrai il mio fstab
sotto:
[tcarrigan@rhel ~]$ vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Jan 27 10:04:34 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=64351209-b3d4-421d-8900-7d940ca56fea /boot xfs defaults 0 0
/dev/mapper/rhel-swap swap swap defaults 0 0
~
~
~
"/etc/fstab" [readonly] 14L, 579C 1,0-1 All
Questa tabella è composta da sei colonne che definiscono determinati parametri attorno a un determinato filesystem. La prima cosa che ti viene in mente sono i commenti nell'intestazione. Per ora, ignora Creato da sezione e passare a Filesystem accessibili porzione. Queste directory e pagine man sono degne di nota e possono fornire informazioni preziose in caso di necessità. Quindi, passa a Dopo la modifica e annota il systemctl daemon-reload
comando utilizzato per aggiornare i componenti di sistema dopo aver apportato modifiche a questo file.
Ora che abbiamo esaminato i commenti, analizziamo la configurazione effettiva presente e osserviamo i vari bit di informazioni che un utente ha bisogno di notare.
Il primo (e unico, in questo caso) filesystem che vedi è il filesystem root per questa VM /dev/mapper/rhel-root
. Vedi anche che è un xfs
filesystem. È possibile visualizzare un numero qualsiasi di opzioni qui, come ext3, ext4, file system fat, ecc. Direttamente sotto il file system radice, si trova l'Universally Unique Identifier (UUID). L'UUID rimane costantemente assegnato al filesystem. Gli UUID sono un ottimo modo per etichettare i filesystem, specialmente in ambienti più piccoli. Tuttavia, possono causare problemi in ambienti più grandi in cui sono in uso unità basate su rete. Divago l'UUID del mio filesystem qui è:UUID=64351209-b3d4-421d-8900-7d940ca56fea
Vedi anche che c'è uno swap
partizione presente in questa posizione, così come il punto di montaggio per il filesystem root /
. Spostandoti a destra, vedi una coppia di zero. Il primo zero è un'opzione binaria (0=falso e 1=vero) per "dumping". Questo è un metodo di backup obsoleto e dovrebbe essere impostato su zero o inutilizzato. Il numero successivo a destra dice al sistema di eseguire un controllo del filesystem o fsck. Qui, un'opzione di 0 =salta. Il filesystem di root dovrebbe essere impostato su 1 e tutti gli altri che vuoi controllare assegnati dopo.
NOTA :Queste opzioni devono essere elencate in ordine affinché la configurazione funzioni correttamente.
Utilizzo avanzato
Ci sono altre opzioni per utenti più avanzati che non ho configurato qui (quindi non ci sono esempi mostrati). Tuttavia, ci sono alcune ottime risorse sul web per spiegare queste opzioni. Quelli che vorrei controllare sono i seguenti:
- auto/noauto:controlla se la partizione viene montata automaticamente all'avvio (o meno).
- exec/noexec:controlla se la partizione può eseguire o meno i binari. In nome della sicurezza, di solito è impostato su noexec.
- ro/rw:controlla i privilegi di lettura e scrittura - ro =sola lettura, dove rw=lettura-scrittura.
- nouser/user:controlla se l'utente ha o meno i privilegi di montaggio. L'impostazione predefinita è noexec per tutti gli account utente.
Conclusione
Si spera che ora tu abbia una migliore comprensione dello scopo di /etc/fstab
e può dare un senso a ciò che viene mostrato sul tuo sistema. Molti utenti occasionali non utilizzano questo file. Tuttavia, se ti senti curioso o hai bisogno di apportare modifiche, ora sei meglio attrezzato per farlo!
[ Corso online gratuito:panoramica tecnica di Red Hat Enterprise Linux. ]