Provided by: manpages-it-dev_4.13-4_all bug

NOME

       mount - monta i filesystem

SINTASSI

       #include <sys/mount.h>

       int mount(const char *source, const char *target,
                 const char *filesystemtype, unsigned long mountflags,
                 const void *data);

DESCRIZIONE

       mount()  collega il filesystem specificato da source (che è spesso un nome di percorso che
       individua un dispositivo, ma può anche essere il nome di percorso di una directory o di un
       file,  o  una  stringa  fittizia) alla posizione (una directory o un file) specificata dal
       nome di percorso in target.

       Per montare dei filesystem è  necessario  avere  le  autorizzazioni  adeguate  (Linux:  la
       funzionalità CAP_SYS_ADMIN).

       I   valori   dell'argomento   filesystemtype   supportati  dal  kernel  sono  elencati  in
       /proc/filesystems (p.es, "btrfs", "ext4", "jfs", "xfs", "vfat", "fuse", "tmpfs", "cgroup",
       "proc",  "mqueue",  "nfs", "cifs", "iso9660"). Ulteriori tipi di filesystem possono essere
       resi disponibili se sono stati caricati i moduli appropriati.

       L'argomento data è interpretato dai differenti filesystem. Tipicamente è  una  stringa  di
       opzioni,  separate  da virgole, riconosciute da un determinato filesystem. Vedere mount(8)
       per dettagli sulle opzioni disponibili per ciascun tipo di filesystem.

       Una chiamata a mount() esegue una tra le molte operazioni di tipo generale, basandosi  sui
       bit  specificati  in  mountflags.  La  scelta  dell'operazione  da  eseguire è determinata
       controllando i bit impostati in mountflags, effettuando dei test nell'ordine qui elencato:

       *  Rimontare un montaggio già in essere: mountflags include MS_REMOUNT.

       *  Creare un montaggio di tipo bind: mountflags include MS_BIND.

       *  Cambiare il tipo di propagazione di un montaggio esistente: mountflags include uno  tra
          MS_SHARED, MS_PRIVATE, MS_SLAVE o MS_UNBINDABLE.

       *  Spostare un montaggio esistente in una nuova posizione: mountflags include MS_MOVE.

       *  Creare un nuovo montaggio: mountflags non include nessuno dei flag di cui sopra.

       Ciascuna  di  queste  operazioni  è  descritta  nel dettaglio più avanti in questa pagina.
       Ulteriori flag possono essere specificati in mountflags per modificare il comportamento di
       mount(), come'è descritto qua sotto.

   Ulteriori flag per il montaggio
       L'elenco  seguente descrive i flag aggiuntivi che possono venir specificati in mountflags.
       Si noti che alcuni tipi di operazione ignorano alcuni o tutti questi flag, come  descritto
       più avanti in questa pagina.

       MS_DIRSYNC (a partire da Linux 2.5.19)
              Sincronizza  le  modifiche  di directory in questo filesystem. (Questa funzionalità
              può essere richiesta per singole directory o per sottoalberi usando chattr(1).)

       MS_LAZYTIME (a partire da Linux 4.0)
              Riduce gli aggiornamenti su disco  delle  marcature  temporali  dell'inode  (atime,
              mtime,  ctime)  effettuando  questi  cambiamenti  solo  in  memoria.  Le  marcature
              temporali su disco vengono aggiornato solo quando:

              (a)  l'inode necessita di un aggiornamento per delle modifiche non  correlate  alle
                   marcature temporali del file;

              (b)  l'applicazione si serve di fsync(2), syncfs(2) o sync(2);

              (c)  un inode ancora esistente è estromesso dalla memoria; o

              (d)  son passate più di 24 ore da quando l'inode è stato scritto su disco.

              Quest'opzione  di  mount  riduce  significativamente  le  scritture  necessarie per
              aggiornare  le  marcature  temporali  dell'inode,  specialmente  mtime   e   atime.
              Comunque,  nell'eventualità  di un crash di sistema, i campi atime e mtime su disco
              potrebbero non contenere gli aggiornamenti già effettuati, fino a un massimo 24 ore
              prima del crash.

              Come  esempi di situazioni in cui quest'opzione potrebbe essere di notevole utilità
              si può citare il caso di frequenti scritture casuali su file preallocati, e anche i
              casi  in  cui anche l'opzione di mount MS_STRICTATIME è abilitata. (Il vantaggio di
              combinare MS_STRICTATIME e MS_LAZYTIME è che stat(2) restituirà il valore di  atime
              correttamente  aggiornato,  ma  gli  aggiornamenti  di atime verranno trasferiti su
              disco solo nei casi sopra elencati.)

       MS_MANDLOCK
              Consente  il  blocco  obbligatorio  sui  file  in  questo  filesystem.  (Il  blocco
              obbligatorio  deve  ancora  essere  abilitato per i singoli file, come descritto in
              fcntl(2).) A partire da Linux 4.5, quest'opzione di mount richiede la  funzionalità
              CAP_SYS_ADMIN e un kernel configurato con l'opzione CONFIG_MANDATORY_FILE_LOCKING.

       MS_NOATIME
              Non aggiorna l'ora di accesso per (tutti i tipi di) file su questo filesystem.

       MS_NODEV
              Non permette l'accesso a dispositivi (file speciali) in questo filesystem.

       MS_NODIRATIME
              Non  aggiorna  l'ora  di  accesso  per  directory su questo filesystem. Questo flag
              fornisce un sottoinsieme di funzioni messe a disposizione  da  MS_NOATIME;  vale  a
              dire che MS_NOATIME implica MS_NODIRATIME.

       MS_NOEXEC
              Non permette l'esecuzione di programmi su questo filesystem.

       MS_NOSUID
              Non  onora  le funzionalità dei file per impostare i bit set-user-ID e set-group-ID
              quando si eseguono programmi da questo filesystem.

       MS_RDONLY
              Monta il filesystem in sola lettura.

       MS_REC (a partire da Linux 2.4.11)
              Usata insieme a MS_BIND per creare un montaggio "bind" ricorsivo, e assieme ai flag
              per  il tipo di condivisione per cambiare ricorsivamente il tipo di condivisione di
              tutti i montaggi in un sottoalbero. Vedere più avanti per ulteriori dettagli.

       MS_RELATIME (a partire da Linux 2.6.20)
              Quando si accede a un file in questo filesystem, aggiorna l'ora dell'ultimo accesso
              al  file  (atime)  solo  se  il  valore attuale di atime è minore o uguale a quello
              dell'ultima modifica del file (mtime) o all'ora dell'ultimo  cambiamento  di  stato
              (ctime).  Quest'opzione  è  utile  per programmi come mutt(1), che hanno bisogno di
              sapere quando un file è stato letto dopo l'ultima  modifica.  A  partire  da  Linux
              2.6.30, il kernel rende predefinito il comportamento fornito da questo flag (a meno
              che non sia stata specificato MS_NOATIME), e il flag MS_STRICTATIME è richiesto per
              ottenere  il  comportamento  tradizionale.  Inoltre,  a partire da Linux 2.6.30, il
              tempo dell'ultimo accesso al file viene sempre aggiornato se  risale  a  più  di  1
              giorno prima.

       MS_SILENT (a partire da Linux 2.6.17)
              Sopprime  la  visualizzazione  di  alcuni messaggi di avvertimento (printk()) nelle
              registrazioni del kernel.Questo flag sostituisce  il  flag  (disponibile  da  Linux
              2.4.12) MS_VERBOSE, che ha lo stesso significato.

       MS_STRICTATIME (a partire da Linux 2.6.30)
              L'ultimo  tempo  di  accesso  è  sempre  aggiornato (atime) quando i file su questo
              filesystem sono acceduti. (Questo era il comportamento predefinito prima  di  Linux
              2.6.30.) Specificando questo flag l'effetto dell'impostazione dei flag MS_NOATIME e
              MS_RELATIME viene ignorato.

       MS_SYNCHRONOUS
              Rende sincrone le scritture su questo filesystem (come se il flag O_SYNC di open(2)
              fosse specificata per tutti i file aperti in questo filesystem).

       MS_NOSYMFOLLOW (a partire da Linux 5.10)
              Non  segue  i collegamenti simbolici nella risoluzione dei percorsi. I collegamenti
              simbolici possono essere sempre creati, e readlink(1), readlink(2),  realpath(1)  e
              realpath(3)  continueranno a funzionare in modo appropriato.

       Da  Linux  2.4  in  poi,  alcuni  dei  flag visti sopra sono impostabili a livello di ogni
       singolo montaggio, mentre altri si applicano al superblocco del filesystem montato, il che
       vuol   dire   che  tutti  i  montaggi  dello  stesso  filesystem  condividono  tali  flag.
       (Precedentemente, tutti i flag erano a livello di superblocco.)

       I flag per singolo punto di montaggio sono i seguenti:

       *  Da Linux 2.4: MS_NODEV, MS_NOEXEC e MS_NOSUID possono essere  impostati  a  livello  di
          ogni singolo punto di montaggio.

       *  Inoltre, dal kernel 2.6.16: MS_NOATIME e MS_NODIRATIME.

       *  Inoltre, da Linux 2.6.20: MS_RELATIME.

       I  seguenti  flag  sono  a  livello  di superblocco: MS_DIRSYNC, MS_LAZYTIME, MS_MANDLOCK,
       MS_SILENT e MS_SYNCHRONOUS. Le impostazioni iniziali di  questi  flag  sono  stabilite  al
       primo  montaggio  del filesystem, e verranno riutilizzate per tutti gli ulteriori montaggi
       dello stesso filesystem. Successivamente, le impostazioni dei flag possono essere cambiate
       attraverso  un'operazione  di rimontaggio (vedi sotto). Tali modifiche saranno applicate a
       tutti i punti di montaggio collegati con lo stesso filesystem.

       Da Linux 2.6.16 MS_RDONLY può essere impostato o annullato a livello di ogni singolo punto
       di  montaggio,  nonché a livello del superblocco del filesystem sottostante. Il filesystem
       montato sarà scrivibile solo se né il filesystem né il punto  di  montaggio  sono  marcati
       come di sola lettura.

   Rimontare un montaggio esistente
       Un  montaggio esistente può essere montato di nuovo specificando MS_REMOUNT in mountflags.
       Questo permette di cambiare mountflags e i dati di un montaggio già in essere senza  dover
       smontare  e rimontare il filesystem. target deve avere gli stessi valori specificati nella
       chiamata mount() iniziale.

       Gli argomenti source e filesystemtype sono ignorati.

       Gli argomenti mountflags e data dovrebbero corrispondere ai valori nella chiamata  mount()
       originale, ad eccezione dei parametri che si desidera modificare.

       I  seguenti  bit  di  mountflags  possono  essere  modificati:   MS_LAZYTIME, MS_MANDLOCK,
       MS_NOATIME,  MS_NODEV,  MS_NODIRATIME,  MS_NOEXEC,  MS_NOSUID,   MS_RELATIME,   MS_RDONLY,
       MS_STRICTATIME  (il  cui  effetto è quello di azzerare i flag MS_NOATIME e MS_RELATIME), e
       MS_SYNCHRONOUS.  I tentativi di cambiare l'impostazione del flag  MS_DIRSYNC  e  MS_SILENT
       durante un rimontaggio vengono ignorati senza emettere messaggi. Si noti che i cambiamenti
       ai flag a livello di superblocco sono visibili anche in tutti i  punti  di  montaggio  dei
       filesystem  associati  (perché  i  flag a livello di superblocco sono condivisi da tutti i
       punti di montaggio).

       A partire da  Linux 3.17,  se  nessuno  tra  MS_NOATIME,  MS_NODIRATIME,  MS_RELATIME,  or
       MS_STRICTATIME  viene  specificato  in  mountflags, l'operazione di rimontaggio preserva i
       valori  esistenti  di  questi  flag  (piuttosto  che  impostarli  al  valore   predefinito
       MS_RELATIME).

       A  partire da Linux 2.6.26, il flag MS_REMOUNT può essere usato con MS_BIND per modificare
       solo i flag relativi ai punti di montaggio Questo è particolarmente utile per impostare  o
       annullare  il  flag  "read-only"  su  un  punto  di montaggio senza cambiare il filesystem
       sottostante. Specificando mountflags come:

           MS_REMOUNT | MS_BIND | MS_RDONLY

       si farà l'accesso attraverso questo punto di montaggio, senza influenzare altri  punti  di
       montaggio.

   Creare un montaggio di tipo bind
       Se  mountflags  comprende  MS_BIND  (disponibile  da  Linux  2.4 in poi) viene eseguito un
       montaggio di tipo bind. Un montaggio di tipo bind  rende  un  file  o  un  sottoalbero  di
       directory  visibile  a  un  altro  punto  all'interno dell'unica gerarchia di directory. I
       montaggi di  tipo  bind  possono  attraversare  i  filesystem  e  oltrepassare  le  gabbie
       chroot(2).

       Gli argomenti filesystemtype e data sono ignorati.

       I  restanti  bit  (diversi  da  MS_REC, descritto sotto) nell'argomento mountflags vengono
       anch'essi ignorati. (Il montaggio di tipo bind ha le stesse opzioni di montaggio del punto
       di  montaggio  su  cui  viene applicato.)  Si veda comunque la spiegazione sul rimontaggio
       vista prima, per il modo di rendere in sola lettura un punto di montaggio già in essere.

       In modo predefinito, quando una directory è montata con un montaggio di tipo  bind,  viene
       montata  solo quella particolare directory; se ci sono dei sottomontaggi nell'albero della
       directory, questi non sono montati nel montaggio di tipo bind. Se viene specificato  anche
       il  flag MS_REC, viene effettuata un'operazione di montaggio di tipo bind ricorsiva: tutti
       i sottomontaggi nel sottoalbero source (tranne i montaggi non  condivisibile  (unbindable)
       con un'operazione di bind) sono anche montati con un montaggio di tipo bind alla posizione
       corrispondente nel sottoalbero target.

   Cambiare il tipo di condivisione di un montaggio esistente
       Se mountflags include uno tra  MS_SHARED,  MS_PRIVATE,  MS_SLAVE  o  MS_UNBINDABLE  (tutti
       disponibili  a partire da Linux 2.6.15), il tipo di condivisione di un montaggio esistente
       viene cambiato. Se si specifica più d'uno di questi flag, viene prodotto un errore.

       I soli altri flag che possono essere specificati nel cambiare il tipo di condivisione sono
       MS_REC (descritto sotto) e MS_SILENT (che viene ignorato).

       Gli argomenti source, filesystemtype e data sono ignorati.

       I tipi di condivisione richiesti dai flag hanno il seguente significato:

       MS_SHARED
              Rende condiviso questo punto di montaggio. Gli eventi di montaggio e smontaggio che
              stanno subito sotto questo punto di montaggio si propagheranno agli altri punti  di
              mount  che  sono  membri di questo "gruppo di pari" (peer group) nel montaggio. Qui
              condivisione significa che lo stesso montaggio o smontaggio avverrà automaticamente
              sotto  tutti  gli  altri  punti di mount nel "gruppo di pari". Simmetricamente, gli
              eventi di  montaggio  e  smontaggio  che  hanno  luogo  nel  "gruppo  di  pari"  si
              propagheranno a questo punto di montaggio.

       MS_PRIVATE
              Rende  privato  questo punto di montaggio. Gli eventi di montaggio e smontaggio non
              vengono condivisi dentro o fuori a questo punto di montaggio.

       MS_SLAVE
              Se questo è un punto di montaggio condiviso che è membro di  un  "gruppo  di  pari"
              (peer  group) che contiene altri membri, viene convertito in un montaggio asservito
              (slave mount).  Se questo è un punto di montaggio condiviso  che  è  membro  di  un
              "gruppo  di  pari"  che non contiene altri membri, viene convertito in un montaggio
              privato (private  mount).   Altrimenti,  il  tipo  di  condivisione  del  punto  di
              montaggio rimane invariato.

              Quando  un  punto  di  montaggio  è asservito ad altri (slave mount), gli eventi di
              montaggio e smontaggio si propagano in questo punto di  montaggio  dal  "gruppo  di
              pari"  (master)  condiviso  del quale era stato membro in precedenza. Gli eventi di
              montaggio e smontaggio sotto questo punto di montaggio non si  propagano  a  nessun
              "pari" (peer).

              Un  punto  di  montaggio  può  essere asservito (slave) a un altro "gruppo di pari"
              condividendo nel contempo eventi di montaggio e smontaggio con un "gruppo di  pari"
              di cui è membro.

       MS_UNBINDABLE
              Rende  questo montaggio non condivisibile unbindaable) con un'operazione di bind. È
              come un montaggio privato (private mount), e in più questo montaggio non può essere
              montato  con  un montaggio di tipo bind. Quando un montaggio di tipo bind ricorsivo
              (mount() con i flag MS_BIND e MS_REC) è effettuato su un sottoalbero di  directory,
              qualsiasi  montaggio  non  condivisibile  (unbindable)  con  un'operazione  di bind
              all'interno del sottoalbero è automaticamente smontato (cioè, non replicato) quando
              si replica questo sottoalbero per produrre il sottoalbero di destinazione.

       In  modo  predefinito,  il  cambio  del  tipo  di condivisione influisce solo sul punto di
       montaggio target. Se viene specificato anche il flag MS_REC in mountflags, viene  cambiato
       anche il tipo di condivisione di tutti i punti di montaggio sotto target.

       Per  ulteriori  dettagli  sui  tipi  di  condivisione  del  montaggio (compreso il tipo di
       condivisione predefinito assegnato ai nuovi montaggi, si veda mount_namespaces(7).

   Spostare un montaggio
       Se mountflags contiene il flag MS_MOVE (disponibile a  partire  da  Linux  2.4.18),  viene
       spostato  un  sottoalbero:  source  specifica  un  punto  di  montaggio esistente e target
       specifica la nuova posizione nella quale dev'essere ricollocato quel punto  di  montaggio.
       Lo  spostamento  avviene  senza  soluzione  di  continuità:  il  sottoalbero non viene mai
       smontato.

       I rimanenti bit nell'argomento mountflags vengono ignorati, poiché essi sono gli argomenti
       di filesystemtype e data.

   Creare un nuovo punto di montaggio
       Se  nessuno di questi flag MS_REMOUNT, MS_BIND, MS_MOVE, MS_SHARED, MS_PRIVATE, MS_SLAVE o
       MS_UNBINDABLE viene specificato in mountflags, mount() esegue la sua  azione  predefinita:
       creare  un  nuovo  punto  di  montaggio.  source specifica l'origine per il nuovo punto di
       montaggio, e target specifica la directory nella quale creare il punto di montaggio.

       Vengono impiegati gli argomenti filesystemtype e data,  e  ulteriori  bit  possono  essere
       specificati in mountflags per modificare il comportamento della chiamata.

VALORE RESTITUITO

       In  caso  di  successo  restituisce  zero. In caso di errore restituisce -1, e errno verrà
       impostato di conseguenza.

ERRORI

       I valori di errore indicati di seguito sono causati da errori  indipendenti  dal  tipo  di
       filesystem.  Ciascun  tipo  di  filesystem  può  avere  i  propri errori speciali e il suo
       comportamento speciale. Vedere il codice sorgente del kernel per dettagli.

       EACCES Un  componente  di  un  percorso  non  poteva  essere   acceduto.   (Vedere   anche
              path_resolution(7).)

       EACCES È  stato  tentato  il montaggio di un filesystem in sola lettura senza dare il flag
              MS_RDONLY.

              Il filesystem può essere di sola lettura per diverse ragioni, tra le quali: risiede
              in  un  disco  ottico  di sola lettura;risiede su un dispositivo con un interrutore
              fisico che è stato impostato per marcare il dispositivo come di  sola  lettura;  il
              filesystem  in questione è stato creato per supportare la sola lettura; oppure sono
              stati riscontrati errori durante montaggio iniziale del filesystem, per cui esso  è
              stato  marcato come di sola lettura e non può essere rimontato in lettura-scrittura
              (fino a quando gli errori non siano stati corretti).

              Alcuni filesystem restituiscono l'errore EROFS su un tentativo di montaggio  di  un
              filesystem di sola lettura.

       EACCES Il  dispositivo  a  blocchi  source si trova su un filesystem montato con l'opzione
              MS_NODEV.

       EBUSY  È stato fatto un tentativo per sistemare un nuovo punto di montaggio in cima  a  un
              punto  di  montaggio  esistente  che  era  stato  creato  in  questo "namespace" di
              montaggio con lo stesso source e target.

       EBUSY  source non può essere rimontato in sola lettura, perché contiene ancora file aperti
              in scrittura.

       EFAULT Uno  dei  puntatori  agli  argomenti  punta  fuori  dallo  spazio di indirizzamento
              dell'utente.

       EINVAL source ha un superblocco non valido.

       EINVAL È stato tentata un'operazione di rimontaggio (MS_REMOUNT), ma source non era ancora
              stato montato su target.

       EINVAL È  stato  tentata  un'operazione di spostamento (MS_MOVE), ma l'albero di montaggio
              sotto source include montaggi non condivisibili (unbindable) e target è un punto di
              montaggio che ha una propagazione di tipo MS_SHARED.

       EINVAL È  stata  tentata  un'operazione  di  spostamento  (MS_MOVE),  ma  il montaggio del
              filesystem genitore  source  di  questo  montaggio  ha  una  propagazione  di  tipo
              MS_SHARED.

       EINVAL È  stata tentata un'operazione di spostamento (MS_MOVE), ma source non era un punto
              di montaggio, o era '/'.

       EINVAL È stata richiesta un'operazione di tipo bind  (MS_BIND)  dove source fa riferimento
              a  un  collegamento  magic link dello spazio dei nomi di mount (p.es. un magic link
              /proc/[pid]/ns/mnt o un montaggio di tipo bind a tale collegamento) e  il  tipo  di
              propagazione  del  montaggio  genitore di target era MS_SHARED,  ma la propagazione
              del montaggio di tipo bind richiesta potrebbe determinare una dipendenza  circolare
              che potrebbe impedire  che lo spazio dei nomi di mount sia liberato.

       EINVAL mountflags  include  più  d'uno  di  questi flag: MS_SHARED, MS_PRIVATE, MS_SLAVE o
              MS_UNBINDABLE.

       EINVAL mountflags include MS_SHARED, MS_PRIVATE, MS_SLAVE o MS_UNBINDABLE e include  anche
              un flag diverso da MS_REC o MS_SILENT.

       EINVAL Si  è  tentato  di  montare in modalità bind un montaggio non montabile in modalità
              bind (unbindable mount).

       EINVAL In uno spazio dei nomi di montaggio senza privilegi (i.e., uno spazio dei  nomi  di
              montaggio  di  proprietà  di  uno spazio dei nomi utente che era stato creato da un
              utente senza privilegi), è stata tentata un'operazione di montaggio  di  tipo  bind
              (MS_BIND) senza specificare (MS_REC), che avrebbe rivelato la posizione dell'albero
              del filesystem sotto uno dei submontaggi della directory da collegare.

       ELOOP  Troppi collegamenti incontrati durante la risoluzione di un percorso.

       ELOOP  È stato tentato uno spostamento, mentre target è discendente (è un sottoalbero)  di
              source.

       EMFILE (Nel  caso non sia necessario un dispositivo a blocchi:) La tabella dei dispositivi
              fittizi è piena.

       ENAMETOOLONG
              Un nome di percorso è più lungo di MAXPATHLEN.

       ENODEV filesystemtype non configurato nel kernel.

       ENOENT Un nome di percorso era vuoto o aveva un componente inesistente.

       ENOMEM Il kernel non può allocare una pagina libera in cui copiare nomi di file o dati.

       ENOTBLK
              source non è un dispositivo a blocchi (ed era necessario un dispositivo  di  questo
              tipo).

       ENOTDIR
              target, o un prefisso di source, non è una directory.

       ENXIO  Il "numero principale" del dispositivo a blocchi source è fuori limite.

       EPERM  Il chiamante non ha i privilegi necessari.

       EROFS  Si  è  tentato  di  montare un filesystem di sola lettura senza specificare il flag
              MS_RDONLY. Si veda EACCES, sopra.

VERSIONI

       Le  definizioni  di  MS_DIRSYNC,  MS_MOVE,  MS_PRIVATE,  MS_REC,  MS_RELATIME,  MS_SHARED,
       MS_SLAVE,  MS_STRICTATIME  e  MS_UNBINDABLE sono state aggiunte alle intestazioni di glibc
       nella versione 2.12.

CONFORME A

       Questa funzione è specifica di Linux e non deve essere  usata  in  programmi  pensati  per
       essere portabili.

NOTE

       A  partire  da  Linux  2.4  un singolo filesystem può essere montato su punti di montaggio
       multipli, e su uno stesso punto di montaggio possono essere impilati più montaggi.

       L'argomento mountflags può avere il "magic number" 0xC0ED  (MS_MGC_VAL)  nei  16  bit  più
       alti.  (Tutti  gli altri flag visti in DESCRIZIONE occupano i 16 bit meno significativi di
       mountflags.) Specificare MS_MGC_VAL era necessario nelle  versioni  di  kernel  precedenti
       alla 2.4, ma dalla 2.4 non è più necessario ed è ignorato se specificato.

       Il  flag  originale  MS_SYNC  è  stato  rinominato MS_SYNCHRONOUS in 1.1.69 quando è stato
       aggiunto un diverso MS_SYNC a <mman.h>.

       Prima di Linux  2.4,  un  tentativo  di  eseguire  un  programma  che  usa  set-user-ID  o
       set-group-ID  su un filesystem montato con MS_NOSUID falliva con EPERM. A partire da Linux
       2.4 la richiesta di set-user-ID e set-group-ID in questo caso è  ignorata  senza  emettere
       messaggi.

   Spazi dei nomi di montaggio
       A  partire  dal  kernel  2.4.19, Linux fornisce spazi dei nomi di montaggio. Lo spazio dei
       nomi di montaggio è l'insieme di montaggi di filesystem che un processo  può  vedere.  Gli
       spazi  dei nomi di montaggio possono essere (e di solito sono) condivisi tra più processi,
       e i cambiamenti provocati da un processo (cioè montaggi e smontaggi) sono visibili a tutti
       i processi che condividano lo stesso spazio dei nomi. (La situazione prima di Linux 2.4.19
       prevedeva che un singolo spazio dei nomi fosse condiviso da tutti i processi nel sistema.)

       Un processo figlio creato da fork(2) condivide lo spazio dei nomi  di  montaggio  del  suo
       genitore: lo spazio dei nomi di montaggio viene preservato se si invoca execve(2).

       Un  processo  può  ottenere  uno  spazio  dei nomi di montaggio privato se: è stato creato
       usando il flag CLONE_NEWNS di clone(), e in questo caso il suo nuovo spazio dei nomi viene
       inizializzato come copia degli spazi dei nomi del processo che ha chiamato clone(); oppure
       se chiama unshare(2) con il flag CLONE_NEWNS,  che  permette  allo  spazio  dei  nomi  del
       chiamante  di  ottenere  una  copia  privata  dello  spazio  dei  nomi  che  in precedenza
       condivideva con altri processi, in modo che chiamate a montaggi e smontaggi  futuri  siano
       invisibili  agli altri processi (ad eccezione di processi figli creati successivamente dal
       chiamante), e viceversa.

       Per ulteriori dettagli sugli spazi dei nomi dei montaggi si veda: mount_namespaces(7).

   Relazioni parentali tra punti di montaggio
       Ogni punto di montaggio ha un punto di montaggio genitore. La relazione globale fra  tutti
       i  punti di montaggio definisce la singola gerarchia delle directory visibile dai processi
       all'interno di uno spazio dei nomi di montaggio.

       Il genitore di un nuovo punto di montaggio viene definito  alla  creazione  del  punto  di
       montaggio. Normalmente, il genitore di un nuovo punto di montaggio è il punto di montaggio
       del filesystem contenente la directory o il file a cui il punto di montaggio è  collegato.
       Nel  caso  in cui un nuovo punto di montaggio sia sovrapposto a un montaggio esistente, il
       genitore del nuovo montaggio è il precedente montaggio che era stato sovrapposto in quella
       posizione.

       La   relazione   parentale   tra  punti  di  montaggio  si  può  vedere  tramite  il  file
       /proc/[pid]/mountinfo (vedi sotto).

   /proc/[pid]/mounts e /proc/[pid]/mountinfo
       Il file specifico di Linux /proc/[pid]/mounts mostra l'elenco dei punti di montaggio negli
       spazi  dei  nomi dei processi con l'ID specificato. Il file /proc/[pid]/mountinfo fornisce
       anche ulteriori informazioni sui punti di montaggio, compreso il tipo  di  propagazione  e
       l'informazione  sull'ID di montaggio, e ciò rende possible scoprire la relazione parentale
       fra i punti di montaggio. Si veda proc(5) e mount_namespaces(7) per i dettagli  di  questo
       file.

VEDERE ANCHE

       mountpoint(1),  chroot(2), ioctl_iflags(2), pivot_root(2), umount(2), mount_namespaces(7),
       path_resolution(7), findmnt(8), lsblk(8), mount(8), umount(8)

COLOPHON

       Questa pagina fa parte del rilascio 5.10 del progetto Linux man-pages. Una descrizione del
       progetto,  le  istruzioni  per la segnalazione degli errori, e l'ultima versione di questa
       pagina si trovano su https://www.kernel.org/doc/man-pages/.

TRADUZIONE

       La traduzione italiana di questa pagina di  manuale  è  stata  creata  da  Giulio  Daprelà
       <giulio@pluto.it>,    Elisabetta    Galli    <lab@kkk.it>,    Antonio   Giovanni   Colombo
       <azc100@gmail.com> e Marco Curreli <marcocurreli@tiscali.it>

       Questa traduzione è documentazione libera; leggere la GNU General Public License  Versione
       3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ o successiva per le condizioni di copyright.
       Non ci assumiamo alcuna responsabilità.

       Per segnalare errori nella traduzione di questa pagina di manuale inviare un  messaggio  a
       pluto-ildp@lists.pluto.it ⟨⟩.