Provided by:
manpages-it_0.3.4-5_all 
NOME
mount - monta un file system
SINTASSI
mount [-hV]
mount -a [-fnrvw] [-t tipo_fs]
mount [-fnrvw] [-o opzioni [,...]] device | dir
mount [-fnrvw] [-t tipo_fs] [-o opzioni] device dir
DESCRIZIONE
Tutti i file accessibili in un sistema Unix sono raggruppati in un
unico grande albero, la gerarchia dei file (file hierarchy), con radice
in /. Questi file possono essere disseminati in diversi dispositivi
(device). Il comando mount serve per attaccare il file system che si
trova su di un qualche device all’albero dei file principale.
Viceversa, il comando umount(8) li staccherà.
La forma standard del comando mount è
mount -t tipo device dir
Ciò dice al kernel di attaccare il file system situato su device (il
cui tipo è tipo) alla directory dir. Il contenuto precedente (se
c’era), il proprietario e il mode di dir diventano invisibili, e fin
tanto che il file system rimane montato, il percorso dir riferirà alla
radice del filesystem su device.
Le seguenti tre forme di chiamata non montano niente:
mount -h
mostra un messaggio d’aiuto;
mount -V
mostra la versione; e
mount [-t tipo]
da solo elenca tutti i file system montati (di tipo tipo) - si veda
sotto.
Il file system proc non è associato con uno special device, e quando lo
si monta una parola chiave arbitraria, come ad esempio proc, può essere
usata invece del percorso o della specifica del device (la scelta
abituale none è la meno fortunata: il messaggio d’errore ‘none busy’,
restituito da umount, potrebbe essere confuso).
Molti device sono identificati da un nome di file (di un device
speciale a blocchi), come /dev/sda1, ma ci sono anche altre
possibilità. Per esempio, nel caso di un mount di un NFS, il device
potrebbe essere del tipo knuth.cwi.nl:/dir.
Il file /etc/fstab (si veda fstab(5)), può contenere delle righe che
descrivono quali device sono montati di solito, dove e usando quali
opzioni. Questo file è usato in tre modi:
(i) Il comando
mount -a [-t tipo]
(usualmente dato nello script di boot) fa sì che tutti i file system
menzionati in fstab (del tipo specificato) siano montati come indicato,
ad eccezione di quelli la cui riga contiene la parola chiave noauto.
(ii) Quando si monta un file system menzionato in fstab, è sufficiente
dare solo il device, o solo in mount point.
(iii) Normalmente, solo il superuser può montare file system. Comunque,
quando fstab contiene l’opzione user su di una riga, allora ognuno può
montare il file system corrispondente.
Quindi, mettendo una riga
/dev/cdrom /cd iso9660 ro,user,noauto,unhide
qualsiasi utente può montare il file system iso9660 che si trova sul
suo CDROM usando il comando
mount /dev/cdrom
oppure
mount /cd
Per maggiori dettagli, si veda fstab(5).
I programmi mount e umount mantengono una lista dei file system
attualmente montati nel file /etc/mtab. Se a mount non è dato nessun
argomento, è mostrata questa lista. Quando è montato il file system
proc (diciamo in /proc), i file /etc/mtab e /proc/mounts hanno
contenuto molto simile. Il primo ha qualche informazione in più, come
le opzioni di mount usate, ma non è necessariamente aggiornato (Cfr.
con l’opzione -n più avanti).
OPZIONI
L’intero insieme delle opzioni usate da una chiamata di mount è
determinato per prima cosa estraendo le opzioni per il file system
della tabella fstab, poi applicando qualsiasi opzione specificata
dall’argomento di -o, e alla fine applicando un’opzione -r o -w, quando
presente.
Opzioni disponibili per il comando mount:
-v Verbose mode.
-f Viene fatto tutto tranne l’effettiva system call, cioè fa solo
finta di montare il file system. Questa opzione è utile assieme
all’opzione -v per determinare stia provando a fare il comando
mount.
-n Monta senza scrivere in /etc/mtab. Ciò è necessario ad esempio
quando /etc è un file system a sola lettura.
-r Monta il file system per la sola lettura (read-only). Un
sinonimo è -o ro.
-w Monta il file system per la lettura e la scrittura (read/write).
Un sinonimo è -o rw.
-t tipo_fs
L’argomento che segue il -t è usato per indicare il tipo di file
system. I file system che sono attualmente supportati sono
elencati in linux/fs/filesystems.c: minix, ext, ext2, xiafs,
hpfs, fat, msdos, umsdos, vfat, proc, nfs, iso9660, smb, ncp,
affs, ufs, sysv, xenix, coherent. Si noti che gli ultimi tre
sono equivalenti e che xenix e coherent saranno rimossi in un
prossimo futuro — si consiglia di usare "sysv".
Il tipo iso9660 è quello di default. Se non è data l’opzione -t,
o se è specificato il tipo auto, viene analizzato il superblocco
per determinare il tipo del file system (sono supportati minix,
ext, ext2, xia, iso9660). Se quest’analisi fallisce ed esiste
/proc/filesystems, allora saranno provati tutti i file system lì
elencati, ad eccezione di quelli che sono etichettati "nodev"
(p.es., proc e nfs).
Si noti che il tipo auto potrebbe essere utile per i dischetti
montati dagli utenti. Attenzione: l’analisi sfrutta una tecnica
euristica (la presenza di un ‘numero magico’ appropriato) e
potrebbe riconoscere il tipo di file system sbagliato.
Più di un tipo di file system può essere specificato con una
lista di tipi separati da virgole. La lista di file system può
essere preceduta da no per specificare i tipi di file system sui
quali non deve essere intrapresa alcuna azione (ciò può tornare
utile con l’opzione -a).
Per esempio, il comando:
mount -a -t nomsdos,ext
monta tutti i file system ad eccezioni di quelli di tipo msdos e
ext.
-o Le opzioni sono specificate con un flag -o seguito da una
stringa di opzioni separate da virgole. Alcune di queste
opzioni sono utili solo quando compaiono nel file /etc/fstab.
Le seguenti opzioni sono applicabili a qualsiasi file system che
stia per essere montato:
async Tutte le operazioni di I/O del file system devono essere
fatte in modo asincrono.
auto Può essere montato con l’opzione -a.
defaults
Usa le opzioni di default: rw, suid, dev, exec, auto,
nouser, e async.
dev Interpreta i device speciali a caratteri o a blocchi del
file system.
exec Permette l’esecuzione dei file binari.
noauto Può essere montato solo esplicitamente (cioè l’opzione -a
non causa il mount del file file system).
nodev Non interpreta i device speciali a caratteri o a blocchi
del file system. Questa opzione è utile per un server
che abbia file system contenenti device speciali per
architetture diverse dalla sua.
noexec Non permette l’esecuzione di nessun file binario sul file
system montato. Questa opzione è utile per un server che
abbia file system contenenti file binari per architetture
diverse dalla sua.
nosuid Disabilita gli effetti dei bit set-user-identifier o set-
group-identifier.
nouser Proibisce ad un utente normale (cioè, non root) di
montare il file system.
remount
Prova a rimontare un file system già montato. È
comunemente usata per cambiare i mount flag di un file
system, soprattutto per rendere un file system a sola
lettura scrivibile.
ro Monta il file system per la sola lettura (read-only).
rw Monta in file system con permessi di lettura e scrittura
(read-write).
suid Abilita le funzionalità dei bit set-user-identifier o
set-group-identifier.
sync Tutte le operazioni di I/O del file system devono essere
fatte in modo sincrono.
user Permette ad un utente normale di montare il file system.
Questa opzione implica anche le opzioni noexec, nosuid, e
nodev (finché ciò non sia cambiato dal superuser usando,
ad esempio, la seguente riga di opzioni:
user,exec,dev,suid).
OPZIONI PER IL MOUNT DI SPECIFICI FILESYSTEM
Le seguenti opzioni si applicano solo a certi file system. Sono
ordinate per file system. Seguono tutte il flag -o.
Opzioni di mount per affs
uid=valore e gid=valore
Imposta il proprietario e il gruppo della radice del file system
(default: uid=gid=0, ma con l’opzione uid o gid senza
specificare un valore, sono presi l’uid e il gid del processo
corrente).
setuid=valore e setgid=valore
Imposta il proprietario e il gruppo per tutti i file.
mode=valore
Imposta il mode di tutti i file pari valore & 0777 non
considerando i permessi originali. Aggiunge il permesso di
ricerca alle directory che hanno il permesso di lettura. Valore
va dato in ottale.
protect
Non permette nessun cambiamento ai bit di protezione sul file
system.
usemp Imposta uid e gid della radice del file system all’uid e al gid
del mount point fino al primo sync o umount, o poi toglie questa
opzione. Strana...
verbose
Mostra un messaggio informativo per ogni mount che ha successo.
prefix=stringa
Prefisso usato prima del nome del volume, quando si segue un
link.
volume=stringa
Prefisso (lungo al più 30) usato prima di ’/’ quando si segue un
link simbolico.
reserved=valore
(predefinito: 2). Numero di blocchi non usati all’inizio del
dispositivo.
root=valore
Imposta esplicitamente la posizione del blocco root.
bs=valore
Imposta la dimensione dei blocchi. I valori permessi sono 512,
1024, 2048, 4096.
grpquota / noquota / quota / usrquota
Queste opzioni sono accettate ma ignorate.
Opzioni di mount per coherent
Nessuna.
Opzioni di mount per ext
Nessuna. Si noti che il file system ‘ext’ è obsoleto. Non usarlo.
Opzioni di mount per ext2
Il file system ‘ext2’ è il file system standard di Linux. A causa di
un kernel bug, può essere montato con opzioni di mount a caso (Linux
2.0).
bsddf / minixdf
Imposta il comportamento della system call statfs. Il
comportamento minixdf è di ritornare nel campo f_blocks il
numero totale dei blocchi del file system, mentre il
comportamento bsddf (quello predefinito) è di sottrarre i
blocchi in sovrappiù usati dal file system ext2 e non
disponibili per il salvataggio dei file. Quindi
% mount /k -o minixdf; df /k; umount /k
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/sda6 2630655 86954 2412169 3% /k
% mount /k -o bsddf; df /k; umount /k
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/sda6 2543714 13 2412169 0% /k
Si noti che questo esempio mostra che uno può aggiungere opzioni sulla
riga di comando alle opzioni date in /etc/fstab.
check / check=normal / check=strict
Imposta il livello di verifica. Quando almeno una di queste
opzioni è impostata (check=normal è impostata di default) gli
inode e le bitmap di blocco sono verificati mentre si fa un
mount (ciò può prendere anche mezzo minuto su dischi grandi).
Con la verifica strict, la deallocazione dei blocchi verifica
che il blocco da liberare sia nella zona dati.
check=none / nocheck
Non è fatta alcuna verifica.
debug Mostra informazioni diagnostiche durante ogni (re)mount.
errors=continue / errors=remount-ro / errors=panic
Definisce il comportamento quando è incontrato un errore (o
ignora l’errore e marca solo il file system erroneo e continua,
o rimonta il file system in sola lettura, oppure va in panico e
blocca il sistema). Il default è impostato nel superblocco del
file system, e può essere cambiato usando tune2fs(8).
grpid o bsdgroups / nogrpid o sysvgroups
Queste opzioni definiscono quale group id dare a un nuovo file
creato. Quando è impostato grpid, prende il group id della
directory nella quale è creato; altrimenti (il default) è preso
il fsgid del processo corrente, fino a che la directory non
abbia il bit setgid impostato nel qual caso è preso il gid della
parent directory, e ottiene anche il bit setgid impostato se
pure lui è una directory.
resgid=n e resuid=n
Il file system ext2 riserva una certa percentuale dello spazio
disponibile (di default il 5%, vedere mke2fs(8) e tune2fs(8)).
Queste opzioni determinano chi può usare i blocchi riservati
(praticamente chiunque abbia l’uid specificato, o appartenga al
gruppo specificato).
sb=n Invece del blocco 1, usa il blocco n come superblocco. Ciò può
essere utile quando il filesystem è danneggiato. Di solito,
copie del superblocco si trovano ogni 8192 blocchi: nei blocchi
1, 8193, 16385, ... (quindi, uno ha centinaia e persino
migliaia di copie del superblocco su un grande filesystem. Non
conosco le opzioni di mke2fs che possono causare la scrittura di
meno copie).
grpquota / noquota / quota / usrquota
Queste opzioni sono accettate ma ignorate.
Opzioni di mount per fat
blocksize=512 / blocksize=1024
Imposta la dimensione dei blocchi (il valore di default è 512).
uid=valore e gid=valore
Imposta il proprietario e il gruppo per tutti i file (default:
l’uid e il gid del processo corrente).
umask=valore
Imposta l’umask (la bitmask dei permessi che non sono presenti).
Il default è l’umask del processo corrente. Il valore va dato in
ottale.
check=valore
Possono essere scelti tre diversi livelli:
r[elaxed]
Maiuscole e minuscole sono considerate equivalenti, le
parti lunghe dei nomi sono troncate (p.es.
verylongname.foobar diventa verylong.foo), spazi iniziali
e interni sono accettati in ognuna delle parti del nome
(nome e estensione).
n[ormal]
Come "relaxed", ma sono rifiutati molti caratteri
speciali (*, ?, <, spazi, ecc.). È il default.
s[trict]
Come "normal", ma i nomi non possono contenere parti
lunghe e sono rifiutati i caratteri speciali che sono
usati talvolta in Linux, ma che non sono accettati da MS-
DOS (+, =, spazi, ecc.).
conv=b[inary] / conv=t[ext] / conv=a[uto]
Il file system fat può effettuare la conversione CRLF<-->NL
(formato testo MS-DOS in formato testo UNIX) nel kernel. Sono
disponibili i seguenti modi di conversione:
binary non è fatta alcuna conversione. Questo è il default.
text la conversione CRLF<-->NL è effettuata su tutti i file.
auto la conversione CRLF<-->NL è effettuata su tutti i file
che non hanno una estensione binaria "nota". La lista
delle estensioni note può essere trovata all’inizio di
fs/fat/misc.c (per il 2.0, la lista è: exe, com, bin,
app, sys, drv, ovl, ovr, obj, lib, dll, pif, arc, zip,
lha, lzh, zoo, tar, z, arj, tz, taz, tzp, tpz, gz, tgz,
deb, gif, bmp, tif, gl, jpg, pcx, tfm, vf, gf, pk, pxl,
dvi).
Ai programmi che fanno calcoli con lseek può non piacere la
conversione del testo nel kernel. Molte persone hanno avuto i
loro dati rovinati da questa trasformazione. Attenzione!
Per i file system montati in modo binary, è disponibile un tool
di conversione (fromdos/todos).
debug Abilita il flag debug. Saranno stampate le versione e una lista
dei parametri del file system (questi dati sono stampati anche
se i parametri sembrano essere inconsistenti).
fat=12 / fat=16
Specifica una fat a 12 bit oppure a 16 bit. Ciò prevale sulla
routine di rilevazione automatica del tipo di FAT. Usare con
cautela!
quiet Abilita il flag quiet. Tentativi di chown o chmod su file non
restituiscono errori, sebbene falliscano. Usare con cautela!
sys_immutable, showexec, dots, nodots, dotsOK=[yes|no]
Vari tentativi malcondotti di forzare convenzioni Unix o DOS su
un file system FAT.
Opzioni di mount per hpfs
uid=valore e gid=valore
Imposta il proprietario e il gruppo per tutti i file (default:
l’uid e il gid del processo corrente).
umask=valore
Imposta l’umask (la bitmask dei permessi che non sono presenti).
Il default è l’umask del processo corrente. Il valore va dato in
ottale.
case=lower / case=asis
Converte tutti i nomi di file in minuscolo, o li lascia
inalterati (default: case=lower).
conv=binary / conv=text / conv=auto
Con conv=text, quando legge un file cancella alcuni CR (in
particolare, tutti quelli seguiti da NL). Con conv=auto, ha un
comportamento più o meno intermedio tra conv=binary e conv=text.
Con conv=binary, legge solo quello che c’è nel file. Questo è il
default.
nocheck
Non ferma il mount quando falliscono certe verifiche sulla
consistenza.
Opzioni di mount per iso9660
Normalmente i nomi di file iso9660 appaiono nel formato 8.3 (cioè,
restrizioni sulla lunghezza dei nomi di file come il DOS), e inoltre
tutti i caratteri sono maiuscoli. Non c’è inoltre alcun campo per il
proprietario del file, la protezione, il numero di link, supporto per
device a blocchi o a carattere, ecc.
Rock Ridge è un estensione a iso9660 che fornisce tutte queste
caratteristiche Unix-like. In pratica ci sono estensioni ad ogni record
di directory che forniscono le informazioni addizionali, e quando è in
uso il Rock Ridge il filesystem è indistinguibile da un normale file
system Unix (a parte il fatto che, ovviamente, è di sola lettura).
norock Disabilita l’uso delle estensioni Rock Ridge, anche se
disponibili. Cfr. map.
check=r[elaxed] / check=s[trict]
Con check=relaxed, un nome di file è convertito in minuscolo
prima di essere cercato. Probabilmente questa ha senso solo
assieme a norock e map=normal (default: check=strict).
uid=valore e gid=valore
Assegna a tutti i file nel file system lo user e il group id
indicati, trascurando le infomazioni trovate nelle estensioni
Rock Ridge (default: uid=0,gid=0).
map=n[ormal] / map=o[ff]
Per i volumi non-Rock Ridge, le normali mappe di traduzione dei
nomi da caratteri ASCII maiuscoli in minuscoli, trascurano il
‘;1’ finale, e convertono ‘;’ in ‘.’. Con map=off non è fatta
alcuna traduzione dei nomi. Si veda norock (default:
map=normal).
mode=valore
Per i volumi non-Rock Ridge, assegna a tutti i file il mode
indicato (default: permesso di lettura per tutti).
unhide Mostra anche i file nascosti e associati.
block=[512|1024|2048]
Imposta la dimensione dei blocchi al valore indicato (default:
block=1024).
conv=a[uto] / conv=b[inary] / conv=m[text] / conv=t[ext]
(default: conv=binary). A partire da Linux 1.3.54 questa
opzione non ha più alcun effetto (impostare a qualcosa di
diverso da binary può risultare molto pericoloso e spesso porta
a corruzioni dei dati inaspettate).
cruft Se il byte alto della dimensione del file contiene altre
"porcherie", si imposti questa opzione di mount per ignorare i
bit di ordine più elevato della dimensione del file. Ciò implica
che un file non può essere più grande di 16MB. L’opzione ‘cruft’
è impostata automaticamente se l’intero CDROM ha una dimensione
bizzarra (negativa, o maggiore di 800MB). È impostata anche
quando sono trovati volume sequence number diversi da 0 o 1.
Opzioni di mount per minix
Nessuna.
Opzioni di mount per msdos
Si vedano le opzioni di mount per fat. Se il file system msdos rileva
un inconsistenza, riporta un errore e imposta il file system in sola
lettura. Il file system può essere reso ancora scrivibile rimontandolo.
Opzioni di mount per ncp
Proprio come per l’nfs, l’implementazione di ncp si aspetta un
argomento binario (di tipo struct ncp_mount_data) per la system call
mount. Tale argomento è costruito da ncpmount(8) e la versione corrente
di mount (2.5k) non sa niente di ncp.
Opzioni di mount per nfs
Invece di una stringa testo di opzioni, esaminata dal kernel, il file
system nfs si aspetta un argomento binario di tipo struct
nfs_mount_data. Il programma mount stesso esamina le seguenti opzioni
di forma ‘tag=valore’ e le mette nella struttura suddetta: rsize=n,
wsize=n, timeo=n, retrans=n, acregmin=n, acregmax=n, acdirmin=n,
acdirmax=n, actimeo=n, retry=n, port=n, mountport=n, mounthost=nome,
mountprog=n, mountvers=n, nfsprog=n, nfsvers=n, namlen=n. L’opzione
addr=n è accettata ma ignorata. Sono riconosciute anche le seguenti
opzioni booleane, anche precedute da no: bg, fg, soft, hard, intr,
posix, cto, ac, tcp, udp. Per i dettagli, si veda nfs(5).
Opzioni molto utili sono
rsize=8192, wsize=8192
Queste renderanno la propria connessione nfs molto più veloce
che con la dimensione del buffer di default (1024).
soft Questa opzione permette al kernel di sconnettersi se il server
nfs non sta rispondendo da un certo tempo, altrimenti proverebbe
per sempre. Il tempo può essere specificato con timeo=tempo.
Questa opzione è utile se il proprio server nfs qualche volta
non risponde o sarà rebootato mentre alcuni processi provano a
prendere dei file dal server.
Opzioni di mount per proc
uid=valore e gid=valore
Queste opzioni sono riconosciute, ma da quello che ho potuto
vedere non hanno alcun effetto.
Opzioni di mount per smb
Proprio come per l’nfs, l’implementazione di smb si aspetta un
argomento binario (di tipo struct smb_mount_data) per la system call
mount. Questo argomento è costruito da smbmount(8) e la versione
corrente di mount (2.5k) non sa niente di smb.
Opzioni di mount per sysv
Nessuna.
Opzioni di mount per ufs
Nessuna.
Opzioni di mount per umsdos
Si vedano le opzioni di mount per msdos.
Opzioni di mount per vfat
Prima di tutto, sono riconosciute le opzioni di mount per fat.
Inoltre, ci sono
uni_xlate
Traduce i caratteri Unicode non trattabili in speciali sequenze
di escape. Ciò permette di salvare e ripristinare i nomi di file
che sono creati con caratteri Unicode qualsiasi. Senza questa
opzione, è usato un ’?’ quando non sia possibile la traduzione.
Il carattere di escape usato è ’:’ perché è illegale nel file
system vfat. La sequenza di escape usata è: ’:’, (u & 0x3f),
((u>>6) & 0x3f), (u>>12), dove u è il carattere Unicode.
posix Permette di avere due file i cui nomi differiscano solo nel
case.
nonumtail
Prova a fare un nome corto senza il numero, prima di provare
name~num.ext.
Opzioni di mount per xenix
Nessuna.
Opzioni di mount per xiafs
Nessuna. Sebbene non ci sia niente di sbagliato in xiafs, non è molto
usato e non è mantenuto. Probabilmente non si dovrebbe usare.
IL LOOP DEVICE
Un altro tipo possibile di mount è tramite il loop device. Per esempio,
il comando
mount /tmp/fdimage /mnt -t msdos -o loop=/dev/loop3,blocksize=1024
imposterà il loop device /dev/loop3 a corrispondere al file
/tmp/fdimage, e poi monta questo device in /mnt. Questo tipo di mount
riconosce tre opzioni, chiamate loop, offset e encryption, che in
realtà sono opzioni di losetup(8). Se non è menzionato esplicitamente
un loop device (ma è data solo l’opzione ‘-o loop’), allora mount
proverà a trovare un loop device libero e lo userà.
FILE
/etc/fstab tabella dei file system
/etc/mtab tabella dei file system montati
/etc/mtab~ file di lock
/etc/mtab.tmp file temporaneo
VEDERE ANCHE
mount(2), umount(2), fstab(5), umount(8), swapon(8), nfs(5), mountd(8),
nfsd(8), mke2fs(8), tune2fs(8), losetup(8)
BACHI
È possibile che un file system corrotto provochi un crash.
Alcuni file system di Linux non supportano -o sync (l’ext2fs supporta
gli aggiornamenti sincroni (a la BSD) quando è montato con l’opzione
sync).
L’opzione -o remount può non essere in grado di cambiare i parametri di
mount (per esempio tutti i parametri di ext2fs, ad eccezione di sb,
sono modificabili con un remount, ma non si può cambiare gid o umask
per il fatfs).
STORIA
Un comando mount apparve nell’AT&T UNIX Versione 6.