Da Wikipedia, l'enciclopedia libera.
“Il fstab
(/etc/fstab
)
(da File
System Table,
tabella dei file
system)
è, nei sistemi Unix e Unix-like (come
ad esempio GNU/Linux e FreeBSD)
un file di configurazione che si trova all'interno della
cartella /etc
(secondo
lo standard FHS)
ed il cui proprietario è l'utente root.
Il file elenca tutti i dischi e le partizioni disponibili e come essi
debbano essere montati o comunque preparati per integrarsi nel file
system principale. fstab
è
tuttora usato per la configurazione di sistema, ma è solitamente
affiancato dal montaggio automatico dei dischi da parte del sistema.
Il
file fstab
è
solitamente usato dal comando mount
che
legge il file per determinare le opzioni da utilizzare per il
montaggio di una determinata periferica. In alcune versioni di Unix
il file si chiama diversamente: in Solaris,
ad esempio, si trova come /etc/vfstab
.
…”
Il file /etc/fstab, è un file di configurazione e contiene al suo interno tutte le informazioni necessarie al montaggio dei device, partizioni e periferiche di archiviazione (comprese eventualmente le risorse remote condivise con Samba). Come tutti i file di configurazione in Linux, si può editare e modificare con un semplice editor di testi come nano.
La sua amministrazione è fondamentale ogni volta che vogliamo montare delle partizioni nuove create con fdisk , montare risorse remote condivise, e, in generale, ogni volta che vogliamo eseguire il mount di periferiche di archiviazione in automatico, in un certo punto del file system, ad ogni riavvio del sistema.
Vediamo la struttura di questo file di configurazione.
In /etc/fstab, sono contenuti i seguenti campi:
<file system> <mount point> <type> <options> <dum> <pass>
ciascun campo va definito con i valori del device che si intende montare, in una stringa di questo genere:
<file system> <mount point> <type> <options> <dum> <pass> [device] [punto di mount] [tipo di file-system] [opzioni] [valore da 0 a 1] [valore da 0 a 2]
ciascun device va inserito su di una riga diversa, così, se avessimo più device in /etc/fstab, visualizeremmo un file di questo genere:
<file system> <mount point> <type> <options> <dum> <pass> [device] [punto di mount] [tipo di file-system] [opzioni] [valore da 0 a 1] [valore da 0 a 2] [device] [punto di mount] [tipo di file-system] [opzioni] [valore da 0 a 1] [valore da 0 a 2] [device] [punto di mount] [tipo di file-system] [opzioni] [valore da 0 a 1] [valore da 0 a 2]
Supponiamo di voler montare una partizione denominata /dev/sda1, in un punto di mount creato precedentemente in /home/partizione, formattata con il file system ext4, inseriremmo, per un montaggio “standard”, la seguente stringa:
/dev/sda1 /mnt/partizione ext4 defaults 0 2
Editiamo fstab con un editor di testi:
# nano /etc/fstab
otteniamo un file editato di questo tipo:
# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/sda6 during installation UUID=8a9cf801-35e0-4d7b-9a3c-3e4b6863e4fc / ext4 errors=remount-ro 0 1 /dev/sda5 none swap sw 0 0
Inseriamo sotto i device già presenti quello nuovo, che vogliamo montare, inserendo la stringa sopra indicata:
# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/sda6 during installation UUID=8a9cf801-35e0-4d7b-9a3c-3e4b6863e5fb / ext4 errors=remount-ro 0 1 /dev/sda5 none swap sw 0 0 /dev/sda1 /mnt/partizione ext4 defaults 0 2
Per quanto riguarda i primi tre valori, /dev/sda1 , /mnt/partizione e ext4, non c’è molto da dire: il primo è il device, il secondo il point mount, e il terzo il tipo difile system. Concentriamoci su <options>, <dum> e <pass>, rispettivamente impostati su defaults, 0 e 2.
Sotto <options> sono da inserire le eventuali opzioni che vogliamo attribuire al montaggio del device; l’opzione defaults, prevede una serie di opzioni predefinite per il tipo di file system impostato sotto <type>. Nel caso di ext4 le opzioni comprese in defaults sono: rw, suid, dev, exec, auto, nouser, async. Analiziamole:
rw –
permette
che il mount della partizione avvenga sia in lettura che in
scrittura
suid –
consente
di attivare per la partizione le operazioni di Suid e Sgid (vi
rimando a Wikipedia per
maggiori dettagli su questi particolari permessi).
dev –
permette
di interpretare le periferiche a blocchi
exec –
consente
di abilitare l’esecuzione dei programmi, se presenti nella
partizione montata
auto –
permette
il montaggio automatico della partizione all’avvio del sistema, o,
se eseguito il semplice comando mount
-a.
nouser –
permette
al solo utente root
il
montaggio della partizione
async –
permette
le operazioni di lettura/scrittura solo asincrone
l’ impostazione defaults, generalmente soddisfa le esigenze dei più comuni utilizzi dei device di archiviazione. (l’elenco completo delle opzioni di fstab lo trovatequi)
Sotto <dum> e <pass> vanno inseriti, rispettivamente, due valori numerici. <dum> si riferisce a un programma, dump, che esegue in background il backup del file system. Se impostato su 0, dump non lo eseguirà; è chiaro che dump debba essere installato sulla distribuzione Linux utilizzata; in genere, si imposta il valore su 0, sopratutto se non abbiamo installato dump sul pc. Il campo <pass> consente di attivare o disattivare il controllo del disco all’avvio del sistema, nonché di impostare la priorità dei controlli; se impostato su 0 il controllo non verrà effettuato, se impostato su 1 il controllo avverrà prioritariamente rispetto agli altri device, se impostato su 2 il controllo avverrà successivamente a quello prioritario.
Dopo aver impostato tutti i valori salviamo e chiudiamo il file. A questo punto, o riavviamo il sistema, e dovremmo trovare i nuovi device montati, o eseguiamo il comando:
# mount -a
Comando che monta tutti i device presenti in fstab per i quali sia impostata l’opzione auto (l’opzione auto, se vi ricordate, è compresa nell’opzione defaults).
È molto probabile, come accade nel codice sopra riportato, che i device vengano identificati dal sistema, anche e sopratutto, tramite un codice universale di identificazione (UUID – Universally Unified IDentifier). Se si vuole inserire un device tramite il suo UUID, sistema ben più preciso di identificazione, è necessario sostituire /dev/sdX con il dodice stesso:
UUID=8a9cf801-35e0-4d7b-9a3c-3e4b6863e4fc /mnt/partizione ext4 defaults 0 2
Per ricordarsi meglio di quale device si tratta, possiamo scrivere il nome, /dev/sdX, nella riga superiore preceduto da #, in questo modo:
#/dev/sdX UUID=8a9cf801-35e0-4d7b-9a3c-3e4b6863e5fb /mnt/partizione ext4 defaults 0 2
Infine, diciamo che, per conoscere l’ UUID del device è sufficiente digitare il seguente comando:
$ blkid
Otterremo come output l’elenco dei device con il loro UUID a fianco.