Difference between revisions of "Fstab (Italiano)"

From ArchWiki
Jump to: navigation, search
(UUID)
(aggiornati i template)
Line 4: Line 4:
 
{{i18n|Fstab}}
 
{{i18n|Fstab}}
  
Il file {{Filename|/etc/fstab}} contiene le informazioni sul filesystem. In esso viene definito come le partizioni e le periferiche di archiviazione saranno montate all'interno del sistema. Questo file verrà letto dal comando {{Codeline|mount}} per determinare quali opzioni utilizzare per montare una specifica periferica o una partizione.
+
Il file {{ic|/etc/fstab}} contiene le informazioni sul filesystem. In esso viene definito come le partizioni e le periferiche di archiviazione saranno montate all'interno del sistema. Questo file verrà letto dal comando {{ic|mount}} per determinare quali opzioni utilizzare per montare una specifica periferica o una partizione.
  
 
== Esempio ==
 
== Esempio ==
 
+
Questo è un esempio del file {{ic|/etc/fstab}} usando i descrittori del kernel:
Questo è un esempio del file {{Filename|/etc/fstab}} usando i descrittori del kernel:
+
{{hc|/etc/fstab|2=<nowiki>
{{File|name=/etc/fstab|content=
+
 
# <file system>        <dir>        <type>    <options>            <dump> <pass>
 
# <file system>        <dir>        <type>    <options>            <dump> <pass>
 
tmpfs                  /tmp          tmpfs    nodev,noexec,nosuid  0      0
 
tmpfs                  /tmp          tmpfs    nodev,noexec,nosuid  0      0
Line 15: Line 14:
 
/dev/sda2              none          swap      defaults              0      0
 
/dev/sda2              none          swap      defaults              0      0
 
/dev/sda3              /home        ext4      defaults,noatime      0      2
 
/dev/sda3              /home        ext4      defaults,noatime      0      2
}}
+
</nowiki>}}
  
 
==Definizione dei campi==
 
==Definizione dei campi==
 
+
In {{ic|/etc/fstab}} sono contenuti i seguenti campi separati da spazzi o tabulazioni:
In {{Filename|/etc/fstab}} sono contenuti i seguenti campi separati da spazzi o tabulazioni:
+
  
 
  <file system> <dir> <type> <options> <dump> <pass>
 
  <file system> <dir> <type> <options> <dump> <pass>
Line 25: Line 23:
 
* '''<file systems>''' - definisce la periferica di archiviazione o la partizione.
 
* '''<file systems>''' - definisce la periferica di archiviazione o la partizione.
 
* '''<dir>''' - indica al comando mount la cartella dove sarà  montata la partizione(<file system>).
 
* '''<dir>''' - indica al comando mount la cartella dove sarà  montata la partizione(<file system>).
* '''<type>''' - indica il tipo di file system della partizione o del dispositivo. Sono supportati diversi file system. Alcuni esempi sono: {{Codeline|ext2, ext3, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap}}, ed {{Codeline|auto}}. L'opzione {{Codeline|auto}} lascia riconoscere al comando mount il tipo di file system da utilizzare, questa opzione e utile in caso di periferiche rimovibili come cdrom e dvd.
+
* '''<type>''' - indica il tipo di file system della partizione o del dispositivo. Sono supportati diversi file system. Alcuni esempi sono: {{ic|ext2, ext3, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap}}, ed {{ic|auto}}. L'opzione {{ic|auto}} lascia riconoscere al comando mount il tipo di file system da utilizzare, questa opzione e utile in caso di periferiche rimovibili come cdrom e dvd.
 
* '''<options>''' - indica le opzioni da utilizzare sui file system. Alcune opzioni fanno riferimento a specifici file system, altre invece sono generiche:
 
* '''<options>''' - indica le opzioni da utilizzare sui file system. Alcune opzioni fanno riferimento a specifici file system, altre invece sono generiche:
  
:* {{Codeline|auto}} - Il file system sarà  montato automaticamente durante l'avvio del sistema, oppure quando viene lanciato il comando {{Codeline|mount -a}}.
+
:* {{ic|auto}} - Il file system sarà  montato automaticamente durante l'avvio del sistema, oppure quando viene lanciato il comando {{ic|mount -a}}.
:* {{Codeline|noauto}} - Il file system non sarà montato automaticamente ma solo manualmente.
+
:* {{ic|noauto}} - Il file system non sarà montato automaticamente ma solo manualmente.
:* {{Codeline|exec}} - Abilita l'esecuzione dei file eseguibili residenti sulla partizione(abilitata di default).
+
:* {{ic|exec}} - Abilita l'esecuzione dei file eseguibili residenti sulla partizione(abilitata di default).
:* {{Codeline|noexec}} - Inibisce la possibilità  di eseguire programmi dal file system.
+
:* {{ic|noexec}} - Inibisce la possibilità  di eseguire programmi dal file system.
:* {{Codeline|ro}} - Il mount del file system avviene in sola lettura.
+
:* {{ic|ro}} - Il mount del file system avviene in sola lettura.
:* {{Codeline|rw}} - Il mount del file system avviene in lettura e scrittura.
+
:* {{ic|rw}} - Il mount del file system avviene in lettura e scrittura.
:* {{Codeline|user}} - Permette a tutti gli utenti di montare il filesystem. Questa opzione include {{Codeline|noexec, nosuid, nodev}}, se non vengono utilizzate le opzioni opposte.
+
:* {{ic|user}} - Permette a tutti gli utenti di montare il filesystem. Questa opzione include {{ic|noexec, nosuid, nodev}}, se non vengono utilizzate le opzioni opposte.
:* {{Codeline|users}} - Permette agli utenti appartenenti al gruppo users di montare il filesystem.
+
:* {{ic|users}} - Permette agli utenti appartenenti al gruppo users di montare il filesystem.
:* {{Codeline|nousers}} - Permette il mount solo all'utente root.
+
:* {{ic|nousers}} - Permette il mount solo all'utente root.
:* {{Codeline|owner}} - Permette il mount al solo proprietario del punto di mount.
+
:* {{ic|owner}} - Permette il mount al solo proprietario del punto di mount.
:* {{Codeline|sync}} - l'I/O sul file system deve essere sincrono.
+
:* {{ic|sync}} - l'I/O sul file system deve essere sincrono.
:* {{Codeline|async}} - tutto l'I/O sul file system deve essere asincrono.
+
:* {{ic|async}} - tutto l'I/O sul file system deve essere asincrono.
:* {{Codeline|dev}} - Interpreta le periferiche a blocchi o periferiche speciali all'interno del filesystem.
+
:* {{ic|dev}} - Interpreta le periferiche a blocchi o periferiche speciali all'interno del filesystem.
:* {{Codeline|nodev}} - Impedisce l'interpretazone di periferiche a blocchi o periferiche speciali all'interno del filesystem.
+
:* {{ic|nodev}} - Impedisce l'interpretazone di periferiche a blocchi o periferiche speciali all'interno del filesystem.
:* {{Codeline|suid}} - Consente l'uso di operazioni di suid e sgid. Sono comunemente usate per permettere agli utenti di un sistema di eseguire programmi elevando temporaneamente i privilegi [http://it.wikipedia.org/wiki/Suid].
+
:* {{ic|suid}} - Consente l'uso di operazioni di suid e sgid. Sono comunemente usate per permettere agli utenti di un sistema di eseguire programmi elevando temporaneamente i privilegi [http://it.wikipedia.org/wiki/Suid].
:* {{Codeline|nosuid}} - Impedisce le operazioni di suid e sgid.  
+
:* {{ic|nosuid}} - Impedisce le operazioni di suid e sgid.  
:* {{Codeline|noatime}} - Non agiorna l'inode con i tempi di accesso al file system. Può aumentare le prestazioni (vedi [[#opzione_atime|l'opzione {{Codeline|atime}}]]).
+
:* {{ic|noatime}} - Non agiorna l'inode con i tempi di accesso al file system. Può aumentare le prestazioni (vedi [[#opzione_atime|l'opzione {{ic|atime}}]]).
:* {{Codeline|nodiratime}} - Non agiorna l'inode delle directory sui tempi di accesso al file system. Può aumentare le prestazioni (vedi [[#opzione_atime|l'opzione {{Codeline|atime}}]]).
+
:* {{ic|nodiratime}} - Non agiorna l'inode delle directory sui tempi di accesso al file system. Può aumentare le prestazioni (vedi [[#opzione_atime|l'opzione {{ic|atime}}]]).
:* {{Codeline|relatime}} - Aggiorna nell'inode solo i tempi relativi a modifiche o cambiamenti dei file. I tempi di accesso vengono aggiornati solo se l'ultimo accesso è precedente rispetto a quello dell'ultima modifica.(Simile a {{Codeline|noatime}} ma non interferisce con programmi come {{Codeline|mutt}} che devono sapere se un file è stato letto dopo la sua ultima modifica.) Può aumentare le performance (vedi [[#opzione_atime|l'opzione {{Codeline|atime}}]]).
+
:* {{ic|relatime}} - Aggiorna nell'inode solo i tempi relativi a modifiche o cambiamenti dei file. I tempi di accesso vengono aggiornati solo se l'ultimo accesso è precedente rispetto a quello dell'ultima modifica.(Simile a {{ic|noatime}} ma non interferisce con programmi come {{ic|mutt}} che devono sapere se un file è stato letto dopo la sua ultima modifica.) Può aumentare le performance (vedi [[#opzione_atime|l'opzione {{ic|atime}}]]).
:* {{Codeline|flush}} - Questa è una opzione per il file system FAT, serve a scrivere più spesso i dati sul disco in modo da evitare che le finestre di trasferimento vengano chiuse mentre i dati non sono ancora stati scritti.
+
:* {{ic|flush}} - Questa è una opzione per il file system FAT, serve a scrivere più spesso i dati sul disco in modo da evitare che le finestre di trasferimento vengano chiuse mentre i dati non sono ancora stati scritti.
:* {{Codeline|defaults}} - Assegna le impostazioni di default del filesystem per il comando mount. Le opzioni di default per {{Codeline|ext3}} sono {{Codeline|rw,suid,dev,exec,auto,nouser,async}}.
+
:* {{ic|defaults}} - Assegna le impostazioni di default del filesystem per il comando mount. Le opzioni di default per {{ic|ext3}} sono {{ic|rw,suid,dev,exec,auto,nouser,async}}.
  
 
* '''<dump>''' - Viene utilizzato dal programma dump per decidere quando fare un backup. Quando si installa il sistema(ma non nel caso di una installazione standard di Arch Linux), dump controlla il valore ed usa il numero per decidere se fare un backup del file system. I valori da poter inserire sono 0 ed 1. Se il valore è impostato a 0 dump ignorerà il file system, mentre se viene impostato ad 1 dump si occuperà di effettuare il backup del file system. La maggiorparte degli utenti non avranno dump installato, è quindi consigliato lasciare il valore di <dump> a 0.
 
* '''<dump>''' - Viene utilizzato dal programma dump per decidere quando fare un backup. Quando si installa il sistema(ma non nel caso di una installazione standard di Arch Linux), dump controlla il valore ed usa il numero per decidere se fare un backup del file system. I valori da poter inserire sono 0 ed 1. Se il valore è impostato a 0 dump ignorerà il file system, mentre se viene impostato ad 1 dump si occuperà di effettuare il backup del file system. La maggiorparte degli utenti non avranno dump installato, è quindi consigliato lasciare il valore di <dump> a 0.
Line 54: Line 52:
  
 
== Identificare i filesystem ==
 
== Identificare i filesystem ==
 
+
I filesystem nel file {{ic|/etc/fstab}} possno essere identificati in tre modi: utilizzando i descrittori del kernel, tramite gli UUID, oppure utilizzando le etichette. Il vantaggio dell'uso degli UUID o delle etichette è che questi non dipendono dall'ordine dei dischi. Risultano utili quindi se si modifica l'ordinamento dei dischi nel BIOS, se vengono cambiati i cablaggi di connessione (esempio dalla porta SATA1 sulla scheda madre alla SATA2 ecc.), oppure nel caso in cui il BIOS non mantenga correttamente l'ordinamento dei dischi. Per maggiori informazioni leggere l'articolo: [[Persistent block device naming (Italiano)|persistent block device naming]]
I filesystem nel file {{Filename|/etc/fstab}} possno essere identificati in tre modi: utilizzando i descrittori del kernel, tramite gli UUID, oppure utilizzando le etichette. Il vantaggio dell'uso degli UUID o delle etichette è che questi non dipendono dall'ordine dei dischi. Risultano utili quindi se si modifica l'ordinamento dei dischi nel BIOS, se vengono cambiati i cablaggi di connessione (esempio dalla porta SATA1 sulla scheda madre alla SATA2 ecc.), oppure nel caso in cui il BIOS non mantenga correttamente l'ordinamento dei dischi. Per maggiori informazioni leggere l'articolo: [[Persistent block device naming (Italiano)|persistent block device naming]]
+
  
 
=== Descrittori del Kernel ===
 
=== Descrittori del Kernel ===
 
+
I descrittori del kernel si possono ottenere usando {{ic|fdisk -l}}. I descrittori del kernel sono nella prima colonna:
I descrittori del kernel si possono ottenere usando {{Codeline|fdisk -l}}. I descrittori del kernel sono nella prima colonna:
+
 
   
 
   
{{Command|fdisk -l|output=<nowiki>...
+
{{hc|fdisk -l|output=<nowiki>...
 
    
 
    
 
Device Boot      Start        End      Blocks  Id  System
 
Device Boot      Start        End      Blocks  Id  System
Line 76: Line 72:
  
 
=== Etichette ===
 
=== Etichette ===
Le periferiche o le partizioni dovranno avere un etichetta non ambigua. Le etichette dovrebbero essere non ambigue  per evitare ogni possibile conflitto - ogni etichetta dovrebbe essere unica. Per assegnare una etichetta ad una periferica o partizione consultare [[Persistent block device naming (Italiano)|questo]] articolo. Per elencare tutte le partizioni con le prorpie etichette, sarà possibile utilizzare il comando {{Codeline|blkid}}. In {{Filename|/etc/fstab}} antecedere al nome dell'etichetta con {{Codeline|LABEL<nowiki>=</nowiki>}}:
+
Le periferiche o le partizioni dovranno avere un etichetta non ambigua. Le etichette dovrebbero essere non ambigue  per evitare ogni possibile conflitto - ogni etichetta dovrebbe essere unica. Per assegnare una etichetta ad una periferica o partizione consultare [[Persistent block device naming (Italiano)|questo]] articolo. Per elencare tutte le partizioni con le prorpie etichette, sarà possibile utilizzare il comando {{ic|blkid}}. In {{ic|/etc/fstab}} antecedere al nome dell'etichetta con {{ic|LABEL<nowiki>=</nowiki>}}:
  
{{File|/etc/fstab|content=# <file system>        <dir>        <type>    <options>            <dump> <pass>
+
{{hc|/etc/fstab|2=<nowiki># <file system>        <dir>        <type>    <options>            <dump> <pass>
  
 
tmpfs                  /tmp          tmpfs    nodev,nosuid,noexec    0      0
 
tmpfs                  /tmp          tmpfs    nodev,nosuid,noexec    0      0
  
 
LABEL=Arch_Linux      /            ext4      defaults,noatime        0      1
 
LABEL=Arch_Linux      /            ext4      defaults,noatime        0      1
LABEL=Arch_Swap        none          swap      defaults                0      0}}
+
LABEL=Arch_Swap        none          swap      defaults                0      0</nowiki>}}
  
 
=== UUID ===
 
=== UUID ===
Tutte le partizioni e periferiche hanno un UUID unico. Gli UUID vengono generati dal programma di generazione del filesystem ({{Codeline|mkfs.*}}) quando questo viene generato. Il comando {{Codeline|blkid}} mostra gli UUID delle partizioni e delle periferiche. In {{Filename|/etc/fstab}} antecedere all'UUID la dicitura {{Codeline|UUID<nowiki>=</nowiki>}}:
+
Tutte le partizioni e periferiche hanno un UUID unico. Gli UUID vengono generati dal programma di generazione del filesystem ({{ic|mkfs.*}}) quando questo viene generato. Il comando {{ic|blkid}} mostra gli UUID delle partizioni e delle periferiche. In {{ic|/etc/fstab}} antecedere all'UUID la dicitura {{ic|UUID<nowiki>=</nowiki>}}:
  
{{File|name=/etc/fstab|content=<nowiki># <file system>        <dir>        <type>    <options>            <dump> <pass>
+
{{hc|/etc/fstab|2=<nowiki># <file system>        <dir>        <type>    <options>            <dump> <pass>
  
tmpfs                                     /tmp  tmpfs    nodev,nosuid,noexec        0      0
+
tmpfs                     /tmp  tmpfs    nodev,nosuid,noexec        0      0
 
   
 
   
 
UUID=24f28fc6-717e-4bcd-a5f7-32b959024e26 /    ext4 defaults,noatime  0      1
 
UUID=24f28fc6-717e-4bcd-a5f7-32b959024e26 /    ext4 defaults,noatime  0      1
Line 99: Line 95:
 
== Tips ==
 
== Tips ==
 
===UUID per la swap===
 
===UUID per la swap===
Nel caso chel la partizione di swap non abbia un UUID, sarà possibile aggiungerlo manulamente. Questo accade quando l'UUID della partizione di swap non appare con il comando {{Codeline|blkid}}.
+
Nel caso chel la partizione di swap non abbia un UUID, sarà possibile aggiungerlo manulamente. Questo accade quando l'UUID della partizione di swap non appare con il comando {{ic|blkid}}.
  
 
Per prima cosa, se non si conosce quale sia la partizione di swap, sarà necessario individuarla usando il comando:
 
Per prima cosa, se non si conosce quale sia la partizione di swap, sarà necessario individuarla usando il comando:
  
{{Command|swapon -s|output=<nowiki>Filename Type Size Used Priority
+
{{hc|swapon -s|output=<nowiki>Filename Type Size Used Priority
 
/dev/sda7                              partition 4000148 0 -1</nowiki>|prompt=$}}
 
/dev/sda7                              partition 4000148 0 -1</nowiki>|prompt=$}}
  
 
Poi sarà necessario disabilitare la swap:
 
Poi sarà necessario disabilitare la swap:
  
{{Cli|# swapoff /dev/sda7}}
+
# swapoff /dev/sda7
  
 
Ora ricreare la partizione di swap con un nouvo UUID assegnato ad essa:
 
Ora ricreare la partizione di swap con un nouvo UUID assegnato ad essa:
  
{{Cli|# mkswap -U random /dev/sda7}}
+
# mkswap -U random /dev/sda7
  
 
Ed infine, riativare la swap:
 
Ed infine, riativare la swap:
  
{{Cli|# swapon /dev/sda7}}
+
# swapon /dev/sda7
  
 
=== Utilizzare percorsi contenenti spazi ===
 
=== Utilizzare percorsi contenenti spazi ===
 
 
Può essere usato il carattere di escape seguito dal codice ottale di tre cifre corrispondente allo spazio "\040".
 
Può essere usato il carattere di escape seguito dal codice ottale di tre cifre corrispondente allo spazio "\040".
  
{{File|name=/etc/fstab|content=.....
+
{{hc|/etc/fstab|2=<nowiki>.....
 
/dev/sda7                /home/username/Camera\040Picures  ext4  defaults,noatime      0  2
 
/dev/sda7                /home/username/Camera\040Picures  ext4  defaults,noatime      0  2
 
UUID=7D4500B3071E18B2    /media/100\040GB\040(Storage)      ntfs  defaults,noatime,user  0  0
 
UUID=7D4500B3071E18B2    /media/100\040GB\040(Storage)      ntfs  defaults,noatime,user  0  0
.....}}
+
.....</nowiki>}}
  
 
=== Dischi esterni ===
 
=== Dischi esterni ===
+
I dischi esterni che dovranno essere montati quando presenti, ma ignorati se assenti, avranno bisogno dell'uso dell'opzione {{ic|nofail}}. Questa opzione inibisce la visualizzazione del messaggio di errore durante l'avvio.
I dischi esterni che dovranno essere montati quando presenti, ma ignorati se assenti, avranno bisogno dell'uso dell'opzione {{Codeline|nofail}}. Questa opzione inibisce la visualizzazione del messaggio di errore durante l'avvio.
+
  
{{File|name=/etc/fstab|content=.....
+
{{hc|/etc/fstab|2=<nowiki>.....
 
/dev/sdg1    /media/backup    jfs    defaults,nofail    0  2
 
/dev/sdg1    /media/backup    jfs    defaults,nofail    0  2
.....}}
+
.....</nowiki>}}
  
 
=== opzione atime ===
 
=== opzione atime ===
 +
L'uso di {{ic|noatime}}, {{ic|nodiratime}} o {{ic|relatime}} può aumentare le prestazioni del disco, per i file system ext2, ext3 o ext4. Linux di default tiene traccia(scrivendolo sul disco) di ogni lettura effettuata {{ic|atime}}. Questa funzione è più indicata su di un pc server piuttosto che su un pc desktop. L'aspetto peggiore dell'opzione {{ic|atime}} sta nel fatto che, anche leggendo un file dalla memoria cache(quindi non dal disco direttamente) verrà effettuata una scrittura sul disco! Usando l'opzione {{ic|noatime}} viene disabilitato l'aggiornamento de tempi di accesso ai file ogni volta che viene letto un file. Questo  non interferisce con la maggioranza delle applicazioni, ma [[Mutt (Italiano)|Mutt]] necessita di queste informazioni.Se si usa mutt sarà quindi necessario utilizzare l'opzione {{ic|relatime}}. L'uso dell'opzione {{ic|relatime}} abilita l'aggiornamento dei tempi di accesso ai file solo se il file viene modificato (al contrario dell'opzione {{ic|noatime}} dove i tempi di accesso in lettura al file non verranno aggiornati, e saranno precedenti rispetto ai tempi di modifica del file). L'opzione {{ic|nodiratime}} disabilitata la scrittura dei tempi di accesso ai file, solo per le cartelle, mentre per i normali file in tempi di accesso verranno aggiornati. Il miglior compromesso potrebbe essere l'uso dell'opzione {{ic|relatime}} che non influenzerebbe il funzionamento di programmi come [[Mutt (Italiano)|Mutt]], ma si otterrebbe anche un aumento delle performance, dato che i tempi di accesso ai file verranno aggiornati solo se i file vengono modificati.
  
L'uso di {{Codeline|noatime}}, {{Codeline|nodiratime}} o {{Codeline|relatime}} può aumentare le prestazioni del disco, per i file system ext2, ext3 o ext4. Linux di default tiene traccia(scrivendolo sul disco) di ogni lettura effettuata {{Codeline|atime}}. Questa funzione è più indicata su di un pc server piuttosto che su un pc desktop. L'aspetto peggiore dell'opzione {{Codeline|atime}} sta nel fatto che, anche leggendo un file dalla memoria cache(quindi non dal disco direttamente) verrà effettuata una scrittura sul disco! Usando l'opzione {{Codeline|noatime}} viene disabilitato l'aggiornamento de tempi di accesso ai file ogni volta che viene letto un file. Questo  non interferisce con la maggioranza delle applicazioni, ma [[Mutt (Italiano)|Mutt]] necessita di queste informazioni.Se si usa mutt sarà quindi necessario utilizzare l'opzione {{Codeline|relatime}}. L'uso dell'opzione {{Codeline|relatime}} abilita l'aggiornamento dei tempi di accesso ai file solo se il file viene modificato (al contrario dell'opzione {{Codeline|noatime}} dove i tempi di accesso in lettura al file non verranno aggiornati, e saranno precedenti rispetto ai tempi di modifica del file). L'opzione {{Codeline|nodiratime}} disabilitata la scrittura dei tempi di accesso ai file, solo per le cartelle, mentre per i normali file in tempi di accesso verranno aggiornati. Il miglior compromesso potrebbe essere l'uso dell'opzione {{Codeline|relatime}} che non influenzerebbe il funzionamento di programmi come [[Mutt (Italiano)|Mutt]], ma si otterrebbe anche un aumento delle performance, dato che i tempi di accesso ai file verranno aggiornati solo se i file vengono modificati.
+
{{Nota|l'opzione {{ic|noatime}} include anche l'opzione {{ic|nodiratime}}. Non sarà quindi necessario dichiarare entrambe le opzioni.}}
 
+
{{Nota|l'opzione {{Codeline|noatime}} include anche l'opzione {{Codeline|nodiratime}}. Non sarà quindi necessario dichiarare entrambe le opzioni.}}
+
  
 
=== tmpfs ===
 
=== tmpfs ===
Line 148: Line 141:
 
Per default, la partizione tmpfs è impostata della dimensione di metà della RAM totale, ma può essere modificata. Notare che l'effettivo uso di memoria/swap dipende da quanto vengono riempite, la partizione tmpfs non richiede memoria fino a che non viene usata.
 
Per default, la partizione tmpfs è impostata della dimensione di metà della RAM totale, ma può essere modificata. Notare che l'effettivo uso di memoria/swap dipende da quanto vengono riempite, la partizione tmpfs non richiede memoria fino a che non viene usata.
  
Per usare tmpfs per {{Filename|/tmp}}, semplicemente aggiungere questa linea ad {{Filename|/etc/fstab}} (e riavviate il sistema):
+
Per usare tmpfs per {{ic|/tmp}}, semplicemente aggiungere questa linea ad {{ic|/etc/fstab}} (e riavviate il sistema):
{{File|name=/etc/fstab|content=.....
+
{{hc|/etc/fstab|2=<nowiki>.....
 
tmpfs /tmp      tmpfs nodev,nosuid,noexec                0 0
 
tmpfs /tmp      tmpfs nodev,nosuid,noexec                0 0
.....}}
+
.....</nowiki>}}
  
Sarà possibile o meno impostare la dimensione, ma sarà necessario lasciare l'opzione {{Codeline|mode}} inalterata in questi casi, per essere certi che le cartelle abbiano i giusti permessi(1777). Nell'esempio sopra, {{Filename|/tmp}} sarà impostata per metà della RAM totale. Per impostare esplicitamente la dimensione massima, usare l'opzione {{Codeline|size}} del comando {{Codeline|mount}}:
+
Sarà possibile o meno impostare la dimensione, ma sarà necessario lasciare l'opzione {{ic|mode}} inalterata in questi casi, per essere certi che le cartelle abbiano i giusti permessi(1777). Nell'esempio sopra, {{ic|/tmp}} sarà impostata per metà della RAM totale. Per impostare esplicitamente la dimensione massima, usare l'opzione {{ic|size}} del comando {{ic|mount}}:
{{File|name=/etc/fstab|content=.....
+
{{hc|/etc/fstab|2=<nowiki>.....
 
tmpfs /tmp      tmpfs nodev,nosuid,noexec,size=2G        0 0
 
tmpfs /tmp      tmpfs nodev,nosuid,noexec,size=2G        0 0
.....}}
+
.....</nowiki>}}
  
Consultare la pagina di manuale relatiava al comando {{Codeline|mount}} per maggiori informazioni.
+
Consultare la pagina di manuale relatiava al comando {{ic|mount}} per maggiori informazioni.
  
Riavviare per fare in modo che i cambiamenti abbiano effetto. Notare che anche se si è tentati e possa sembrare utile, '''NON''' usare il comando {{Codeline|mount -a}}, perchè così facendo ogni file contenuto in precedenza nelle suddette cartelle diventerebbe quindi inaccessibile(ad esempio i file di lock delle applicazioni). Comunuque, se queste cartelle sono vuote, sarà possibile eseguire il comando {{Codeline|mount -a}} invece di riavviare(oppure effettuare il mount manuale delle cartelle).
+
Riavviare per fare in modo che i cambiamenti abbiano effetto. Notare che anche se si è tentati e possa sembrare utile, '''NON''' usare il comando {{ic|mount -a}}, perchè così facendo ogni file contenuto in precedenza nelle suddette cartelle diventerebbe quindi inaccessibile(ad esempio i file di lock delle applicazioni). Comunuque, se queste cartelle sono vuote, sarà possibile eseguire il comando {{ic|mount -a}} invece di riavviare(oppure effettuare il mount manuale delle cartelle).
  
Dopo aver effettuato le modifiche, si potrà verficare il funzionamento con il comando {{Codeline|findmnt}}:
+
Dopo aver effettuato le modifiche, si potrà verficare il funzionamento con il comando {{ic|findmnt}}:
 
{{Command|<nowiki>findmnt --target  /tmp</nowiki>|output=<nowiki>TARGET SOURCE FSTYPE OPTIONS
 
{{Command|<nowiki>findmnt --target  /tmp</nowiki>|output=<nowiki>TARGET SOURCE FSTYPE OPTIONS
 
/tmp  tmpfs  tmpfs rw,nosuid,nodev,noexec,relatime</nowiki>}}
 
/tmp  tmpfs  tmpfs rw,nosuid,nodev,noexec,relatime</nowiki>}}
  
Per utilizzare tmpfs per le cartelle {{Filename|/var/run}} e {{Filename|/var/lock}}, è possibile creare un link simbolico ad esse indirizzato alla cartella {{Filename|/run}}. Assicurarsi di chiudere ogni lavoro importante prima di effettuare questa modifica, perchè sarà necessario riavviare il sistema ed alcuni demodi potrebbero non fermarsi regolarmente.
+
Per utilizzare tmpfs per le cartelle {{ic|/var/run}} e {{ic|/var/lock}}, è possibile creare un link simbolico ad esse indirizzato alla cartella {{ic|/run}}. Assicurarsi di chiudere ogni lavoro importante prima di effettuare questa modifica, perchè sarà necessario riavviare il sistema ed alcuni demodi potrebbero non fermarsi regolarmente.
  
 
{{Nota|Arch addotterà questo metodo di default nel futuro. Vedi https://bugs.archlinux.org/task/18157}}
 
{{Nota|Arch addotterà questo metodo di default nel futuro. Vedi https://bugs.archlinux.org/task/18157}}
  
{{Attenzione|Alcuni demoni conservano dei file nelle cartelle {{Filename|/var/lock}} e {{Filename|/var/run}}, e gli scirpt di {{Filename|/etc/rc.d/}} potrebbero avere bisogno di modifiche per garantire un corretto funzionamento.}}
+
{{Attenzione|Alcuni demoni conservano dei file nelle cartelle {{ic|/var/lock}} e {{ic|/var/run}}, e gli scirpt di {{ic|/etc/rc.d/}} potrebbero avere bisogno di modifiche per garantire un corretto funzionamento.}}
  
{{Cli|<nowiki># ln -sf /run/lock /var/lock
+
{{bc|<nowiki># ln -sf /run/lock /var/lock
 
# ln -sf /run /var/run
 
# ln -sf /run /var/run
 
# reboot</nowiki>}}
 
# reboot</nowiki>}}
  
 
== Articoli correlati ==
 
== Articoli correlati ==
 
 
* [[Persistent block device naming (Italiano)|Nomi statici per le partizioni]]
 
* [[Persistent block device naming (Italiano)|Nomi statici per le partizioni]]
 
* [[Writing on a FAT32 partition as a normal user|Scrivere su una partizione FAT32 da normale utente(in inglese)]]
 
* [[Writing on a FAT32 partition as a normal user|Scrivere su una partizione FAT32 da normale utente(in inglese)]]

Revision as of 19:55, 6 November 2011

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Il file /etc/fstab contiene le informazioni sul filesystem. In esso viene definito come le partizioni e le periferiche di archiviazione saranno montate all'interno del sistema. Questo file verrà letto dal comando mount per determinare quali opzioni utilizzare per montare una specifica periferica o una partizione.

Esempio

Questo è un esempio del file /etc/fstab usando i descrittori del kernel:

/etc/fstab
# <file system>        <dir>         <type>    <options>             <dump> <pass>
tmpfs                  /tmp          tmpfs     nodev,noexec,nosuid   0      0
/dev/sda1              /             ext4      defaults,noatime      0      1
/dev/sda2              none          swap      defaults              0      0
/dev/sda3              /home         ext4      defaults,noatime      0      2

Definizione dei campi

In /etc/fstab sono contenuti i seguenti campi separati da spazzi o tabulazioni:

<file system>	<dir>	<type>	<options>	<dump>	<pass>
  • <file systems> - definisce la periferica di archiviazione o la partizione.
  • <dir> - indica al comando mount la cartella dove sarà montata la partizione(<file system>).
  • <type> - indica il tipo di file system della partizione o del dispositivo. Sono supportati diversi file system. Alcuni esempi sono: ext2, ext3, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap, ed auto. L'opzione auto lascia riconoscere al comando mount il tipo di file system da utilizzare, questa opzione e utile in caso di periferiche rimovibili come cdrom e dvd.
  • <options> - indica le opzioni da utilizzare sui file system. Alcune opzioni fanno riferimento a specifici file system, altre invece sono generiche:
  • auto - Il file system sarà montato automaticamente durante l'avvio del sistema, oppure quando viene lanciato il comando mount -a.
  • noauto - Il file system non sarà montato automaticamente ma solo manualmente.
  • exec - Abilita l'esecuzione dei file eseguibili residenti sulla partizione(abilitata di default).
  • noexec - Inibisce la possibilità di eseguire programmi dal file system.
  • ro - Il mount del file system avviene in sola lettura.
  • rw - Il mount del file system avviene in lettura e scrittura.
  • user - Permette a tutti gli utenti di montare il filesystem. Questa opzione include noexec, nosuid, nodev, se non vengono utilizzate le opzioni opposte.
  • users - Permette agli utenti appartenenti al gruppo users di montare il filesystem.
  • nousers - Permette il mount solo all'utente root.
  • owner - Permette il mount al solo proprietario del punto di mount.
  • sync - l'I/O sul file system deve essere sincrono.
  • async - tutto l'I/O sul file system deve essere asincrono.
  • dev - Interpreta le periferiche a blocchi o periferiche speciali all'interno del filesystem.
  • nodev - Impedisce l'interpretazone di periferiche a blocchi o periferiche speciali all'interno del filesystem.
  • suid - Consente l'uso di operazioni di suid e sgid. Sono comunemente usate per permettere agli utenti di un sistema di eseguire programmi elevando temporaneamente i privilegi [1].
  • nosuid - Impedisce le operazioni di suid e sgid.
  • noatime - Non agiorna l'inode con i tempi di accesso al file system. Può aumentare le prestazioni (vedi l'opzione atime).
  • nodiratime - Non agiorna l'inode delle directory sui tempi di accesso al file system. Può aumentare le prestazioni (vedi l'opzione atime).
  • relatime - Aggiorna nell'inode solo i tempi relativi a modifiche o cambiamenti dei file. I tempi di accesso vengono aggiornati solo se l'ultimo accesso è precedente rispetto a quello dell'ultima modifica.(Simile a noatime ma non interferisce con programmi come mutt che devono sapere se un file è stato letto dopo la sua ultima modifica.) Può aumentare le performance (vedi l'opzione atime).
  • flush - Questa è una opzione per il file system FAT, serve a scrivere più spesso i dati sul disco in modo da evitare che le finestre di trasferimento vengano chiuse mentre i dati non sono ancora stati scritti.
  • defaults - Assegna le impostazioni di default del filesystem per il comando mount. Le opzioni di default per ext3 sono rw,suid,dev,exec,auto,nouser,async.
  • <dump> - Viene utilizzato dal programma dump per decidere quando fare un backup. Quando si installa il sistema(ma non nel caso di una installazione standard di Arch Linux), dump controlla il valore ed usa il numero per decidere se fare un backup del file system. I valori da poter inserire sono 0 ed 1. Se il valore è impostato a 0 dump ignorerà il file system, mentre se viene impostato ad 1 dump si occuperà di effettuare il backup del file system. La maggiorparte degli utenti non avranno dump installato, è quindi consigliato lasciare il valore di <dump> a 0.
  • <pass> - fsck legge il valore di <pass> e determina l'ordine in cui i file system saranno controllati. I possibili valori sono 0, 1 e 2. Il file system root(/) deve avere la massima priorità, 1, gli altri file system che dovranno essere controllati avranno come valore 2. Nel caso in cui il valore di <pass> sia impostato a 0 il file system non sarà controllato da fsck.

Identificare i filesystem

I filesystem nel file /etc/fstab possno essere identificati in tre modi: utilizzando i descrittori del kernel, tramite gli UUID, oppure utilizzando le etichette. Il vantaggio dell'uso degli UUID o delle etichette è che questi non dipendono dall'ordine dei dischi. Risultano utili quindi se si modifica l'ordinamento dei dischi nel BIOS, se vengono cambiati i cablaggi di connessione (esempio dalla porta SATA1 sulla scheda madre alla SATA2 ecc.), oppure nel caso in cui il BIOS non mantenga correttamente l'ordinamento dei dischi. Per maggiori informazioni leggere l'articolo: persistent block device naming

Descrittori del Kernel

I descrittori del kernel si possono ottenere usando fdisk -l. I descrittori del kernel sono nella prima colonna:

fdisk -l
...
  
Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2550    20482843+   b  W95 FAT32
/dev/sda2            2551        5100    20482875   83  Linux
/dev/sda3            5101        7650    20482875   83  Linux
/dev/sda4            7651      121601   915311407+   5  Extended
/dev/sda5            7651       10200    20482843+  83  Linux
/dev/sda6           10201       17849    61440561   83  Linux
/dev/sda7           17850       18104     2048256   82  Linux swap / Solaris
/dev/sda8           18105       18113       72261   83  Linux
/dev/sda9           18114      121601   831267328+   7  HPFS/NTFS

Vedi il file d'esempio.

Etichette

Le periferiche o le partizioni dovranno avere un etichetta non ambigua. Le etichette dovrebbero essere non ambigue per evitare ogni possibile conflitto - ogni etichetta dovrebbe essere unica. Per assegnare una etichetta ad una periferica o partizione consultare questo articolo. Per elencare tutte le partizioni con le prorpie etichette, sarà possibile utilizzare il comando blkid. In /etc/fstab antecedere al nome dell'etichetta con LABEL=:

/etc/fstab
# <file system>        <dir>         <type>    <options>             <dump> <pass>

tmpfs                  /tmp          tmpfs     nodev,nosuid,noexec     0      0

LABEL=Arch_Linux       /             ext4      defaults,noatime        0      1
LABEL=Arch_Swap        none          swap      defaults                0      0

UUID

Tutte le partizioni e periferiche hanno un UUID unico. Gli UUID vengono generati dal programma di generazione del filesystem (mkfs.*) quando questo viene generato. Il comando blkid mostra gli UUID delle partizioni e delle periferiche. In /etc/fstab antecedere all'UUID la dicitura UUID=:

/etc/fstab
# <file system>        <dir>         <type>    <options>             <dump> <pass>

tmpfs                      /tmp  tmpfs     nodev,nosuid,noexec         0      0
 
UUID=24f28fc6-717e-4bcd-a5f7-32b959024e26 /     ext4 defaults,noatime  0      1
UUID=03ec5dd3-45c0-4f95-a363-61ff321a09ff /home ext4 defaults,noatime  0      2
UUID=4209c845-f495-4c43-8a03-5363dd433153 none  swap defaults          0      0

Tips

UUID per la swap

Nel caso chel la partizione di swap non abbia un UUID, sarà possibile aggiungerlo manulamente. Questo accade quando l'UUID della partizione di swap non appare con il comando blkid.

Per prima cosa, se non si conosce quale sia la partizione di swap, sarà necessario individuarla usando il comando:

swapon -s
Filename				Type		Size	Used	Priority
/dev/sda7                               partition	4000148	0	-1

Poi sarà necessario disabilitare la swap:

# swapoff /dev/sda7

Ora ricreare la partizione di swap con un nouvo UUID assegnato ad essa:

# mkswap -U random /dev/sda7

Ed infine, riativare la swap:

# swapon /dev/sda7

Utilizzare percorsi contenenti spazi

Può essere usato il carattere di escape seguito dal codice ottale di tre cifre corrispondente allo spazio "\040".

/etc/fstab
.....
/dev/sda7                /home/username/Camera\040Picures   ext4  defaults,noatime       0  2
UUID=7D4500B3071E18B2    /media/100\040GB\040(Storage)      ntfs  defaults,noatime,user  0  0
.....

Dischi esterni

I dischi esterni che dovranno essere montati quando presenti, ma ignorati se assenti, avranno bisogno dell'uso dell'opzione nofail. Questa opzione inibisce la visualizzazione del messaggio di errore durante l'avvio.

/etc/fstab
.....
/dev/sdg1    /media/backup    jfs    defaults,nofail    0  2
.....

opzione atime

L'uso di noatime, nodiratime o relatime può aumentare le prestazioni del disco, per i file system ext2, ext3 o ext4. Linux di default tiene traccia(scrivendolo sul disco) di ogni lettura effettuata atime. Questa funzione è più indicata su di un pc server piuttosto che su un pc desktop. L'aspetto peggiore dell'opzione atime sta nel fatto che, anche leggendo un file dalla memoria cache(quindi non dal disco direttamente) verrà effettuata una scrittura sul disco! Usando l'opzione noatime viene disabilitato l'aggiornamento de tempi di accesso ai file ogni volta che viene letto un file. Questo non interferisce con la maggioranza delle applicazioni, ma Mutt necessita di queste informazioni.Se si usa mutt sarà quindi necessario utilizzare l'opzione relatime. L'uso dell'opzione relatime abilita l'aggiornamento dei tempi di accesso ai file solo se il file viene modificato (al contrario dell'opzione noatime dove i tempi di accesso in lettura al file non verranno aggiornati, e saranno precedenti rispetto ai tempi di modifica del file). L'opzione nodiratime disabilitata la scrittura dei tempi di accesso ai file, solo per le cartelle, mentre per i normali file in tempi di accesso verranno aggiornati. Il miglior compromesso potrebbe essere l'uso dell'opzione relatime che non influenzerebbe il funzionamento di programmi come Mutt, ma si otterrebbe anche un aumento delle performance, dato che i tempi di accesso ai file verranno aggiornati solo se i file vengono modificati.

Nota: l'opzione noatime include anche l'opzione nodiratime. Non sarà quindi necessario dichiarare entrambe le opzioni.

tmpfs

tmpfs è un filesystem temporaneo che risiede nella memoria, e/o nella/e area/e di swap, a seconda di quanto esso viene riempito. Montare cartelle in tmpfs puo' essere un buon modo per velocizzare gli accessi in lettura nei file che vi risiedono, o per assicurarsi che il contenuto venga cancelato automaticamente ad ogni riavvio.

Alcune directory dove è comunemente usato tmpfs senza problemi sono /tmp, /var/lock ed /var/run. NON usare tmpfs per /var/tmp, perchè questa cartella contiene dei file che devono essere conservati dopo il riavvio.

Per default, la partizione tmpfs è impostata della dimensione di metà della RAM totale, ma può essere modificata. Notare che l'effettivo uso di memoria/swap dipende da quanto vengono riempite, la partizione tmpfs non richiede memoria fino a che non viene usata.

Per usare tmpfs per /tmp, semplicemente aggiungere questa linea ad /etc/fstab (e riavviate il sistema):

/etc/fstab
.....
tmpfs /tmp      tmpfs nodev,nosuid,noexec                 0 0
.....

Sarà possibile o meno impostare la dimensione, ma sarà necessario lasciare l'opzione mode inalterata in questi casi, per essere certi che le cartelle abbiano i giusti permessi(1777). Nell'esempio sopra, /tmp sarà impostata per metà della RAM totale. Per impostare esplicitamente la dimensione massima, usare l'opzione size del comando mount:

/etc/fstab
.....
tmpfs /tmp      tmpfs nodev,nosuid,noexec,size=2G        0 0
.....

Consultare la pagina di manuale relatiava al comando mount per maggiori informazioni.

Riavviare per fare in modo che i cambiamenti abbiano effetto. Notare che anche se si è tentati e possa sembrare utile, NON usare il comando mount -a, perchè così facendo ogni file contenuto in precedenza nelle suddette cartelle diventerebbe quindi inaccessibile(ad esempio i file di lock delle applicazioni). Comunuque, se queste cartelle sono vuote, sarà possibile eseguire il comando mount -a invece di riavviare(oppure effettuare il mount manuale delle cartelle).

Dopo aver effettuato le modifiche, si potrà verficare il funzionamento con il comando findmnt: Template:Command

Per utilizzare tmpfs per le cartelle /var/run e /var/lock, è possibile creare un link simbolico ad esse indirizzato alla cartella /run. Assicurarsi di chiudere ogni lavoro importante prima di effettuare questa modifica, perchè sarà necessario riavviare il sistema ed alcuni demodi potrebbero non fermarsi regolarmente.

Nota: Arch addotterà questo metodo di default nel futuro. Vedi https://bugs.archlinux.org/task/18157
Attenzione: Alcuni demoni conservano dei file nelle cartelle /var/lock e /var/run, e gli scirpt di /etc/rc.d/ potrebbero avere bisogno di modifiche per garantire un corretto funzionamento.
# ln -sf /run/lock /var/lock
# ln -sf /run /var/run
# reboot

Articoli correlati

Risorse