fstab (Italiano) - ArchWiki

Jump to content

# fstab (Italiano)

From ArchWiki

Translation Status: This article is a localized version of Fstab. Last translation date: 2024-02-15. You can help to synchronize the translation, if there were changes in the English version.

Articoli correlati

- Persistent block device naming
- File systems (Italiano)
- tmpfs
- swap
- genfstab

Il file fstab(5) può essere utilizzato per definire come le partizioni dei dischi, vari altri dispositivi a blocchi o file system remoti debbano essere montati all'interno del file system.

Ogni file system è descritto in una linea separata. Queste definizioni verranno convertite dinamicamente in unità di montaggio systemd al momento del boot e quando la configurazione del gestore di sistema viene ricaricata. Per impostazione predefinita verrà eseguito automaticamente il controllo del file system e il montaggio dei file system prima di avviare i servizi che potrebbero necessitare di detti file system. Ad esempio, systemd assicura in modo automatico che il montaggio dei file system remoti quali NFS o Samba venga avviato solo una volta completata l’impostazione della rete. Pertanto il montaggio dei file system specificati in `/etc/fstab`, sia locali che remoti, dovrebbe funzionare senza bisogno di ulteriori impostazioni. Vedere systemd.mount(5) per maggiori dettagli.

Qualora venga passato come argomento solo uno tra la directory di montaggio o il dispositivo, il comando `mount` utilizzerà fstab per completare il valore relativo all’altro parametro. In questo caso vengono applicate anche le opzioni di montaggio elencate in fstab.

## Utilizzo

Un semplice file `/etc/fstab`, con utilizzo degli UUID dei file system:

    /etc/fstab

    # <device>                                <dir> <type> <options> <dump> <fsck>
    UUID=0a3407de-014b-458b-b5c1-848e92a327a3 /     ext4   defaults  0      1
    UUID=f9fe0b69-a280-415d-a03a-a32752370dee none  swap   defaults  0      0
    UUID=b411dc99-f0a0-4c87-9e05-184977be8539 /home ext4   defaults  0      2

- `<device>` descrive il dispositivo a blocchi speciale o il file system remoto da montare; vedere #Identificazione dei file system.
- `<dir>` descrive la directory di montaggio.
- `<type>` il tipo di file system.
- `<options>` lo opzioni di montaggio associate; vedere mount(8) § FILESYSTEM-INDEPENDENT MOUNT OPTIONS e ext4(5) § Mount options for ext4.
- `<dump>` viene verificato dallo strumento dump(8). Il valore di questo campo è di norma impostato su `0`, con conseguente disabilitazione della verifica.
- `<fsck>` definisce l’ordine dei controlli del file system al momento del boot; vedere fsck(8). Il valore per il dispositivo root dovrebbe essere `1`. Per le altre partizioni dovrebbe essere `2`, o `0` per disabilitare il controllo.

Suggerimento

- L’opzione `auto` per il tipo lascia che sia il comando mount a identificare il tipo di file system utilizzato. Questa soluzione risulta utile per i dispositivi ottici (CD/DVD/Blu-ray).
- Se il file system root è btrfs o XFS, l’ordine di controllo del file system dovrebbe essere impostato su `0` anziché `1`. Vedere fsck.btrfs(8) e fsck.xfs(8).

Tutti i dispositivi specificati all’interno di `/etc/fstab` verranno montati automaticamente all’avvio e quando viene utilizzata la flag `-a` con il comando mount(8), a meno che non sia specificata l’opzione `noauto`. I dispositivi elencati ma non presenti daranno origine a un errore, a meno che non sia utilizzata l’opzione `nofail`.

Vedere fstab(5) § DESCRIPTION per i dettagli.

## Identificazione dei file system

This article or section needs expansion.

Reason: Sono presenti più percorsi dei dispositivi oltre ai descrittori del nome del kernel. `/dev/disk/by-*/*`, `/dev/mapper/*`, `/dev/md/*` possiedono vari livelli di persistenza e il loro utilizzo non dovrebbe causare problemi. (Discuss in Talk:Fstab (Italiano))

Ci sono diversi modi di identificare i file system che verranno montati in `/etc/fstab`: descrittore del nome del kernel, etichetta del file system e UUID, e etichetta della partizione GPT e UUID per i dischi GPT. Si consiglia evitare l’utilizzo dei descrittori del nome del kernel, e di preferire l’uso degli UUID o degli PARTUUID a quello delle etichette. Vedere Persistent block device naming per spiegazioni più dettagliate. Si raccomanda di leggere questo articolo prima proseguire nella lettura di questa pagina.

In questa sezione procederemo a descrivere, con l’ausilio di esempi, come montare i file system utilizzando tutti i metodi di montaggio disponibili. L’output dei comandi `lsblk -f` e `blkid` utilizzato nei seguenti esempi è disponibile nell’articolo Persistent block device naming.

### Descrittori del nome del kernel

Eseguire `lsblk -f` per elencare le partizioni e aggiungere `/dev/` come prefisso ai valori nella colonna "NAME".

    /etc/fstab

    # <device>        <dir>        <type>        <options>        <dump> <fsck>
    /dev/sda1         /boot        vfat          defaults         0      2
    /dev/sda2         /            ext4          defaults         0      1
    /dev/sda3         /home        ext4          defaults         0      2
    /dev/sda4         none         swap          defaults         0      0

Attenzione I descrittori del nome del kernel per i dispositivi a blocchi non sono persistenti e possono variare a ogni boot e, per questa ragione, non dovrebbero essere utilizzati nei file di configurazione (incluso `/etc/fstab`).

### Etichette dei file system

Eseguire `lsblk -f` per elencare le partizioni, e aggiungere `LABEL=` come prefisso ai valori nella colonna LABEL o, in alternativa, eseguire `blkid` e utilizzare i valori LABEL senza le virgolette:

    /etc/fstab

    # <device>        <dir>        <type>        <options>        <dump> <fsck>
    LABEL=ESP         /boot        vfat          defaults         0      2
    LABEL=System      /            ext4          defaults         0      1
    LABEL=Data        /home        ext4          defaults         0      2
    LABEL=Swap        none         swap          defaults         0      0

Nota Se qualunque dei vostri campi contiene spazi, vedere #Spazi nel percorso del file.

### UUID dei file system

Eseguire `lsblk -f` per elencare le partizioni, e aggiungere `UUID=` come prefisso ai valori nella colonna UUID o, in alternativa, eseguire `blkid` e utilizzare i valori UUID senza le virgolette:

    /etc/fstab

    # <device>                                <dir> <type> <options> <dump> <fsck>
    UUID=CBB6-24F2                            /boot vfat   defaults  0      2
    UUID=0a3407de-014b-458b-b5c1-848e92a327a3 /     ext4   defaults  0      1
    UUID=b411dc99-f0a0-4c87-9e05-184977be8539 /home ext4   defaults  0      2
    UUID=f9fe0b69-a280-415d-a03a-a32752370dee none  swap   defaults  0      0

### Etichette delle partizioni GPT

Eseguire `blkid` per elencare le partizioni, e utilizzare i valori PARTLABEL senza le virgolette:

    /etc/fstab

    # <device>                           <dir> <type> <options> <dump> <fsck>
    PARTLABEL=EFI\040system\040partition /boot vfat   defaults  0      2
    PARTLABEL=GNU/Linux                  /     ext4   defaults  0      1
    PARTLABEL=Home                       /home ext4   defaults  0      2
    PARTLABEL=Swap                       none  swap   defaults  0      0

Nota Se qualunque dei vostri campi contiene spazi, vedere #Spazi nel percorso del file.

### UUID delle partizioni GPT

Eseguire `blkid` per elencare le partizioni, e utilizzare i valori PARTUUID senza le virgolette:

    /etc/fstab

    # <device>                                    <dir> <type> <options> <dump> <fsck>
    PARTUUID=d0d0d110-0a71-4ed6-936a-304969ea36af /boot vfat   defaults  0      2
    PARTUUID=98a81274-10f7-40db-872a-03df048df366 /     ext4   defaults  0      1
    PARTUUID=7280201c-fc5d-40f2-a9b2-466611d3d49e /home ext4   defaults  0      2
    PARTUUID=039b6c1c-7553-4455-9537-1befbc9fbc5b none  swap   defaults  0      0

## Trucchi e suggerimenti

### Montaggio automatico con systemd

Vedere systemd.mount(5) per tutte le opzioni di montaggio di systemd.

#### Partizione locale

Nel caso di una partizione di grandi dimensioni, potrebbe risultare più efficiente consentire l'avvio dei servizi che non dipendono da essa mentre viene eseguito il controllo fsck. È possibile farlo aggiungendo le seguenti opzioni alla voce in `/etc/fstab` per la partizione interessata:

    x-systemd.automount

Quest'opzione fa sì che la partizione venga controllata da fsck e montata solo quando viene effettuato il primo accesso alla partizione stessa, e il kernel conserverà un buffer di tutti gli accessi ai file fino a quando non sarà pronta. Questo metodo può essere utile nel caso, ad esempio, di una partizione `/home` di dimensioni significative.

Nota Adottando questa soluzione, il tipo di file system diverrà `autofs` che viene ignorato da locate per impostazione predefinita.

#### File system remoti

Lo stesso principio si applica al montaggio dei file system remoti. Se si desidera montarli solo all'accesso, sarà necessario utilizzare i parametri `x-systemd.automount`. In aggiunta, è possibile utilizzare l'opzione `x-systemd.mount-timeout=` per specificare il tempo per cui systemd deve attendere che l'operazione di montaggio si completi. Inoltre, l'opzione `_netdev` assicura che systemd capisca che l'operazione di montaggio dipende dalla rete e che ne ordini pertanto l'esecuzione solo dopo che la rete stessa risulti online.

    x-systemd.automount,x-systemd.mount-timeout=30,_netdev

#### File system cifrati

This article or section is a candidate for merging with dm-crypt/System configuration#Mounting on demand.

Notes: `/etc/crypttab` esula dalle finalità del presente articolo. (Discuss in Talk:Fstab (Italiano))

In presenza di file system cifrati con keyfile, è inoltre possibile aggiungere il parametro `noauto` alle voci corrispondenti in `/etc/crypttab`. In questo caso, systemd non aprirà il dispositivo cifrato al boot, attendendo invece il momento in cui vi viene effettivamente fatto l'accesso per aprirlo quindi in modo automatico utilizzando il keyfile specificato prima di montarlo. Questo accorgimento potrebbe permettere di risparmiare alcuni secondi in fase di boot se, ad esempio, si utilizza un dispositivo RAID cifrato, poiché systemd non deve attendere che il dispositivo divenga disponibile. Ad esempio:

    /etc/crypttab

    data /dev/md/MyRAIDArray /etc/cryptsetup-keys.d/data.key noauto

#### Smontaggio automatico

È inoltre possibile specificare un timeout di idle per un dispositivo montato utilizzando la flag `x-systemd.idle-timeout`. Ad esempio:

    x-systemd.automount,x-systemd.idle-timeout=1min

Ciò darà istruzione a systemd di smontare il dispositivo montato dopo che questo si sia trovato per 1 minuto in stato di idle.

### Dispositivi esterni

I dispositivi esterni che devono essere montati quando presenti ma ignorati se assenti potrebbero richiedere l'utilizzo dell'opzione `nofail`. Questo accorgimento impedisce che vengano riportati errori durante il boot. Ad esempio:

    /etc/fstab

    LABEL=MyExternalDrive /media/backup    jfs    nofail,x-systemd.device-timeout=5    0  2

L'opzione `nofail` andrebbe idealmente abbinata all'opzione `x-systemd.device-timeout`. Ciò in ragione del fatto che il tempo di timeout del dispositivo è, per impostazione predefinita, 90 secondi, pertanto un dispositivo esterno disconnesso e con la sola opzione `nofail` comporterà un aumento di 90 secondi del tempo di boot, a meno di riconfigurare il timeout come illustrato. Assicurarsi di non impostare il timeout su 0, in quanto questo valore di traduce in un tempo di timeout infinito.

### Spazi nel percorso del file

Dal momento che in `fstab` gli spazi sono utilizzati per delimitare i campi, se un qualunque campo (PARTLABEL, LABEL o il punto di montaggio) contiene spazi, questi devono essere sostituiti con caratteri di escape `\` seguiti dal codice a tre cifre in base otto `040`:

    /etc/fstab

    UUID=47FA-4071         /home/username/Camera\040Pictures   vfat  defaults      0  0
    LABEL=Storage\040drive /media/100\040GB\040(Storage)       ext4  defaults,user 0  2

### Opzioni atime

Le opzioni atime indicate di seguito possono condizionare le prestazioni dei drive.

- L'opzione `strictatime` aggiorna l'ora di accesso dei file a ogni accesso ai file stessi. Quest'opzione risulta maggiormente significativa nei casi in cui Linux è utilizzato per i server, mentre risulta poco sensata negli utilizzi desktop. Lo svantaggio dell'opzione `strictatime` è rappresentato dal fatto che anche la lettura di un file dalla cache della pagina (lettura effettuata dalla memoria anziché dal drive) risulterà in un'operazione di scrittura.
- L'opzione `noatime` disabilita completamente la scrittura dell'ora di accesso ai file sul drive a ogni lettura dei file stessi. Questa configurazione funziona in modo ottimale per pressoché tutte le applicazioni, fatta eccezione per quelle in cui è necessario sapere se il file è stato letto dall'ultima volta in cui è stato modificato. Con questa opzione abilitata, l'informazione sull'ora di scrittura su un file continuerà a essere aggiornata ogniqualvolta che viene effettuata una scrittura sul file stesso.
- L'opzione `nodiratime` disabilita la scrittura dell'ora di accesso ai file solo per le directory mentre l'ora di accesso continua a essere scritta per gli altri file.
  Nota `noatime` implica `nodiratime`. Non è necessario specificare entrambe le opzioni.
- `relatime` aggiorna l'ora di accesso solo se l'ora di accesso precedente era precedente all'ora attuale di modifica. Inoltre, a partire dalla versione 2.6.30 di Linux, l'ora di accesso viene sempre aggiornata se l'ora di accesso precedente risulta oltre 24 nel passato. Quest'opzione viene utilizzata quando è impostata l'opzione `defaults`, l'opzione `atime` (il che significa utilizzare l'impostazione di default del kernel, che è `relatime`; vedere mount(8) e Wikipedia) o quando non è impostata alcuna opzione.

Quando si utilizza Mutt o altre applicazioni che necessitano di sapere se il file è stato letto dall'ultima volta in cui è stato modificato, è opportuno non utilizzare l'opzione `noatime`; l'utilizzo dell'opzione `relatime` è accettabile pur garantendo allo stesso tempo un miglioramento delle prestazioni.

A partire dalla versione 4.0 del kernel è disponibile un'ulteriore opzione:

- `lazytime` riduce le scritture sul disco conservando le modifiche nei timestamp inode (ore di accesso, modifica creazione) solo in memoria. I timestamp sul disco vengono aggiornati solo allorché (1) l'inode del file debba essere aggiornato per una modifica non correlata ai timestamp del file, (2) si verifichi un errore di sincronizzazione con un disco, (3) un inode non cancellato sia espulso dalla memoria o (4) siano trascorse oltre 24 ore dall'ultima volta in cui una copia in memoria è stata scritta su disco.

  Attenzione In caso di un crash di sistema, le ore di accesso e modifica su disco potrebbero non risultare aggiornate per un tempo fino a 24 ore.

È importante notare che l'opzione `lazytime` funziona in combinazione con le opzioni `*atime` precedentemente descritte, e non come alternativa ad esse. L'opzione abbinata per impostazione predefinita è `relatime`, ma potrebbe anche essere `strictatime` con un costo uguale o inferiore in termini di scritture su disco rispetto all'opzione di base `relatime`.

### Rimontaggio della partizione root

Se per qualche motivo la partizione di root è stata impropriamente montata in sola lettura, rimontare la partizione di root con accesso in lettura-scrittura con il seguente comando:

    # mount -o remount,rw /

### Montaggio automatico di una partizione GPT

Se si utilizza un sistema UEFI/GPT, è possibile omettere determinate partizioni da `/etc/fstab` effettuando il partizionamento come da specifiche sulle partizioni individuabili e lasciando che sia systemd-gpt-auto-generator(8) a effettuare il montaggio delle partizioni. Vedere systemd#GPT partition automounting.

### Montaggio bind

È possibile montare le directory come link con l'opzione `bind`:

    /etc/fstab

    # <device>                             <dir>                         <type> <options>     <dump> <fsck>
    UUID=94649E22649E06E0                  /media/user/OS/               ntfs    defaults,rw,errors=remount-ro  0  0
    /media/user/OS/Users/user/Music/       /home/user/Music/             none    defaults,bind 0   0
    /media/user/OS/Users/user/Pictures/    /home/user/Pictures/          none    defaults,bind 0   0
    /media/user/OS/Users/user/Videos/      /home/user/Videos/            none    defaults,bind 0   0
    /media/user/OS/Users/user/Downloads/   /home/user/Downloads/         none    defaults,bind 0   0
    /media/user/OS/Users/user/Documents/   /home/user/Documents/         none    defaults,bind 0   0
    /media/user/OS/Users/user/projects/    /home/user/projects/windows/  none    defaults,bind 0   0

Vedere mount(8) § Bind mount operation per maggiori dettagli.

### Generazione automatica di un file fstab utilizzando genfstab

È possibile utilizzare lo strumento genfstab per creare un file fstab. Vedere genfstab per maggiori dettagli.

## Vedere anche

- Elenco completo dei dispositivi inclusi i dispositivi a blocchi
- Standard per la gerarchia del file system
- Velocità site e cache 30x superiore con TMPFS

Categories:

- File systems (Italiano)
- Boot process (Italiano)

Hidden categories:

- Pages or sections flagged with Template:Expansion
- Pages or sections flagged with Template:Merge

fstab (Italiano)
Add topic