.\" -*- coding: UTF-8 -*- .\" Copyright (C) 1993 Rickard E. Faith .\" and Copyright (C) 1994 Andries E. Brouwer .\" and Copyright (C) 2002, 2005, 2016 Michael Kerrisk .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" Modified 1996-11-04 by Eric S. Raymond .\" Modified 2001-10-13 by Michael Kerrisk .\" Added note on historical behavior of MS_NOSUID .\" Modified 2002-05-16 by Michael Kerrisk .\" Extensive changes and additions .\" Modified 2002-05-27 by aeb .\" Modified 2002-06-11 by Michael Kerrisk .\" Enhanced descriptions of MS_MOVE, MS_BIND, and MS_REMOUNT .\" Modified 2004-06-17 by Michael Kerrisk .\" 2005-05-18, mtk, Added MNT_EXPIRE, plus a few other tidy-ups. .\" 2008-10-06, mtk: move umount*() material into separate umount.2 page. .\" 2008-10-06, mtk: Add discussion of namespaces. .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH MOUNT 2 "21 dicembre 2020" Linux "Manuale del programmatore di Linux" .SH NOME mount \- monta i filesystem .SH SINTASSI .nf \fB#include \fP .PP \fBint mount(const char *\fP\fIsource\fP\fB, const char *\fP\fItarget\fP\fB,\fP \fB const char *\fP\fIfilesystemtype\fP\fB, unsigned long \fP\fImountflags\fP\fB,\fP \fB const void *\fP\fIdata\fP\fB);\fP .fi .SH DESCRIZIONE \fBmount\fP() collega il filesystem specificato da \fIsource\fP (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 \fItarget\fP. .PP Per montare dei filesystem è necessario avere le autorizzazioni adeguate (Linux: la funzionalità \fBCAP_SYS_ADMIN\fP). .PP I valori dell'argomento \fIfilesystemtype\fP supportati dal kernel sono elencati in \fI/proc/filesystems\fP (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. .PP L'argomento \fIdata\fP è interpretato dai differenti filesystem. Tipicamente è una stringa di opzioni, separate da virgole, riconosciute da un determinato filesystem. Vedere \fBmount\fP(8) per dettagli sulle opzioni disponibili per ciascun tipo di filesystem. .PP Una chiamata a \fBmount\fP() esegue una tra le molte operazioni di tipo generale, basandosi sui bit specificati in \fImountflags\fP. La scelta dell'operazione da eseguire è determinata controllando i bit impostati in \fImountflags\fP, effettuando dei test nell'ordine qui elencato: .IP * 3 Rimontare un montaggio già in essere: \fImountflags\fP include \fBMS_REMOUNT\fP. .IP * Creare un montaggio di tipo bind: \fImountflags\fP include \fBMS_BIND\fP. .IP * Cambiare il tipo di propagazione di un montaggio esistente: \fImountflags\fP include uno tra \fBMS_SHARED\fP, \fBMS_PRIVATE\fP, \fBMS_SLAVE\fP o \fBMS_UNBINDABLE\fP. .IP * Spostare un montaggio esistente in una nuova posizione: \fImountflags\fP include \fBMS_MOVE\fP. .IP * Creare un nuovo montaggio: \fImountflags\fP non include nessuno dei flag di cui sopra. .PP .\" Ciascuna di queste operazioni è descritta nel dettaglio più avanti in questa pagina. Ulteriori flag possono essere specificati in \fImountflags\fP per modificare il comportamento di \fBmount\fP(), come'è descritto qua sotto. .SS "Ulteriori flag per il montaggio" .\" .\" FIXME 2.6.25 Added MS_I_VERSION, which needs to be documented. .\" commit 7a224228ed79d587ece2304869000aad1b8e97dd .\" (This is a per-superblock flag) .\" L'elenco seguente descrive i flag aggiuntivi che possono venir specificati in \fImountflags\fP. Si noti che alcuni tipi di operazione ignorano alcuni o tutti questi flag, come descritto più avanti in questa pagina. .TP \fBMS_DIRSYNC\fP (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 \fBchattr\fP(1).) .TP \fBMS_LAZYTIME\fP (a partire da Linux 4.0) .\" commit 0ae45f63d4ef8d8eeec49c7d8b44a1775fff13e8 .\" commit fe032c422c5ba562ba9c2d316f55e258e03259c6 .\" commit a26f49926da938f47561f386be56a83dd37a496d 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: .RS .IP (a) 5 l'inode necessita di un aggiornamento per delle modifiche non correlate alle marcature temporali del file; .IP (b) l'applicazione si serve di \fBfsync\fP(2), \fBsyncfs\fP(2) o \fBsync\fP(2); .IP (c) un inode ancora esistente è estromesso dalla memoria; o .IP (d) son passate più di 24 ore da quando l'inode è stato scritto su disco. .RE .IP 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. .IP 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 \fBMS_STRICTATIME\fP è abilitata. (Il vantaggio di combinare \fBMS_STRICTATIME\fP e \fBMS_LAZYTIME\fP è che \fBstat\fP(2) restituirà il valore di atime correttamente aggiornato, ma gli aggiornamenti di atime verranno trasferiti su disco solo nei casi sopra elencati.) .TP \fBMS_MANDLOCK\fP .\" commit 95ace75414f312f9a7b93d873f386987b92a5301 Consente il blocco obbligatorio sui file in questo filesystem. (Il blocco obbligatorio deve ancora essere abilitato per i singoli file, come descritto in \fBfcntl\fP(2).) A partire da Linux 4.5, quest'opzione di mount richiede la funzionalità \fBCAP_SYS_ADMIN\fP e un kernel configurato con l'opzione \fBCONFIG_MANDATORY_FILE_LOCKING\fP. .TP \fBMS_NOATIME\fP Non aggiorna l'ora di accesso per (tutti i tipi di) file su questo filesystem. .TP \fBMS_NODEV\fP Non permette l'accesso a dispositivi (file speciali) in questo filesystem. .TP \fBMS_NODIRATIME\fP Non aggiorna l'ora di accesso per directory su questo filesystem. Questo flag fornisce un sottoinsieme di funzioni messe a disposizione da \fBMS_NOATIME\fP; vale a dire che \fBMS_NOATIME\fP implica \fBMS_NODIRATIME\fP. .TP \fBMS_NOEXEC\fP .\" (Possibly useful for a filesystem that contains non-Linux executables. .\" Often used as a security feature, e.g., to make sure that restricted .\" users cannot execute files uploaded using ftp or so.) Non permette l'esecuzione di programmi su questo filesystem. .TP \fBMS_NOSUID\fP .\" (This is a security feature to prevent users executing set-user-ID and .\" set-group-ID programs from removable disk devices.) Non onora le funzionalità dei file per impostare i bit set\-user\-ID e set\-group\-ID quando si eseguono programmi da questo filesystem. .TP \fBMS_RDONLY\fP Monta il filesystem in sola lettura. .TP \fBMS_REC\fP (a partire da Linux 2.4.11) Usata insieme a \fBMS_BIND\fP 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. .TP \fBMS_RELATIME\fP (a partire da Linux 2.6.20) .\" Matthew Garrett notes in the patch that added this behavior .\" that this lets utilities such as tmpreaper (which deletes .\" files based on last access time) work correctly. 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 \fBmutt\fP(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 \fBMS_NOATIME\fP), e il flag \fBMS_STRICTATIME\fP è 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. .TP \fBMS_SILENT\fP (a partire da Linux 2.6.17) Sopprime la visualizzazione di alcuni messaggi di avvertimento (\fIprintk\fP()) nelle registrazioni del kernel.Questo flag sostituisce il flag (disponibile da Linux 2.4.12) \fBMS_VERBOSE\fP, che ha lo stesso significato. .TP \fBMS_STRICTATIME\fP (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 \fBMS_NOATIME\fP e \fBMS_RELATIME\fP viene ignorato. .TP \fBMS_SYNCHRONOUS\fP Rende sincrone le scritture su questo filesystem (come se il flag \fBO_SYNC\fP di \fBopen\fP(2) fosse specificata per tutti i file aperti in questo filesystem). .TP \fBMS_NOSYMFOLLOW\fP (a partire da Linux 5.10) .\" dab741e0e02bd3c4f5e2e97be74b39df2523fc6e Non segue i collegamenti simbolici nella risoluzione dei percorsi. I collegamenti simbolici possono essere sempre creati, e \fBreadlink\fP(1), \fBreadlink\fP(2), \fBrealpath\fP(1) e \fBrealpath\fP(3) continueranno a funzionare in modo appropriato. .PP 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.) .PP I flag per singolo punto di montaggio sono i seguenti: .IP * 3 Da Linux 2.4: \fBMS_NODEV\fP, \fBMS_NOEXEC\fP e \fBMS_NOSUID\fP possono essere impostati a livello di ogni singolo punto di montaggio. .IP * Inoltre, dal kernel 2.6.16: \fBMS_NOATIME\fP e \fBMS_NODIRATIME\fP. .IP * Inoltre, da Linux 2.6.20: \fBMS_RELATIME\fP. .PP .\" And MS_I_VERSION? I seguenti flag sono a livello di superblocco: \fBMS_DIRSYNC\fP, \fBMS_LAZYTIME\fP, \fBMS_MANDLOCK\fP, \fBMS_SILENT\fP e \fBMS_SYNCHRONOUS\fP. 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. .PP .\" Da Linux 2.6.16 \fBMS_RDONLY\fP 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. .SS "Rimontare un montaggio esistente" Un montaggio esistente può essere montato di nuovo specificando \fBMS_REMOUNT\fP in \fImountflags\fP. Questo permette di cambiare \fImountflags\fP e i \fIdati\fP di un montaggio già in essere senza dover smontare e rimontare il filesystem. \fItarget\fP deve avere gli stessi valori specificati nella chiamata \fBmount\fP() iniziale. .PP Gli argomenti \fIsource\fP e \fIfilesystemtype\fP sono ignorati. .PP Gli argomenti \fImountflags\fP e \fIdata\fP dovrebbero corrispondere ai valori nella chiamata \fBmount\fP() originale, ad eccezione dei parametri che si desidera modificare. .PP .\" FIXME .\" MS_LAZYTIME seems to be available only on a few filesystems, .\" and on ext4, it seems (from experiment that this flag .\" can only be enabled (but not disabled) on a remount. .\" The following code in ext4_remount() (kernel 4.17) seems to .\" confirm this: .\" .\" if (*flags & SB_LAZYTIME) .\" sb->s_flags |= SB_LAZYTIME; .\" See the definition of MS_RMT_MASK in include/uapi/linux/fs.h, .\" which excludes MS_DIRSYNC and MS_SILENT, although SB_DIRSYNC .\" and SB_SILENT are split out as per-superblock flags in do_mount() .\" (Linux 4.17 source code) I seguenti bit di \fImountflags\fP possono essere modificati: \fBMS_LAZYTIME\fP, \fBMS_MANDLOCK\fP, \fBMS_NOATIME\fP, \fBMS_NODEV\fP, \fBMS_NODIRATIME\fP, \fBMS_NOEXEC\fP, \fBMS_NOSUID\fP, \fBMS_RELATIME\fP, \fBMS_RDONLY\fP, \fBMS_STRICTATIME\fP (il cui effetto è quello di azzerare i flag \fBMS_NOATIME\fP e \fBMS_RELATIME\fP), e \fBMS_SYNCHRONOUS\fP. I tentativi di cambiare l'impostazione del flag \fBMS_DIRSYNC\fP e \fBMS_SILENT\fP 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). .PP .\" commit ffbc6f0ead47fa5a1dc9642b0331cb75c20a640e A partire da Linux 3.17, se nessuno tra \fBMS_NOATIME\fP, \fBMS_NODIRATIME\fP, \fBMS_RELATIME\fP, or \fBMS_STRICTATIME\fP viene specificato in \fImountflags\fP, l'operazione di rimontaggio preserva i valori esistenti di questi flag (piuttosto che impostarli al valore predefinito \fBMS_RELATIME\fP). .PP .\" See https://lwn.net/Articles/281157/ A partire da Linux 2.6.26, il flag \fBMS_REMOUNT\fP può essere usato con \fBMS_BIND\fP 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 \fImountflags\fP come: .PP .in +4n .EX MS_REMOUNT | MS_BIND | MS_RDONLY .EE .in .PP .\" si farà l'accesso attraverso questo punto di montaggio, senza influenzare altri punti di montaggio. .SS "Creare un montaggio di tipo bind" .\" since 2.4.0-test9 Se \fImountflags\fP comprende \fBMS_BIND\fP (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 \fBchroot\fP(2). .PP Gli argomenti \fIfilesystemtype\fP e \fIdata\fP sono ignorati. .PP I restanti bit (diversi da \fBMS_REC\fP, descritto sotto) nell'argomento \fImountflags\fP 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. .PP .\" 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 \fBMS_REC\fP, viene effettuata un'operazione di montaggio di tipo bind ricorsiva: tutti i sottomontaggi nel sottoalbero \fIsource\fP (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 \fItarget\fP. .SS "Cambiare il tipo di condivisione di un montaggio esistente" Se \fImountflags\fP include uno tra \fBMS_SHARED\fP, \fBMS_PRIVATE\fP, \fBMS_SLAVE\fP o \fBMS_UNBINDABLE\fP (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. .PP I soli altri flag che possono essere specificati nel cambiare il tipo di condivisione sono \fBMS_REC\fP (descritto sotto) e \fBMS_SILENT\fP (che viene ignorato). .PP Gli argomenti \fIsource\fP, \fIfilesystemtype\fP e \fIdata\fP sono ignorati. .PP I tipi di condivisione richiesti dai flag hanno il seguente significato: .TP \fBMS_SHARED\fP 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. .TP \fBMS_PRIVATE\fP Rende privato questo punto di montaggio. Gli eventi di montaggio e smontaggio non vengono condivisi dentro o fuori a questo punto di montaggio. .TP \fBMS_SLAVE\fP 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. .IP 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). .IP 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. .TP \fBMS_UNBINDABLE\fP 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 (\fBmount\fP() con i flag \fBMS_BIND\fP e \fBMS_REC\fP) è 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. .PP In modo predefinito, il cambio del tipo di condivisione influisce solo sul punto di montaggio \fItarget\fP. Se viene specificato anche il flag \fBMS_REC\fP in \fImountflags\fP, viene cambiato anche il tipo di condivisione di tutti i punti di montaggio sotto \fItarget\fP. .PP .\" Per ulteriori dettagli sui tipi di condivisione del montaggio (compreso il tipo di condivisione predefinito assegnato ai nuovi montaggi, si veda \fBmount_namespaces\fP(7). .SS "Spostare un montaggio" Se \fImountflags\fP contiene il flag \fBMS_MOVE\fP (disponibile a partire da Linux 2.4.18), viene spostato un sottoalbero: \fIsource\fP specifica un punto di montaggio esistente e \fItarget\fP 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. .PP .\" I rimanenti bit nell'argomento \fImountflags\fP vengono ignorati, poiché essi sono gli argomenti di \fIfilesystemtype\fP e \fIdata\fP. .SS "Creare un nuovo punto di montaggio" Se nessuno di questi flag \fBMS_REMOUNT\fP, \fBMS_BIND\fP, \fBMS_MOVE\fP, \fBMS_SHARED\fP, \fBMS_PRIVATE\fP, \fBMS_SLAVE\fP o \fBMS_UNBINDABLE\fP viene specificato in \fImountflags\fP, \fBmount\fP() esegue la sua azione predefinita: creare un nuovo punto di montaggio. \fIsource\fP specifica l'origine per il nuovo punto di montaggio, e \fItarget\fP specifica la directory nella quale creare il punto di montaggio. .PP .\" Vengono impiegati gli argomenti \fIfilesystemtype\fP e \fIdata\fP, e ulteriori bit possono essere specificati in \fImountflags\fP per modificare il comportamento della chiamata. .SH "VALORE RESTITUITO" In caso di successo restituisce zero. In caso di errore restituisce \-1, e \fIerrno\fP verrà impostato di conseguenza. .SH 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. .TP \fBEACCES\fP Un componente di un percorso non poteva essere acceduto. (Vedere anche \fBpath_resolution\fP(7).) .TP \fBEACCES\fP È stato tentato il montaggio di un filesystem in sola lettura senza dare il flag \fBMS_RDONLY\fP. .IP 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). .IP Alcuni filesystem restituiscono l'errore \fBEROFS\fP su un tentativo di montaggio di un filesystem di sola lettura. .TP \fBEACCES\fP .\" mtk: Probably: write permission is required for MS_BIND, with .\" the error EPERM if not present; CAP_DAC_OVERRIDE is required. Il dispositivo a blocchi \fIsource\fP si trova su un filesystem montato con l'opzione \fBMS_NODEV\fP. .TP \fBEBUSY\fP È 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 \fIsource\fP e \fItarget\fP. .TP \fBEBUSY\fP \fIsource\fP non può essere rimontato in sola lettura, perché contiene ancora file aperti in scrittura. .TP \fBEFAULT\fP Uno dei puntatori agli argomenti punta fuori dallo spazio di indirizzamento dell'utente. .TP \fBEINVAL\fP \fIsource\fP ha un superblocco non valido. .TP \fBEINVAL\fP È stato tentata un'operazione di rimontaggio (\fBMS_REMOUNT\fP), ma \fIsource\fP non era ancora stato montato su \fItarget\fP. .TP \fBEINVAL\fP È stato tentata un'operazione di spostamento (\fBMS_MOVE\fP), ma l'albero di montaggio sotto \fIsource\fP include montaggi non condivisibili (unbindable) e \fItarget\fP è un punto di montaggio che ha una propagazione di tipo \fBMS_SHARED\fP. .TP \fBEINVAL\fP È stata tentata un'operazione di spostamento (\fBMS_MOVE\fP), ma il montaggio del filesystem genitore \fIsource\fP di questo montaggio ha una propagazione di tipo \fBMS_SHARED\fP. .TP \fBEINVAL\fP È stata tentata un'operazione di spostamento (\fBMS_MOVE\fP), ma \fIsource\fP non era un punto di montaggio, o era \(aq/\(aq. .TP \fBEINVAL\fP .\" See commit 8823c079ba7136dc1948d6f6dcb5f8022bde438e È stata richiesta un'operazione di tipo bind (\fBMS_BIND\fP) dove \fIsource\fP fa riferimento a un collegamento \fImagic link\fP dello spazio dei nomi di mount (p.es. un magic link \fI/proc/[pid]/ns/mnt\fP o un montaggio di tipo bind a tale collegamento) e il tipo di propagazione del montaggio genitore di \fItarget\fP era \fBMS_SHARED\fP, 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. .TP \fBEINVAL\fP \fImountflags\fP include più d'uno di questi flag: \fBMS_SHARED\fP, \fBMS_PRIVATE\fP, \fBMS_SLAVE\fP o \fBMS_UNBINDABLE\fP. .TP \fBEINVAL\fP \fImountflags\fP include \fBMS_SHARED\fP, \fBMS_PRIVATE\fP, \fBMS_SLAVE\fP o \fBMS_UNBINDABLE\fP e include anche un flag diverso da \fBMS_REC\fP o \fBMS_SILENT\fP. .TP \fBEINVAL\fP Si è tentato di montare in modalità bind un montaggio non montabile in modalità bind (unbindable mount). .TP \fBEINVAL\fP 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 (\fBMS_BIND\fP) senza specificare (\fBMS_REC\fP), che avrebbe rivelato la posizione dell'albero del filesystem sotto uno dei submontaggi della directory da collegare. .TP \fBELOOP\fP Troppi collegamenti incontrati durante la risoluzione di un percorso. .TP \fBELOOP\fP È stato tentato uno spostamento, mentre \fItarget\fP è discendente (è un sottoalbero) di \fIsource\fP. .TP \fBEMFILE\fP (Nel caso non sia necessario un dispositivo a blocchi:) La tabella dei dispositivi fittizi è piena. .TP \fBENAMETOOLONG\fP Un nome di percorso è più lungo di \fBMAXPATHLEN\fP. .TP \fBENODEV\fP \fIfilesystemtype\fP non configurato nel kernel. .TP \fBENOENT\fP Un nome di percorso era vuoto o aveva un componente inesistente. .TP \fBENOMEM\fP Il kernel non può allocare una pagina libera in cui copiare nomi di file o dati. .TP \fBENOTBLK\fP \fIsource\fP non è un dispositivo a blocchi (ed era necessario un dispositivo di questo tipo). .TP \fBENOTDIR\fP \fItarget\fP, o un prefisso di \fIsource\fP, non è una directory. .TP \fBENXIO\fP Il "numero principale" del dispositivo a blocchi \fIsource\fP è fuori limite. .TP \fBEPERM\fP Il chiamante non ha i privilegi necessari. .TP \fBEROFS\fP Si è tentato di montare un filesystem di sola lettura senza specificare il flag \fBMS_RDONLY\fP. Si veda \fBEACCES\fP, sopra. .SH VERSIONI .\" Le definizioni di \fBMS_DIRSYNC\fP, \fBMS_MOVE\fP, \fBMS_PRIVATE\fP, \fBMS_REC\fP, \fBMS_RELATIME\fP, \fBMS_SHARED\fP, \fBMS_SLAVE\fP, \fBMS_STRICTATIME\fP e \fBMS_UNBINDABLE\fP sono state aggiunte alle intestazioni di glibc nella versione 2.12. .SH "CONFORME A" Questa funzione è specifica di Linux e non deve essere usata in programmi pensati per essere portabili. .SH NOTE .\" Multiple mounts on same mount point: since 2.3.99pre7. 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. .PP L'argomento \fImountflags\fP può avere il "magic number" 0xC0ED (\fBMS_MGC_VAL\fP) nei 16 bit più alti. (Tutti gli altri flag visti in DESCRIZIONE occupano i 16 bit meno significativi di \fImountflags\fP.) Specificare \fBMS_MGC_VAL\fP era necessario nelle versioni di kernel precedenti alla 2.4, ma dalla 2.4 non è più necessario ed è ignorato se specificato. .PP Il flag originale \fBMS_SYNC\fP è stato rinominato \fBMS_SYNCHRONOUS\fP in 1.1.69 quando è stato aggiunto un diverso \fBMS_SYNC\fP a \fI\fP. .PP .\" The change is in patch-2.4.0-prerelease. .\" 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 \fBMS_NOSUID\fP falliva con \fBEPERM\fP. A partire da Linux 2.4 la richiesta di set\-user\-ID e set\-group\-ID in questo caso è ignorata senza emettere messaggi. .SS "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.) .PP Un processo figlio creato da \fBfork\fP(2) condivide lo spazio dei nomi di montaggio del suo genitore: lo spazio dei nomi di montaggio viene preservato se si invoca \fBexecve\fP(2). .PP Un processo può ottenere uno spazio dei nomi di montaggio privato se: è stato creato usando il flag \fBCLONE_NEWNS\fP di \fBclone\fP(), e in questo caso il suo nuovo spazio dei nomi viene inizializzato come \fIcopia\fP degli spazi dei nomi del processo che ha chiamato \fBclone\fP(); oppure se chiama \fBunshare\fP(2) con il flag \fBCLONE_NEWNS\fP, 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. .PP .\" Per ulteriori dettagli sugli spazi dei nomi dei montaggi si veda: \fBmount_namespaces\fP(7). .SS "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. .PP 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. .PP .\" La relazione parentale tra punti di montaggio si può vedere tramite il file \fI/proc/[pid]/mountinfo\fP (vedi sotto). .SS "/proc/[pid]/mounts e /proc/[pid]/mountinfo" Il file specifico di Linux \fI/proc/[pid]/mounts\fP mostra l'elenco dei punti di montaggio negli spazi dei nomi dei processi con l'ID specificato. Il file \fI/proc/[pid]/mountinfo\fP 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 \fBproc\fP(5) e \fBmount_namespaces\fP(7) per i dettagli di questo file. .SH "VEDERE ANCHE" \fBmountpoint\fP(1), \fBchroot\fP(2), \fBioctl_iflags\fP(2), \fBpivot_root\fP(2), \fBumount\fP(2), \fBmount_namespaces\fP(7), \fBpath_resolution\fP(7), \fBfindmnt\fP(8), \fBlsblk\fP(8), \fBmount\fP(8), \fBumount\fP(8) .SH COLOPHON Questa pagina fa parte del rilascio 5.10 del progetto Linux \fIman\-pages\fP. 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/. .SH TRADUZIONE La traduzione italiana di questa pagina di manuale è stata creata da Giulio Daprelà , Elisabetta Galli , Antonio Giovanni Colombo e Marco Curreli . Questa traduzione è documentazione libera; leggere la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Versione 3 .UE 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 .MT pluto-ildp@lists.pluto.it .ME .