Provided by: manpages-it_3.73-2_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 dispositivo, ma può anche
       essere un nome di directory o un nome fittizio) alla directory specificata da target.

       Sono necessari privilegi appropriati (Linux: capacità CAP_SYS_ADMIN) per montare i filesystem.

       A partire da Linux 2.4 un singolo filesystem può essere visibile su punti  di  mount  multipli,  e  sullo
       stesso punto di mount possono essere impilati montaggi multipli.

       I  valori  dell'argomento  filesystemtype supportati dal kernel sono elencati in /proc/filesystems (p.es,
       "minix", "ext2", "ext3", "jfs", "xfs", "reiserfs", "msdos", "proc",  "nfs",  "iso9660").  Possono  essere
       disponibili altri tipi di filesystem caricando i moduli appropriati.

       L'argomento  mountflags può avere il magic number 0xC0ED (MS_MGC_VAL) nei 16 bit più alti (era necessario
       nelle versioni di kernel precedenti a 2.4, ma non è più necessario ed è ignorato se specificato), e  vare
       opzioni di montaggio nei 16 bit di ordine basso:

       MS_BIND (da Linux 2.4 in poi)
              Esegue un montaggio bind, rendendo un file o un sottoalbero di directory visibile a un altro punto
              dentro  un  filesystem. I montaggi bind possono attraversare i filesystem e oltrepassare le gabbie
              chroot(2). Gli argomenti filesystemtype e data  sono  ignorati.  A  partire  da  Linux  2.6.26,  è
              ignorato anche mountflags (i montaggi bind hanno le stesse opzioni di montaggio del punto di mount
              sottostante).

       MS_DIRSYNC (a partire da Linux 2.5.19)
              Sincronizza i cambiamenti di directory in questo filesystem. (Questa proprietà può essere ottenuta
              per directory individuali o sottoalberi usando chattr(1).)

       MS_MANDLOCK
              Permette il blocco obbligatorio sui file in questo filesystem. (Il blocco obbligatorio deve sempre
              essere abilitato in base ai file, come descritto in fcntl(2).)

       MS_MOVE
              Sposta  un  sottoalbero.  source specifica un punto di mount esistente e target specifica la nuova
              posizione. Lo spostamento è atomico: il sottoalbero non viene  smontato  in  nessun  momento.  Gli
              argomenti filesystemtype, mountflags, e data sono ignorati.

       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. Questa opzione 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 i bit set-user-ID e set-group-ID quando si eseguono programmi da questo filesystem.

       MS_RDONLY
              Monta filesystem in sola lettura.

       MS_RELATIME (A partire da Linux 2.6.20)
              Quando  si  accede a un file in questo filesystem, aggiorna solo l'ora dell'ultimo accesso al file
              (atime) 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). Questa opzione è utile per programmi
              come mutt(1), che hanno bisogno di sapere quando un file è stato  letto  dall'ultima  modifica.  A
              partire da Linux 2.6.30, il kernel rende predefinito il comportamento fornito da questa opzione (a
              meno  che  non  sia  stata  specificato  MS_NOATIME),  e  l'opzione MS_STRICTATIME è richiesta per
              ottenere la tradizionale semantica. Inoltre, a partire  da  Linux  2.6.30,  il  tempo  dell'ultimo
              accesso al file viene sempre aggiornato se è trascorso più di 1 giorno.

       MS_REMOUNT
              Monta  di  nuovo  un  montaggio  esistente.  Questo  permette  di  cambiare mountflag e dati di un
              montaggio esistente senza dover smontare e rimontare il filesystem. source e target  devono  avere
              gli  stessi  valori  specificati  nella  chiamata  mount()  iniziale; source e filesystemtype sono
              ignorati. Gli argomenti mountflags e  data  dovrebbero  corrispondere  ai  valori  nella  chiamata
              mount() originale, ad eccezione di quei parametri cambiati deliberatamente.

              I  seguenti  mountflag  possono essere cambiati: MS_RDONLY, MS_SYNCHRONOUS, MS_MANDLOCK; prima del
              kernel 2.6.16 potevano essere cambiati  anche  i  seguenti:  MS_NOATIME  e  MS_NODIRATIME;  e,  in
              aggiunta,  prima  del  kernel  2.4.10, potevano essere cambiati anche questi: MS_NOSUID, MS_NODEV,
              MS_NOEXEC.

       MS_SILENT (a partire da Linux 2.6.17)
              Sopprime la visualizzazione di alcuni messaggi di avvertimento (printk()) nelle registrazioni  del
              kernel.  Questa  opzione  sostituisce l'opzione MS_VERBOSE, obsoleta e chiamata nel modo sbagliato
              (disponibile da Linux 2.4.12), 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
              accessibili.  (Questo era il comportamento predefinito prima di Linux 2.6.30.) Specificando questa
              opzione l'effetto dell'impostazione delle opzioni MS_NOATIME e MS_RELATIME viene ignorato.

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

       Da  Linux  2.4 in poi, le opzioni MS_NODEV, MS_NOEXEC, e MS_NOSUID possono essere impostate basandosi sul
       punto di mount. Dal kernel 2.6.16 in poi, MS_NOATIME e MS_NODIRATIME possono essere  impostate  basandosi
       sui punti di mount. Anche l'opzione MS_RELATIME può essere impostata basandosi sui punti di mount.

       L'argomento  data  è interpretato da differenti filesystem. Tipicamente è una stringa di opzioni separate
       da virgole capita da questo filesystem. Vedere  mount(8)  per  dettagli  delle  opzioni  disponibili  per
       ciascun tipo di filesystem.

VALORE RESTITUITO

       In  caso  di  successo  viene  restituito  zero.  In  caso  di errore viene restituito -1 , e errno viene
       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 cercato. (Vedere anche path_resolution(7).)  Oppure
              è  stato  tentato  il  montaggio di un filesystem in sola lettura senza dare l'opzione MS_RDONLY .
              Oppure il dispositivo a blocchi source si trova su un filesystem montato con l'opzione MS_NODEV

       EBUSY  source è già montato. Oppure non può essere rimontato in sola lettura, perché contiene ancora file
              aperti in scrittura. Oppure non può essere montato su target perché target è ancora occupato (è la
              directory di lavoro di qualche task, il punto di mount di un altro dispositivo,  ha  file  aperti,
              ecc.).

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

       EINVAL source ha un superblocco non valido. Oppure è stato tentato un rimontaggio (MS_REMOUNT), ma source
              non  era ancora montato su target. Oppure è stato tentato uno spostamento (MS_MOVE), ma source non
              era un punto di mount, o era '/'.

       ELOOP  Troppi collegamenti incontrati durante la risoluzione di un percorso. Oppure è stato  tentato  uno
              spostamento, mentre target è discendente 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).

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

       ENXIO  Il major number del dispositivo a blocchi source è fuori limite.

       EPERM  Il chiamante non ha i privilegi necessari.

VERSIONI

       Le definizioni di MS_DIRSYNC, MS_MOVE, MS_REC, MS_RELATIME, e MS_STRICTATIME  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

       L'opzione  originale MS_SYNC fu rinominata MS_SYNCHRONOUS in 1.1.69 quando fu aggiunto un diverso MS_SYNC
       a <mman.h>.

       Prima di Linux 2.4, un tentativo di eseguire un programma set-user-ID o  set-group-ID  su  un  filesystem
       montato  con  MS_NOSUID  falliva  con  EPERM.  A partire da Linux 2.4 i bit set-user-ID e set-group-ID in
       questo caso sono ignorati silenziosamente.

   Spazi dei nomi in base al processo
       A partire dal kernel 2.4.19, Linux fornisce spazi dei nomi di montaggio in base al processo.  Uno  spazio
       dei  nomi  di  montaggio  è l'insieme di montaggi di filesystem che un processo può vedere. Gli spazi dei
       nomi dei punti di mount possono essere (e di solito  lo  sono)  condivisi  tra  processi  multipli,  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 pre-2.4.19 prevedeva che un  singolo
       spazio dei nomi venisse 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 tramite un execve(2).

       Un processo può ottenere uno spazio dei nomi di montaggio privato se: è stato creato usando l'opzione  di
       clone()  CLONE_NEWNS,  e in questo caso il suo nuovo spazio dei nomi viene inizializzato come copia degli
       spazi dei nomi del processo che ha chiamato clone(): o se chiama unshare(2)  con  l'opzione  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.

       Il file specifico di Linux /proc/PID/mounts mostra l'elenco di punti di mount negli spazi  dei  nomi  dei
       processi con l'ID specificato. Vedere proc(5) per i dettagli.

VEDERE ANCHE

       lsblk(1), umount(2), namespaces(7), path_resolution(7), mount(8), umount(8)

COLOPHON

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

       La  versione  italiana  fa  parte  del  pacchetto  man-pages-it  v.  3.73, a cura di: ILDP "Italian Linux
       Documentation Project" http://www.pluto.it/ildp
       Per la traduzione in italiano si può fare riferimento a http://www.pluto.it/ildp/collaborare/
       Segnalare eventuali errori di traduzione a ildp@pluto.it

Linux                                              2014-09-21                                           MOUNT(2)