Provided by: manpages-it-dev_4.27.0-1_all bug

NOME

       mount - monta i filesystem

LIBRERIA

       Libreria C standard (libc, -lc)

SINTASSI

       #include <sys/mount.h>

       int mount(const char *source, const char *target,
                 const char *filesystemtype, unsigned long mountflags,
                 const void *_Nullable 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. Questo argomento può essere specificato come NULL, se non  ci
       sono opzioni.

       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:

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

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

              •  un inode ancora esistente è estromesso dalla memoria; o

              •  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.  Il  blocco   obbligatorio   è   stato   definitivamente
              abbandonato in Linux 5.15, quindi questa opzione va considerata deprecata.

       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  rispettare  i  bit  set-user-ID  e  set-group-ID  o  la "file capability" quando di esegue un
              programma  da  questo  file  system.  Inoltre  le  transizioni  di  dominio   SELinux   richiedono
              l'autorizzazione    nosuid_transition,    che    a    sua    volta    richiede   la   funzionalità
              nnp_nosuid_transition.

       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

       permetterà l'accesso attraverso questo punto di montaggio in sola lettura, 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.  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. Altrimenti, il tipo di condivisione  del  punto  di  montaggio
              rimane invariato.

              Quando  un  punto  di  montaggio  è  asservito  ad  altri, 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 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 sotto
       albero: 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 sotto albero non viene mai smontato.

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

   Creare un 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 per
       indicare l'errore.

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.

       EPERM  È stata tentata la modifica (MS_REMOUNT) dei flag MS_RDONLY, MS_NOSUID o MS_NOEXEC, o uno dei flag
              "atime"  (MS_NOATIME, MS_NODIRATIME, MS_RELATIME) di un montaggio esistente, ma questo è bloccato;
              vedere mount_namespaces(7).

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

CONFORME A

       Linux.

STORIA

       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.

       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.

NOTE

   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),   FS_IOC_SETFLAGS(2const),   mount_setattr(2),   pivot_root(2),    umount(2),
       mount_namespaces(7), path_resolution(7), findmnt(8), lsblk(8), mount(8), umount(8)

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>,   Marco   Curreli
       <marcocurreli@tiscali.it> e Giuseppe Sacco <eppesuig@debian.org>

       Questa  traduzione è documentazione libera; leggere la GNU General Public License Versione 3 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.

Linux man-pages 6.9.1                            13 giugno 2024                                         mount(2)