Guida a /etc/fstab
Da Linux@P2P Forum Italia.
/etc/fstab è il file di configurazione di sistema predestinato per la "descrizione statica" dei dispositivi di memoria collegati alla macchina.
Indice |
Alcune premesse
Prima di iniziare a capire /etc/fstab è doveroso spiegare un paio di concetti.
I dispostivi "volatili" non vanno inseriti nel fstab
Tutti i dispositivi non fissi come memorie usb, dischi esterni usb, lettori/masterizzatori CD/DVD non vanno inseriti in /etc/fstab. Tutte le maggiori distro integrano da anni sistemi di "montaggio" automatico (solitamente gestito da udev/hal/dbus) di questi dispositivi, pertanto non è obbligatorio (ma possibile se l'utente avesse specifiche necessità) inserirli.
Punto di mount (montaggio)
Nei sistemi GNU/Linux, come già spiegato nel Decalogo, non esiste il concetto di nome di una partizione (A:, D:, F: etc) pertanto occorrerà agganciare ad ogni specifica partizione una determinta directory che deve esistere prima del montaggio.
Conoscere l'identificativo di una partizione
Esistono delle logiche per l'assegnamento dell'identificativo ad una partizione, maggiori informazioni sono disponibile presso questa pagina.
Come funziona /etc/fstab ?
/etc/fstab è strutturato in modo chiaro e lineare, esso infatti è suddiviso in 6 colonne ognuna avente una importanza assoluta per il funzionamento del dispositivo. Analizziamo ogni parte di questo file (ovviamente sul vostro sistema potrebbe essere diverso):
# Partizione Mountpoint Filesystem Opzioni dump / pass /dev/sda1 none swap sw 0 0 /dev/sda2 / reiserfs defaults,noatime,auto 0 1 /dev/sda3 /usr ext3 defaults 0 2 /dev/sda4 /home xfs defaults,user,exec 0 2 /dev/fd0 /mnt/floppy auto defaults,user,exec 0 0 /dev/sdb1 /media/sdb1 ntfs defaults,ro,umask=000 0 0 /dev/sdb2 /media/sdb2 vfat defaults,user,rw,exec 0 0 proc /proc proc defaults 0 0
La prima riga, essendo commentata (ossia preceduta da un #), non viene presa in considerazione dal sistema e fornisce solo un indicazione all'utente che visualizza il file. In alcuni sistemi potrebbe essere tradotta in inglese o proprio non essere presente. Le successive righe rapresentano ognuna un'indicazione per il sistema su come dovrà trattare i vari dispositivi ed è questa la parte che ci interessa pertanto descriveremo ogni singola colonna per cercare di delucidarvi sul loro significato.
NOTA: l'ultima riga è dedicata al filesystem proc. Esso non esite sul disco ma viene creato dal kernel allo scopo di fornire informazioni sullo stato del sistema (esempio voltaggio della CPU). Ogni OS GNU/Linux deve montare proc. Al fine della guida non verrà illustrato nient'altro su questo speciale filesystem, l'importante è che sia presente quella riga.
Partizione
In questa colonna come si puo notare vengono assegnati i device degli hard disk interni, il floppy se presente. I possibili valorisono:
| Opzione | Descrizione opzione |
| proc | File System virtuale che permette di riassumere le informazioni generali sui processi del sistema |
| /dev/hd** o /dev/sd** | Dove gli asterisci sono sotituiti da lettere e numeri riguardanti per determinare il corretto identificativo della partizione |
| UUID= | Un modo alternativo di indicare una determinata partizione è attraverso il suo UUID (usato soprattutto in distro derivate da Ubuntu) |
| /dev/fd* | Dove l'asterisco va sostituito con l'identificativo numerico del floppy |
Mountpoint
In questa colonna vengono indicate le directory presso cui sarà possibile accedere ai device.
NOTA: per assegnare un nuovo mountpoint ad un nuovo dispositivo bisogna prima assicurarsi che la cartella sia gia esistente.
Le opzioni più comuni sono:
| Opzione | Descrizione opzione |
| / | E' la directory "radice" (o root) di tutte le altre (pertanto è anche detta "madre"). E' la prima partizione che verrà montata, tutte le altre verranno "agganciate" sotto quest'ultima |
| /proc | Punto di montaggio del File System virtuale che permette di trovare le informazioni generali sui processi del sistema.
Non Modificare |
| /usr | Questo punto di montaggio viene usato solo ed esclusivamente se si decide di staccare la directory /usr dalla partizione di root ( / ). |
| /boot | Questo punto di montaggio viene usato solo ed esclusivamente se si decide di staccare la directory /boot dalla partizione di root ( / ). |
| /home | Questo punto di montaggio viene utilizzato solo ed esclusivamente se si decide di avere la proprio home staccata dalla partizone di root ( / ). |
| /mnt/nomecartella | Dove nomecartella sta per il nome assegnato alla cartella. Per convenzione si è soliti montare le partizioni (non fondamentali per il sistema) in una sottodirectory di /mnt. Da qualche anno a questa parte, anche per l'automount, si è solito usare anche una sottodirectory di /media |
| /media/nomecartella | Dove nomecartella sta per il nome assegnato alla cartella. Per convenzione si è soliti montare le partizioni (non fondamentali per il sistema) in una sottodirectory di /media. Anche i sistemi di montaggio automaticano montano i dispositivi volatili in una sottodirectory di /media |
| none | Questo punto di montaggio è sostanzialmente la non assegnazione di un punto di monataggio ed è generalmente usato per la partizione di swap in quanto nn ha bisogno di punti di montaggio per essere avviata. |
Filesystem
In questa colonna vengono assegnati i filesystem relativi alle partizioni che li precedono. Le opzioni piu comuni sono:
| Opzione | Descrizione opzione |
| auto | riconosce automaticamente il File System della partizione (boot più lento ma è una garanzia) |
| ext2 | File System Standard di Linux esso viene generalmente utilizzato per la partizione di /boot |
| ext3 | File System di Linux (La più comune nelle ultime distribuzioni che evita che i dati subiscano danni in caso di arresto critico del sistema, evitando il check al riavvio) |
| iso9660 | File System di supporti CD |
| ntfs | File System NTFS di Windows |
| proc | File System Virtuale con le informazioni dei processi |
| reiserfs | Altro File System di Linux |
| swap | Formattazione usata per il SWAP di Linux |
| udf | Altro File System di supporti DVD |
| vfat | File System FAT32 di Windows |
Opzioni
in questa colonna vengono indicate le opzioni con cui il dispositivo dovranno essere montati Le opzioni piu comuni sono:
| Opzione | Descrizione opzione |
| async | Tutte le operazioni di input/output vengono eseguite in modo asincrono |
| atime | Aggiorna la data di accesso all' inode ad ogni accesso |
| auto | Il filesystem può essere montato passando "-a" a mount. Solo i filesystem che contengono questa opzione vengono resi disponibili ad ogni avvio del pc |
| defaults | Usa le opzioni di defaults: rw,suid,dev,exec,auto,nouser,async |
| dev | Interpreta i device speciali presenti nel filesystem |
| dirsync | Tutti gli aggiornamenti delle directory presenti nel filesystem vengono in modo sincrono |
| exec | Permette di eseguire i programmi |
| _netdev | Il filesystem risiede su un device disponibile via rete. Evita che il sistema cerchi di montarlo prima che sia disponibile l accesso alla rete |
| noatime | Non aggiorna la data di accesso all' inode ad ogni accesso. Aumenta la velocità di accesso ai dati |
| noauto | Il filesystem non viene montato in modo automatico l' opzione "-a" di mount non influisce |
| nodev | Non interpreta i device speciali presenti nel filesystem |
| noexec | Non permette l' esecuzione dei programmi presenti nel filesystem |
| nosuid | I bit di setuid e setgid non venono presi in considerazione |
| nouser | Impedisce ai normali user di montare il filesystem |
| quiet | Tralascia gli errori sull'impossibilità di preservare i permessi durante la copia e lo spostamento da partizioni linux |
| remount | Cerca di rieseguire il mount del filesystem già montato. Si usa per modificare le opzioni dello stesso |
| ro | Il filesystem viene montato in ReadOnly (sola lettura) |
| rw | Il filesystem viene montato in ReadWrite (lettura e scrittura) |
| showexec | Setta l'eseguibilità in filesystem fat32 |
| suid | I bit di setuid e setgid venono presi in considerazione |
| sw | Indica che si tratta di una partizione dedicata allo swap di Linux |
| sync | Tutte le operazioni di input e output vengono eseguite in modo sincrono |
| user | Permette a un utente comune di montare il filesystem. Il nome dell'utente è scritto in mtab in modo che egli possa smontare il filesystem nuovamente. Questa opzione implica le opzioni: noexec, nosuid e nodev ( a meno che sia scavalcata da altre opzioni come exec, dev, suid ). |
| users | Questa opzione permette ad ogni utente comune di montare e smontare il filesystem. Questa opzioneimplica le opzioni: noexec,nosuid,nodev a meno di opzioni diverse |
| utf8 | Indica il tipo di rappresentazione dei caratteri, che in questo caso è proprio quello dell'alfabeto europeo (simbolo rappresentato dal codice numerico. es: gib5 rappresentazione cinese) |
Opzioni sui permessi
| Opzione | Descrizione opzione |
| gid=*** | Indica i permessi del gruppo di utenti con la logica del comando chmod (sistema ottale). |
| uid=*** | Indica i permessi dell'utente sempre seconda la logica del comando chmod |
| umask=*** | Imposta la privazioni di alcuni permessi con una logica opposta al comando chmod. Per maggiori info vedere questa pagina |
Dump
Indica se il dispositivo deve essere usato dal comando dump per farne dei backup.
NOTA: Questa funzione è obsoleta pertanto si consiglia di impostare il valore 0
| Opzione | Descrizione opzione |
| 0 | Non effettuerà Back-Up in questa partizione |
| 1 | Effettuerà Back-Up in questa partizione |
Pass
In questa colonna viene definita la priorita con cui il programma fsck controlla il filesystem all avvio
N.B. Se presente una partizione di boot ad esso va assegnato quasi sempre il parametro 1.
Nel caso in cui ci fossero due o piu partizioni che hanno lo stesso parametro di pass il controllo verra effettuato in parallelo.
| Opzione | Descrizione opzione |
| 0 | Non viene permesso il controllo a pass |
| 1 | Viene controllato con alta priorità |
| 2 | Viene controllato con priorità secondaria |