mount
monta i filesystem
- Provided by: manpages-it (Version: 3.73-2)
- Source: man-pages-it
- Report a bug
monta i filesystem
#include <sys/mount.h>
int mount(const char *source, const char *target,
const char *filesystemtype, unsigned long mountflags,
const void *data);
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:
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.
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.
In caso di successo viene restituito zero. In caso di errore viene restituito -1 , e errno viene impostato di conseguenza.
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.
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.
Questa funzione è specifica di Linux e non deve essere usata in programmi pensati per essere portabili.
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.
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.
lsblk(1), umount(2), namespaces(7), path_resolution(7), mount(8), umount(8)
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