mount 中文手冊-掛載設備指南(轉(zhuǎn)載內(nèi)容較長)
作者:青草青園 來源:隆安教育論壇 發(fā)表:2008-04-02 16:20 我要評論
MOUNT(8) Linux Programmer's Manual MOUNT(8)
NAME
mount - 掛載文件系統(tǒng)
mount 命令的標準格式,是 mount -t type device dir
這樣做告訴內(nèi)核將device中的文件系統(tǒng) (文件系統(tǒng)類型是 type) 掛接到目錄dir。目錄dir 中以前的內(nèi)容(如果有的話)以及它的所有者和模式都不再可見,只要這個文件系統(tǒng)仍然處于掛載狀態(tài)。路徑名dir 僅指向 device 中的文件系統(tǒng)的根。
有三種運行方式不會真正執(zhí)行掛載動作:
mount -h
輸出幫助信息;
mount -V
輸出版本信息;以及只輸入
mount [-l] [-t type]
列出所有已掛載的文件系統(tǒng) (類型是 type)。 選項 -l 將在列表中加入 (ext2,
ext3 和 XFS) 卷標。
(i) 命令
mount -a [-t type] [-O optlist] (通常在啟動腳本中調(diào)用)
使得fstab中提到的所有文件系統(tǒng)被按照指示掛載,
(ii) 當掛載fstab中提到的文件系統(tǒng)時,只要給出設備,或者只給出掛載點就可以了。
(iii) 通常,只有超級用戶可以掛載文件系統(tǒng)。但是,如果 fstab
的行中包含選項 user 那么任何人都可以掛載相應的文件系統(tǒng)。
因此,假如有一行是
/dev/cdrom /cd iso9660 ro,user,noauto,unhide
那么任何人都可以掛載 CDROM 中的 iso9660 文件系統(tǒng),使用命令
mount /dev/cdrom
或
mount /cd
就可以了。
只有掛載某個文件系統(tǒng)的用戶可以再卸載它。如果要讓任何人都可以卸載,那么在
fstab 的行中使用 users 而不是 user 選項 owner 與選項 user
相似,但它限制用戶必須是設備文件的擁有者。
程序mount和umount在文件/etc/mtab中維護一個當前已掛在的文件系統(tǒng)列表。如果調(diào)用mount
時沒有參數(shù),將輸出這個列表。
proc文件系統(tǒng)被掛載后,(假設掛載點是/proc),文件/etc/mtab和/proc/mounts
的內(nèi)容是非常相似的。前者的信息要多一些,例如使用的掛載選項等等,但是不一定是最新的
(參見下面的-n選項)。
mount 命令可用的選項包括:
-V 輸出版本信息
-h 輸出幫助信息
-v 冗余輸出模式
-a 掛載 fstab 中提到的 (指定類型的) 所有文件系統(tǒng)
-F (與-a 聯(lián)合使用)
為每個設備產(chǎn)生一個新進程來掛載。這樣使得可以并行地掛載不同的設備或連接不同的
NFS服務器。這樣的好處是更快;缺點是掛載順序是不定的。
-f 做掛載過程中的所有事,除了實際的系統(tǒng)調(diào)用;如果不明白的話,它是在
"偽裝"掛載文件系統(tǒng)。這個選項在與-v標志聯(lián)合使用時很有用,可以發(fā)現(xiàn)mount
命令正在試圖做什么。它也可以用來為早先以-n選項加載的設備添加記錄。
-i 不調(diào)用 /sbin/mount.<filesystem> 程序,即使它存在。
-l 在mount的輸出中添加ext2,ext3和XFS卷標。mount必須有讀取磁盤設備的權(quán)限 (例如, suid root)才能這樣做。用戶可以用 e2label(8) 工具來為 ext2 或 ext3
設置卷標,對于 XFS 應當使用 xfs_admin(8)。
-n 掛載但是不寫入 /etc/mtab。有時這樣做是必要的,例如當/etc是只讀文件系統(tǒng)的時候。
-p num 如果要加載一個加密的環(huán)回設備,從文件描述符 num 中讀取 passphrase
而不是從終端讀。
-s 容忍誤用的選項而不報錯。如果使用了某個文件系統(tǒng)不支持的選項,它將被忽略。并不是所有文件系統(tǒng)都支持這個選項。這個選項的存在是為了支持Linux 中基于 autofs 的自動掛載程序。
-r 只讀地掛載文件系統(tǒng)。有一個同義詞是 -o ro。
-w 掛載文件系統(tǒng)為可讀/寫。這是默認選項。有一個同義詞是 -o rw。
-L label
掛載具有指定卷標 label 的分區(qū)。
-U uuid
掛載具有指定 uuid 的分區(qū)。這兩個選項要求存在文件 /proc/partitions (這個文件自 Linux 2.1.116 開始出現(xiàn))。
-t vfstype
跟隨在 -t
的參數(shù)用于指示文件系統(tǒng)類型。當前支持的文件系統(tǒng)類型包括: adfs,
affs, autofs, coda, coherent, cramfs, devpts, efs, ext, ext2,
ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, nfs4,
ntfs, proc, qnx4, ramfs, reiserfs, romfs, smbfs, sysv, tmpfs,
udf, ufs, umsdos, vfat, xenix, xfs, xiafs. 注意 coherent,sysv
和 xenix 是等價的,并且 xenix 和 coherent 將在未來被移除 — 使用
sysv 代替它們。從 Linux
類型不再存在。
對于大多數(shù)類型, mount程序要做的事情就是發(fā)出一個簡單的系統(tǒng)調(diào)用
mount(2),不要求知道文件系統(tǒng)的細節(jié)知識。但是對于很少的一些類型
(例如nfs,nfs4,smbfs,ncpfs),必須使用特別的代碼。nfs
的特別代碼是內(nèi)嵌的,而 smbfs和ncpfs有單獨的mount程序。為了可以用統(tǒng)一的方式處理所
有類型的文件,mount在掛載TYPE類型的文件系統(tǒng)時,將執(zhí)行程序/sbin/mount.TYPE
(如果它存在的話)。由于 smbmount 程序的各種版本有不同的調(diào)用約定,
/sbin/mount.smbfs可能不得不設計為一個shell腳本來設定需要的調(diào)用。
默認類型是 iso96602> 如果沒有給出 -t 選項,或者給出的類型是
autoC> 將探測超塊來判斷文件系統(tǒng)類型 (可以支持 adfs, bfs, cramfs,
ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, ntfs, qnx4,
reiserfs, romfs, udf, ufs, vxfs, xfs, xiafs
等文件系統(tǒng))。如果探測失敗,mount 將試圖讀取文件 /etc/filesys‐
temsC> 如果不存在,就讀取文件 /proc/filesystems2>
所有在文件中列出的文件系統(tǒng)類型都將被嘗試,除了那些標記為 "nodev"
的類型 (例如, devpts, proc, nfs, 和 nfs4)。 如果 /etc/filesys‐
tems 以只包含單個 * 的一行結(jié)束的話,mount 將繼續(xù)讀取文件
/proc/filesystems2>
類型 auto在用戶掛載軟驅(qū)設備時可能很有用。創(chuàng)建一個/etc/filesystems文件在
改變探測順序時很有用(例如,在msdos之前先嘗試vfat),或者如果你使用內(nèi)核模塊
自動掛載的話警告:探測過程是"啟發(fā)式"的 (依賴于出現(xiàn)合適的"魔數(shù)"),可能將文件
系統(tǒng)類型識別錯誤,從而帶來災難性的后果。如果你的數(shù)據(jù)非常有價值,不要讓mount 去猜。
可以用逗號分隔的列表來指定多個類型。文件系統(tǒng)類型列表也可以前綴
no 來指示不對這樣的文件系統(tǒng)進行任何操作。(這種做法對于選項 -a
十分有意義。)
例如,命令
mount -a -t nomsdos,ext
將掛載所有的文件系統(tǒng),除了類型為 msdos 和 ext 的那一些。
-O 與-a聯(lián)合使用,來限制-a處理的文件系統(tǒng)的集合。它與-t
類似,但是在-a的上下文之外,它什么作用也沒有。例如,命令
mount -a -O no_netdev掛載所有文件系統(tǒng),除了在/etc/fstab 的選項
域中指定了 _netdev選項的文件系統(tǒng)。
它與 -t 的區(qū)別在于每個選項都被精確匹配;在一個選項開頭前綴 no
不會影響其余選項。
選項 -t 和 -O 的效果是累積的,也就是說,命令
mount -a -t ext2 -O _netdev
掛載所有指定了 _netdev 選項的 ext2 文件系統(tǒng),而不是或者為
ext2,或者為指定了 _netdev 選項的所有文件系統(tǒng)。
-o 指定掛載選項的辦法是在 -o
標志后面跟隨以逗號分隔的選項列表。某些選項只有在出現(xiàn)在文件
/etc/fstab 中時才有意義。下列選項可以用于任何要掛載的文件系統(tǒng)
(但是并非所有文件系統(tǒng)都關心它們,例如,選項 sync 在今天只對
ext2,ext3 和 ufs 有效):
async 所有對文件系統(tǒng)的 I/O 操作都必須是異步完成的。
atime 每次存取時更新 inode 存取時間。這是默認選項。
auto 可以在使用 -a 選項時被掛載。
defaults
使用默認選項: rw, suid, dev, exec, auto, nouser, 以及
async.
dev 解析文件系統(tǒng)中的字符設備或塊設備。
exec 允許執(zhí)行二進制文件。
_netdev
文件系統(tǒng)居于需要網(wǎng)絡連接的設備上
(用于防止系統(tǒng)不斷嘗試掛載這些文件系統(tǒng),直到系統(tǒng)中網(wǎng)絡被啟動)。
noatime
不更新文件系統(tǒng)的 inode 存取時間 (例如,可以更快地存取
news spool 從而提升新聞服務器的速度)。
noauto 只能被顯式地掛載 (也就是說,選項 -a
不會使這個文件系統(tǒng)被掛載)。
nodev 不解析文件系統(tǒng)中的字符設備或塊設備。
noexec 不允許執(zhí)行被加載的文件系統(tǒng)中的任何二進制文件。這個選項對于需要加載包含不適于自己體系結(jié)構(gòu)的二進制可執(zhí)行文件的文件系統(tǒng)的服務器有用。
nosuid 不允許 set-user-identifier 或 set-group-identifier
位起作用。(這樣看上去很安全,但是如果你安裝了 suidperl(1)
那么是非常不安全的。)
nouser 禁止普通的 (即,非root)用戶來掛載文件系統(tǒng)。這是默認選項。
remount
試圖重新掛載一個已經(jīng)掛載的文件系統(tǒng)。這個選項通常用于改變文件系統(tǒng)的掛載標志,尤其是使一個只讀文件系統(tǒng)變?yōu)榭勺x寫。它不會改變設備或者掛載點。
ro 只讀地掛載文件系統(tǒng)。
rw 掛載文件系統(tǒng)為可讀/寫。
suid 允許 set-user-identifier 或 set-group-identifier
位起作用。
sync 所有對文件系統(tǒng)的 I/O 操作都應當是同步完成的。
dirsync
所有對文件系統(tǒng)內(nèi)目錄的更新應當是同步完成的。這個選項影響下列系統(tǒng)調(diào)用:creat,
link, unlink, symlink, mkdir, rmdir, mknod 以及 rename。
user 允許普通的用戶掛載文件系統(tǒng)。掛載者的用戶名被寫入
mtab,從而使他可以再次卸載文件系統(tǒng)。這個選項暗含了選項
noexec, nosuid, 以及 nodev (除非在后續(xù)選項中指定
user,exec,dev,suid)。
users 允許每個用戶掛載和卸載文件系統(tǒng)你哦個。這個選項暗含了選項
noexec, nosuid, 以及 nodev (除非在后續(xù)選項中指定
users,exec,dev,suid)。
--bind 將一個子樹重新掛載到其他地方
(從而使它的內(nèi)容可以從兩個地方同時獲取)。參見上面。
--move 將一個子樹移動到其他位置。參見上面。
FILESYSTEM SPECIFIC MOUNT OPTIONS 7>6>B>F>9>A>2>0>
下列參數(shù)只對特定的文件系統(tǒng)有效。我們按照文件系統(tǒng)來排列它們。它們都應該寫在
-o 標志后面。
Mount options for adfs
uid=value 和 gid=value
設置文件系統(tǒng)中文件的屬主和組 (默認值:uid=gid=0)。
ownmask=value 和 othmask=value
分別設置 ADFS 'owner' 和 'other' 權(quán)限的權(quán)限掩碼 (默認分別是 0700
和 0077)。參見 /usr/src/linux/Documentation/filesys‐
tems/adfs.txt。
Mount options for affs
uid=value 和 gid=value
設置文件系統(tǒng)根的屬主和組 (默認值:uid=gid=0,但是如果給出 uid 或
gid 選項而沒有給出值,將使用當前進程的 uid 和 gid)。
setuid=value 和 setgid=value
設置所有文件的屬主和組。
mode=value
設置所有文件的模式為 value &
無論初始的權(quán)限是什么。為有讀權(quán)限的目錄添加搜索權(quán)限。值以八進制給出。
protect
不允許對文件系統(tǒng)中的保護位進行任何修改。
usemp 設置文件系統(tǒng)根的 uid 和 gid 為掛載點的值,直到第一次 sync 或
umount 為止,然后清除這個選項。奇怪……
verbose
為每次成功掛載輸出一條消息。
prefix=string
當跟隨鏈接時,在文件卷名前使用的前綴。
volume=string
當跟隨符號鏈接時,在 ‘/' 前使用的前綴 (最多 30 個字符)。
reserved=value
(默認值: 2.) 在設備起始保留的塊數(shù)。
root=value
顯式地給出 root 塊的位置。
bs=value
給出塊大小。允許的值是 512, 1024, 2048, 4096。
grpquota / noquota / quota / usrquota
這些選項被接受,但是被忽略。 (但是, /etc/fstab 中的這些字符串對
quota 工具有效。)
Mount options for coherent
None.
Mount options for devpts
devpts 文件系統(tǒng)是一個偽文件系統(tǒng),慣例是掛載到 /dev/pts。
為了獲取一個偽終端,進程首先打開 /dev/ptmx; 然后可以從中獲取偽終端號
number,最后就可以使用偽終端的從設備了,設備名是 /dev/pts/<number>2>
uid=value 和 gid=value
設置新創(chuàng)建的 PTY
的屬主和組為指定值。如果不指定任何東西,它們將被設置為創(chuàng)建它們的進程的值。例如,如果某個
tty 終端進程組的 GID 是 5,那么 gid=5 將使得新創(chuàng)建的 PTY
屬于這個終端進程組。
mode=value
設置新創(chuàng)建的 PTY 的模式為指定值。默認是 0600 。 設置 mode=620 和
gid=5 將使新創(chuàng)建的 PTY 的默認行為是 ‘‘mesg y'' (用戶可寫)。
Mount options for ext
沒有。注意 ‘ext' 文件系統(tǒng)已經(jīng)過時了。不要使用它。從 Linux
extfs 不再是內(nèi)核源碼的一部分。
Mount options for ext2
‘ext2' 文件系統(tǒng)是標準的 Linux 文件系統(tǒng)。由于內(nèi)核的
bug,它掛載時的選項是隨機的 (在 Linux 2.0.4 中已修復)。
bsddf / minixdf
設置系統(tǒng)調(diào)用 statfs 的行為。 minixdf 的行為是在 f_blocks
字段返回文件系統(tǒng)的總塊數(shù),而 bsddf 的行為 (這是默認值) 是減去被
ext2 文件系統(tǒng)所用,因此無法再存儲文件的塊數(shù)。因此會出現(xiàn)
% 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
(注意這個例子顯示出可以將命令行選項與 /etc/fstab 中的選項同時使用。)
check / check=normal / check=strict
設置檢測級別。在至少其中一個被設置時 ( check=normal
是默認的設置),掛載時將檢測 inodes 和塊位圖
(在大磁盤上這將花費超過半分鐘時間,并且沒什么用處)。 (? With
strict checking, block deallocation checks that the block to
free is in the data zone.)
check=none / nocheck
不進行檢測。這樣就快一些了。較新的內(nèi)核不再理會 check 選項了 -
使用 e2fsck(8) 來檢測更有意義。
debug 在每次 (re)mount 的時候輸出調(diào)試信息。
errors=continue / errors=remount-ro / errors=panic
定義遇到錯誤時的行為。(或者忽略錯誤,只將文件系統(tǒng)標記為不正確的,然后繼續(xù);或者重新只讀掛載它,或者
panic 掛起系統(tǒng)。)默認是設置文件系統(tǒng)超塊,可以用 tune2fs(8)
修改。
grpid 或 bsdgroups / nogrpid 或 sysvgroups
這些選項定義了新創(chuàng)建的文件獲得什么組 id。當設置了 grpid
的時候,使用文件所在的目錄的組 id;否則 (這是默認值)
使用當前進程的 fsgid,除非這個目錄設置了 setgid
屬性,這種情況下使用父目錄的
gid,并且如果新創(chuàng)建的是一個目錄,那么也設置它的 setgid 屬性。
resgid=n 和 resuid=n
ext2 文件系統(tǒng)保留一定比例的可用空間 (默認是 5%,參見 mke2fs(8)
和 tune2fs(8))。
這些選項決定了誰可以使用保留的塊。(簡單地說:擁有指定 uid
或者屬于指定組的用戶。)
sb=n 使用塊 n
而不是第一塊作為超塊。在文件系統(tǒng)被損壞時,這樣很有用。(早些時候,超塊在每
8192 塊都會復制一個:在塊
1,8193,16385,……(如果文件系統(tǒng)很大,超塊將被復制成百上千次)。從
1.08 版開始, mke2fs 有一個 -s (稀疏超塊)
選項,可以減少超塊備份的數(shù)量,從 1.15
版開始它成為默認值。注意這樣做意味著使用較新的 mke2fs 創(chuàng)建的
ext2 文件系統(tǒng)無法在 Linux 2.0.*
中以讀寫方式掛載。)這里塊編號的單位是 1k。因此,如果想使用以 4k
為單位的文件系統(tǒng)中的第 32768 塊,應當用 "sb=131072"。
grpquota / noquota / quota / usrquota
這些選項被接受,但是被忽略。
nouid32
禁止 32-bit UIDs 和
GIDs。這個選項用于與舊版內(nèi)核互操作,舊版內(nèi)核只保存和讀取 16-bit
的值。
Mount options for ext3
文件系統(tǒng) ‘ext3' 是 ext2 文件系統(tǒng)的一個版本,但是加入了日志功能。它支持
ext2 的所有選項,還支持下列擴展:
journal=update
更新 ext3 文件系統(tǒng)的日志為當前的格式。
journal=inum
如果一個日志已存在,這個選項被忽略。否則,它指定了用于保存日志文件的
inode 編號。ext3 將創(chuàng)建一個新日志,覆蓋 inode 編號是 inum
的文件的原有內(nèi)容。
noload 在掛載時不讀取 ext3 文件系統(tǒng)的日志。
data=journal / data=ordered / data=writeback
指定文件數(shù)據(jù)的日志模式。元數(shù)據(jù) (metadata) 總是被記錄。(?)
journal
在寫入文件系統(tǒng)之前,所有數(shù)據(jù)首先被提交到日志中。
ordered
這是默認的模式,所有數(shù)據(jù)在它的元數(shù)據(jù)被提交給日志之前,被強制直接寫入文件系統(tǒng)。
writeback
寫入順序不定,數(shù)據(jù)可能在元數(shù)據(jù)已被提交給日志之后寫入文件系統(tǒng)。傳聞這是效率最高的方式。它保證了文件系統(tǒng)內(nèi)部的一致性,但是在崩潰和恢復后文件內(nèi)可能出現(xiàn)舊數(shù)據(jù)。
Mount options for fat
(注意: fat 不是一個單獨的文件系統(tǒng)類型,而是 msdos, umsdos 和 vfat
文件系統(tǒng)的共同之處。)
blocksize=512 / blocksize=1024 / blocksize=2048
設置塊大小 (默認值是 512)。
uid=value 和 gid=value
設置所有文件的屬主和組。(默認值:當前進程的 uid 和 gid。)
umask=value
設置 umask (權(quán)限位的掩碼,表示指定的位 D>
置值)。默認值是當前進程的 umask。值以八進制給出。
dmask=value
設置只對目錄有效的 umask 值。默認值是當前進程的
umask。值以八進制給出。自 2.5.43 版起出現(xiàn)。
fmask=value
設置只對普通文件有效的 umask 值。默認值是當前進程的
umask。值以八進制給出。自 2.5.43 版起出現(xiàn)。
check=value
可以選擇三種不同級別的文件名限制:
r[elaxed]
大寫和小寫都可以,但是它們等價,長名字被截斷 (例如,
verylongname.foobar 成為 verylong.foo), 在名稱的每個部分
(主名稱和擴展名) 都可以出現(xiàn)前導和中間的空格。
n[ormal]
與 "relaxed" 類似,但是不允許使用很多特殊字符 (*, ?, <,
空格等等)。這是默認值。
s[trict]
與 "normal" 類似,但是名稱不能包含長文件名,也不能包含在
Linux 中可用,但在 MS-DOS 中不能用的特殊字符 (+, =,
空格等等)。
codepage=value
設置轉(zhuǎn)換 FAT 和 VFAT 文件系統(tǒng)上的字符 (shortname characters)
時使用的代碼頁。默認情況下,使用代碼頁 437。
conv=b[inary] / conv=t[ext] / conv=a[uto]
fat 文件系統(tǒng)可以在內(nèi)核中進行 CRLF<-->NL (MS-DOS 文本格式與 UNIX
文本格式) 的轉(zhuǎn)換。下列轉(zhuǎn)換模式是可行的:
binary 不進行轉(zhuǎn)換。這是默認值。
text 在所有文件中進行 CRLF<-->NL 轉(zhuǎn)換。
auto 只轉(zhuǎn)換沒有 "知名格式" 的擴展名的文件。已知的擴展名可以從
fs/fat/misc.c 開頭找到。(在 2.0 中,列表為: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)
調(diào)用 lseek
的程序不希望進行內(nèi)核級別的文件轉(zhuǎn)換。很多人在轉(zhuǎn)換中損壞了數(shù)據(jù)。小心!
對于以 binary 模式掛載的文件系統(tǒng),可以用轉(zhuǎn)換工具 (from‐
dos/todos)。
cvf_format=module
強制驅(qū)動器使用 CVF (Compressed Volume File 壓縮卷文件) 模塊
cvf_module 而不是自動探測。如果內(nèi)核支持 kmod,那么選項 cvf_for‐
mat=xxx 也可以控制按需加載 CVF 模塊。
cvf_option=option
要傳遞給 CVF 模塊的選項。
debug 打開 debug 標志。將輸出文件系統(tǒng)的版本信息和參數(shù)列表
(如果參數(shù)不一致,也會輸出這些數(shù)據(jù))。
fat=12 / fat=16 / fat=32
指定為 12,16 或 32 位 fat。這個選項跳過了自動 FAT
類型檢測過程。小心使用!
iocharset=value
用來在 8 bit 字符和 16 bit Unicode 字符轉(zhuǎn)換時的字符集。默認值是
iso8859-1。磁盤中的長文件名是以 Unicode 格式存儲的。
quiet 打開 quiet 標志。對文件進行 chown 或 chmod
操作不會返回錯誤,盡管它們會失敗。小心使用!
sys_immutable, showexec, dots, nodots, dotsOK=[yes|no]
多種試圖在 FAT 文件系統(tǒng)中套用 Unix 或 DOS 慣例的誤導的嘗試。
Mount options for hpfs
uid=value and gid=value
設置所有文件的屬主和組。(默認值:當前進程的 uid 和 gid。)
umask=value
設置 umask (權(quán)限位的掩碼,表示指定的位 D>
置值)。默認值是當前進程的 umask。值以八進制給出。
case=lower / case=asis
將所有文件名轉(zhuǎn)換為小寫,或者保持不變。(默認值: case=lower。)
conv=binary / conv=text / conv=auto
對于 conv=text, 在讀取文件時,隨機地刪除某些 CR
(特別的,刪除所有跟隨有 NL 的那些) 對于 conv=auto,隨機地在
conv=binary 以及 conv=text 之間選擇。對于 conv=binary,
只讀取文件中原本的內(nèi)容。這是默認值。
nocheck
如果一致性檢測出錯,不放棄掛載。
Mount options for iso9660
ISO 9660 是一種標準,描述了用于 CD-ROM
的文件系統(tǒng)結(jié)構(gòu)。(這種文件系統(tǒng)類型也在一些 DVD 中出現(xiàn)。另外參見 udf
文件系統(tǒng)。)
通常 iso9660 文件名以 8.3 格式出現(xiàn) (即,對文件名長度的限制與 DOS
相同),另外所有字符都是大寫。沒有文件所有者,權(quán)限位,鏈接數(shù)等等,也沒有對塊設備/字符設備作出擴展。
Rock Ridge 是對 iso9660 的擴展,提供了所有這些 unix
文件系統(tǒng)的特性。使用 Rock Ridge
的時候,基本上,每個目錄記錄中都有擴展域來提供所有的附加信息。這樣的文件系統(tǒng)與普通的
UNIX 文件系統(tǒng)沒有什么區(qū)別 (當然,它是只讀的)。
norock 禁止使用 Rock Ridge 擴展,即使有的話。參見 map。
nojoliet
禁止 M$ Joliet 擴展,即使有的話。參見 map。
check=r[elaxed] / check=s[trict]
對于 check=relaxed,
文件名在查找前首先被轉(zhuǎn)換為小寫。這個選項可能只在與 norock 和
map=normal 同時使用時有意義。(默認值: check=strict。)
uid=value 和 gid=value
設置文件系統(tǒng)中的所有文件指定的用戶或組 id,可能會覆蓋 Rock Ridge
擴展中找到的信息。(默認值: uid=0,gid=0.)
map=n[ormal] / map=o[ff] / map=a[corn]
對于非 Rock Ridge 卷,一般的名稱轉(zhuǎn)換將大寫映射為小寫
ASCII,刪除后續(xù)的 ‘;1',將 ‘;' 轉(zhuǎn)換為 ‘.' 。如果 map=offC>
不會進行名稱轉(zhuǎn)換。參見 norock。 (默認值: map=normal。)
map=acorn 與 map=normal 相似,但是接受 Acorn 擴展,如果有的話。
mode=value
對于非 Rock Ridge 卷,賦予所有文件所給模式。
(默認值:所有人可讀。) 從 Linux 2.1.37
開始不需要以十進制指定模式了。(八進制數(shù)以前導的 0 來指示。)
unhide 顯示隱藏和相關的文件。(如果普通文件和相關或隱藏的文件同名,這樣做的結(jié)果是普通文件將無法訪問。)
block=[512|1024|2048]
設置塊大小為所給的值。 (默認值: block=1024。)
conv=a[uto] / conv=b[inary] / conv=m[text] / conv=t[ext]
(默認值: conv=binary。)從Linux1.3.540>B>9>A>9>9>D>D>9>8>2> (非
binary 的設置在過去是非常危險的,很容易帶來悄無聲息的數(shù)據(jù)損壞。)
cruft 如果文件長度的高位字節(jié)包含其他垃圾信息,設置這個選項來忽略文件長度的高位字節(jié)。這意味著文件不能大于
16MB。如果整個 CDROM 的大小很奇特 (負值或者超過
800MB),那么自動啟用這個選項。如果看到的卷序列編號不是 0 或
1,那么也會設置。
session=x
設置多區(qū)段 CD 中的區(qū)段號。(自 2.3.4 開始)
sbsector=xxx
區(qū)段從 xxx 扇區(qū)開始。(自 2.3.4 開始)
下列選項與 vfat 含義相同,只有在光盤使用了 M$ Joliet
擴展時指定它們才有效。
iocharset=value
將 CD 上的 16 bit Unicode 字符轉(zhuǎn)換為 8bit
字符時所用的字符集。默認是 iso8859-1。
utf8 將 CD 上的 16 bit Unicode 字符轉(zhuǎn)換為 UTF-8。
Mount options for minix
None.
Mount options for msdos
參見 fat 的掛載選項。如果 msdos
文件系統(tǒng)被檢測到不一致,它將報告錯誤并設置文件系統(tǒng)為只讀。可以通過
remount 來使它可寫。
Mount options for ncpfs
與 nfs 類似, ncpfs 的實現(xiàn)要求在 mount 系統(tǒng)調(diào)用中提供一個二進制的參數(shù)
(一個結(jié)構(gòu) ncp_mount_data)。 這個參數(shù)可以用 ncpmount(8) 構(gòu)造,當前版本的
mount (2.12) 對于 ncpfs 一無所知。
Mount options for nfs
nfs
文件系統(tǒng)沒有使用由內(nèi)核解析的文本的選項字符串,而是必須提供二進制的參數(shù),類型是
struct nfs_mount_data。 mount 程序自身解析下列形式為 ‘tag=value'
的選項,將它們放到上面提到的結(jié)構(gòu)中: 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=name, mountprog=n, mountvers=n,
nfsprog=n, nfsvers=n, namlen=n. 選項 addr=n
被接受但是被忽略。同時,下列布爾值選項也被識別,可能前綴有 no A> bg,
fg, soft, hard, intr, posix, cto, ac, tcp, udp, lock. 參見 nfs(5)
來獲取細節(jié)。
尤其有用的選項包括
rsize=8192,wsize=8192
這樣將使得 nfs 連接與默認緩沖大小 4096 相比要更快。(NFSv2
不能使用更大的 rsize 和 wsize 值。)
hard 訪問以 NFS
方式掛載的文件系統(tǒng)中的文件的程序?qū)⒃诜掌鞅罎r掛起。進程不能被中斷或殺死,除非同時指定
intr。 當 NFS
服務器恢復運行時,程序?qū)⒈3衷瓉淼臓顟B(tài)繼續(xù)執(zhí)行,這可能是你想要的。
soft 這個選項允許內(nèi)核超時,如果 nfs
服務器一段時間沒有響應的話??梢杂?span lang="EN-US"> timeo=time 來指定。在 nfs
服務器偶爾失去響應或者重啟,而某些進程試圖從服務器獲取文件時,這個選項可能有用。通常它只會帶來不少麻煩。
nolock 不使用鎖定。不啟動 lockd。
Mount options for nfs4
nfs4
文件系統(tǒng)沒有使用由內(nèi)核解析的文本的選項字符串,而是必須提供二進制的參數(shù),類型是
struct nfs4_mount_data。 mount 程序自身解析下列形式為 ‘tag=value'
的選項,將它們放到上面提到的結(jié)構(gòu)中: rsize=n, wsize=n, timeo=n,
retrans=n, acregmin=n, acregmax=n, acdirmin=n, acdirmax=n, actimeo=n,
retry=n, port=n, proto=n, clientaddr=n, sec=n. 選項 addr=n
被接受但是被忽略。同時,下列布爾值選項也被識別,可能前綴有 no A> bg,
fg, soft, hard, intr, cto, ac, 參見 nfs(5) 來獲取細節(jié)。
尤其有用的選項包括
rsize=32768,wsize=32768
這樣將使得 nfs 連接與默認緩沖大小 4096 相比要更快。
hard 訪問以 NFS
方式掛載的文件系統(tǒng)中的文件的程序?qū)⒃诜掌鞅罎r掛起。進程不能被中斷或殺死,除非同時指定
intr。 當 NFS
服務器恢復運行時,程序?qū)⒈3衷瓉淼臓顟B(tài)繼續(xù)執(zhí)行,這可能是你想要的。
soft 這個選項允許內(nèi)核超時,如果 nfs
服務器一段時間沒有響應的話??梢杂?span lang="EN-US"> timeo=time
來指定。延時的單位是一秒的十分之一。在 nfs
服務器偶爾失去響應或者重啟,而某些進程試圖從服務器獲取文件時,這個選項可能有用。避免將這個選項與
proto=udp 同時使用,或者使用很短的延時。
Mount options for ntfs
iocharset=name
返回文件名時使用的字符集。與 VFAT 不同,NTFS
不允許使用包含無法轉(zhuǎn)換的字符的文件名。
utf8 使用 UTF-8 來轉(zhuǎn)換文件名。
uni_xlate=[0|1|2]
如果是 0 (或 ‘no' 或 ‘false')時,不使用逃逸序列來處理未知 Uni‐
code 字符。如果是 1 (或 ‘yes' 或 ‘true') 或 2,使用 vfat
樣式的以 ":" 開始的 4 字節(jié)逃逸序列。這里 2 用的是 little-
endian,而 1 是交換字節(jié)順序的 big-endian。
posix=[0|1]
如果啟用 (posix=1),文件系統(tǒng)區(qū)分大小寫。8.3
格式的別名被表示為硬連接,而不是不顯示。
uid=value, gid=value 和 umask=value
設置文件系統(tǒng)中文件的權(quán)限。umask
值以八進制值給出。默認情況下,文件所有者是
root,不能被其他人讀取。
Mount options for proc
uid=value 和 gid=value
這些選項被識別,但是沒有任何效果。
Mount options for ramfs
ramfs 是一種基于內(nèi)存的文件系統(tǒng)。掛載它就會產(chǎn)生,卸載它就會消失。自
Linux 2.3.99pre4 開始出現(xiàn)。沒有選項。
Mount options for reiserfs
Reiserfs 是一種日志文件系統(tǒng)。掛載選項的詳細描述位于
http://www.namesys.com/mount-options.html。
conv 指示 3.6 版的 reiserfs 軟件掛載 3.5
版的文件系統(tǒng),對于新創(chuàng)建的對象使用 3.6
版的格式。這個文件系統(tǒng)不再與 3.5 版的工具兼容。
hash=rupasov / hash=tea / hash=r5 / hash=detect
選擇 reiserfs 使用哪種 hash 函數(shù)來在目錄內(nèi)查找文件。
rupasov
Yury Yu. Rupasov
發(fā)明的一種。它比較快,保留了局部性,將字面上相近的文件名映射為相近的
hash
值。不應當使用這個選項,因為這種方法可能帶來很高的沖突。
tea 一個 Davis-Meyer 函數(shù),由 Jeremy Fitzhardinge
實現(xiàn)。它使用各位進行重排列的名稱的散列。它的隨機性較高,因此可以減少沖突,代價是
CPU 性能損耗。如果在使用 r5 散列時遇到 EHASHCOLLISION
錯誤時,可以用它。
r5 修改過的 rupasov
散列,它是默認值,也是最好的選擇,只要文件系統(tǒng)目錄樹不是那么大,沒有不一般的文件名模式。
detect 指示 mount
檢測要掛載的文件系統(tǒng)正在使用哪種散列函數(shù),將信息寫入
reiserfs
超塊。這個選項只有在第一次掛載舊格式的文件系統(tǒng)時才有用。
hashed_relocation
調(diào)整塊分配器。某些情況下可以帶來性能提高。
no_unhashed_relocation
調(diào)整塊分配器。某些情況下可以帶來性能提高。
noborder
禁止 border allocator 算法,它是由 Yury Yu. Rupasov
發(fā)明的。某些情況下可以帶來性能提高。
nolog 禁止日志。某些情況下可以帶來性能輕微提高,代價是失去了從崩潰中快速恢復的能力。即使使用這個選項,reis‐
erfs 仍然進行所有日志動作,將實際的寫入保存到日志區(qū)域。 nolog
的實現(xiàn)工作還在進行中。
notail 默認情況下,reiserfs 將小文件和 "文件零頭"
直接保存在樹中。這樣做會給某些工具帶來麻煩,例如 LILO(8)2>
這個選項用來禁止將文件放入樹中。
replayonly
重放日志中的事務,但不真正掛載文件系統(tǒng)。主要由 reiserfsck 使用。
resize=number
remount 的一個選項,允許在線擴展 reiserfs 分區(qū)。指示 reiserfs
假定設備上有 number 個塊。這個選項被設計為用于邏輯卷管理 (LVM)
下的設備。有一個特殊的 resizer 工具,可以從這里得到
ftp://ftp.namesys.com/pub/reiserfsprogs。
Mount options for romfs
None.
Mount options for smbfs
與 nfs 類似, smbfs 的實現(xiàn)需要為 mount 系統(tǒng)調(diào)用提供一個二進制的參數(shù)
(類型是 struct smb_mount_data)。 這個參數(shù)由 smbmount(8)
構(gòu)造,當前版本的 mount (2.12) 對此一無所知。
Mount options for sysv
None.
Mount options for tmpfs
下列參數(shù)值可以加后綴 k, m 或 g C> 意思是 Ki, Mi, Gi
(二進制千,兆和吉),可以在 remount 的時候更改。
size=nbytes
替換文件系統(tǒng)的默認大小。單位是字節(jié),舍入到完整的頁面。默認是內(nèi)存的一半。
nr_blocks=
塊數(shù)。
nr_inodes=
inode 數(shù)。
mode= 設置根目錄的初始權(quán)限。
Mount options for udf
udf 是 the Optical Storage Technology Association 定義的統(tǒng)一光盤格式
"Universal Disk Format" 文件系統(tǒng),通常用于 DVD-ROM。參見 iso9660。
gid= 設置默認組。
umask= 設置默認 umask。值以八進制給出。
uid= 設置默認用戶。
unhide 顯示在一般情況下隱藏的文件。
undelete
顯示已刪除的文件。
strict 嚴格遵循標準 (未用到)。
utf8 (未用到)。
iocharset
(未用到)。
bs= 設置塊大小。(不能小于 2048)
novrs 跳過卷序列識別。
session=
選擇 CDROM 區(qū)段,從 0 開始。默認:最后一個區(qū)段。
anchor=
選擇標準錨點位置。默認值:256。
volume=
選擇 VolumeDesc 位置。(未使用)
partition=
選擇 PartitionDesc 位置。(未使用)
lastblock=
設置文件系統(tǒng)的最后一個塊。
fileset=
設置文件集的塊位置。(未使用)
rootdir=
設置根文件夾的位置。(未使用)
Mount options for ufs
ufstype=value
UFS
是一種在不同的操作系統(tǒng)中廣泛使用的文件系統(tǒng)。問題在于不同實現(xiàn)間的差別。某些實現(xiàn)沒有將所有特性載入文檔,因此很難自動判斷
ufs 的類型。這就是為什么用戶需要在 mount
選項中指定類型的原因。可能的值是:
old 舊格式的 ufs。這是默認值,只讀。(別忘了加上 -r 選項)
44bsd 由 BSD 家族的系統(tǒng) (NetBSD,FreeBSD,OpenBSD)
創(chuàng)建的文件系統(tǒng)。
sun 由 SunOS 或 Sparc 版本的 Solaris 創(chuàng)建的文件系統(tǒng)。
sunx86 由 x86 版本的 Solaris 創(chuàng)建的文件系統(tǒng)。
nextstep
由 NeXTStep (運行于 NeXT 主機上)
創(chuàng)建的文件系統(tǒng)。(當前為只讀)
nextstep-cd
適用于 NeXTStep CDROM (block_size == 2048),只讀。
openstep
由 OpenStep 創(chuàng)建的文件系統(tǒng) (當前為只讀)。Mac OS X
也使用同樣的文件系統(tǒng)類型。
onerror=value
設置出錯后的行為:
panic 如果遇到錯誤,將導致內(nèi)核 panic。
[lock|umount|repair]
這些掛載選項目前什么都不做;如果遇到錯誤,只打印一條終端消息。
Mount options for umsdos
參見 msdos 的掛載選項。選項 dotsOK 被 umsdos (? explicitly killed)。
Mount options for vfat
首先, fat 的掛載選項都被識別。選項 dotsOK 被 vfat (? explicitly
killed)。 更多的選項,包括
uni_xlate
將未處理的 Unicode
字符轉(zhuǎn)換為特殊的逃逸序列。這樣允許你保存和恢復含有任何 Unicode
字符的文件名。沒有這個選項的話,對于無法轉(zhuǎn)換的名稱將使用 ‘?'
代替。逃逸字符是 ‘:',因為它在 vfat
文件系統(tǒng)中是無效字符。用來替換 Unicode 字符 u 的逃逸序列是 ‘:',
(u & 0x
posix 允許兩個文件的名稱僅有大小寫不同。
nonumtail
首先試著創(chuàng)建不帶序列號碼的短名稱,然后再試 name~num.ext。
utf8 UTF8 是文件系統(tǒng)安全的 Unicode 8-bit
編碼,用于終端。它可以在支持它的文件系統(tǒng)中啟用。如果設置了
‘uni_xlate',那么 UTF8 就被禁止。
shortname=[lower|win95|winnt|mixed]
定義創(chuàng)建和顯示滿足 8.3
格式的文件名時的行為。如果存在對應的長名字,那么總是顯示長名字。有四種模式:
lower 強制短名稱在顯示時轉(zhuǎn)換為小寫;當短名稱不都是大寫時保存一個長名稱。(?)
win95 強制短名稱在顯示時轉(zhuǎn)換為大寫;當短名稱不都是大寫時保存一個長名稱。(?)
winnt 原樣顯示短名稱;當短名稱不都是小寫,也不都是大寫時保存一個長名稱。(?)
mixed 原樣顯示短名稱;當短名稱不都是大寫時保存一個長名稱。(?)
默認值是 "lower" 。
Mount options for xenix
None.
Mount options for xfs
biosize=size
設置首選的緩存的 I/O 大小 (默認是 64K)。 size 必須表示為期望 I/O
大小的對數(shù) (以 2 為底)。有效的值是 14 到 16 (即,16K,32K 和
64K字節(jié))。在頁面大小為 4K 的機器上,13 (8K 字節(jié))
也是有效的大小。對于每個文件,首選的緩存 I/O 大小也可以用
ioctl(2) 系統(tǒng)調(diào)用來調(diào)整。
dmapi / xdsm
啟用 DMAPI (數(shù)據(jù)管理接口 Data Management API) 事件管理 (? call‐
outs)。
logbufs=value
設置內(nèi)存中記錄緩存的數(shù)量。有效值是 2 到 8。默認值是對塊大小 64K
的文件系統(tǒng)使用 8 緩存,對塊大小 32K 的文件系統(tǒng)使用 4
緩存,對塊大小 16K 的文件系統(tǒng)使用 3 緩存,其他所有情況都使用 2
緩存。增加緩存數(shù)量在某些情形下可以提高性能,代價是附加記錄緩存以及控制結(jié)構(gòu)占用的內(nèi)存空間。
logbsize=value
設置內(nèi)存中記錄緩存的大小。有效的大小是 16384 (16K) 和 32768
(32K)。對于內(nèi)存超過 32MB 的機器,默認值是
32768,內(nèi)存小的機器默認使用 16384。
logdev=device 和 rtdev=device
使用外部的記錄 (元數(shù)據(jù)日志) 和/或?qū)崟r設備。XFS
文件系統(tǒng)包含最多三個部分:數(shù)據(jù)段,記錄段,實時段。實時段是可選的,記錄段可以與數(shù)據(jù)段分離,或者包含在內(nèi)。參見
xfs(5)2>
noalign
數(shù)據(jù)分配不對齊數(shù)據(jù)單元邊緣。
noatime
讀取文件時,不更新存取時間戳。
norecovery
文件系統(tǒng)掛載時不運行記錄恢復。如果文件系統(tǒng)并非正常卸載,那么以此模式掛載時將可能是不一致的。某些文件或目錄可能無法存取。以此模式掛載文件系統(tǒng)時必須是只讀的,否則將失敗。
osyncisdsync
使寫入設置了 O_SYNC 標志的文件時的行為類似于設置了 O_DSYNC
標志時。這樣可以帶來更好的性能,卻不會危害數(shù)據(jù)安全。但是如果設置了這個選項,如果系統(tǒng)崩潰,O_SYNC
寫入的時間戳更新將會丟失。
quota / usrquota / uqnoenforce
啟用用戶磁盤限額計數(shù),強制進行限制 (可選)。
grpquota / gqnoenforce
啟用組磁盤限額計數(shù),強制進行限制 (可選)。
sunit=value and swidth=value
用來為 RAID 設備或 stripe 卷指定區(qū)塊單位和寬度。(?) value
必須以 512 字節(jié)的塊為單位指定。如果沒有指定這個選項, (? and the
filesystem was made on a stripe volume or the stripe width or
unit were specified for the RAID device at mkfs time, then the
mount system call will restore the value from the superblock.)
對于直接在 RAID
設備上創(chuàng)建的文件系統(tǒng),這些選項可以用來覆蓋超塊中的信息,如果文件系統(tǒng)創(chuàng)建后,下層的磁盤排列發(fā)生改變的話。
如果沒有指定 sunit 選項的話,那么需要有 swidth 選項,值必須是
sunit 的倍數(shù)。
Mount options for xiafs
沒有。雖然 xiafs
沒什么錯,但是它用得不多,也沒有人維護。應該避免用它。從 Linux 2.1.21
開始不再是內(nèi)核源碼的一部分了。
THE LOOP DEVICE F>E>E>7>
還有一種類型是通過環(huán)回設備來掛載。例如,命令
mount /tmp/fdimage /mnt -t msdos -o loop=/dev/loop3,blocksize=1024
將設置環(huán)回設備 /dev/loop3 關聯(lián)到文件 /tmp/fdimage,
然后將這個設備掛載到 /mnt。 這種類型的掛載有三種選項,名稱是 loop, off‐
set and encryption, 實際是給 losetup(8)
的參數(shù)。如果沒有顯式地指明環(huán)回設備 (而僅僅使用了選項 ‘-o loop'),那么
mount 將查找未使用的環(huán)回設備然后使用它。如果你沒有把 /proc/mounts
鏈接成 /etc/mtab C> 那么使用 mount 分配的環(huán)回設備可以用 umount
來釋放。當然也可以手動地釋放環(huán)回設備,使用 ‘losetup -d',參見 los‐
etup(8)2>
RETURN CODES 4>E>C>
mount 有如下的返回值 (可以是位或的結(jié)果):
0 成功
1 命令或權(quán)限不正確
2 系統(tǒng)錯誤 (內(nèi)存溢出,不能產(chǎn)生新進程,沒有更多的環(huán)回設備)
4 mount 內(nèi)部的 bug 或沒有 nfs 支持
8 用戶中斷
16 寫或鎖定 /etc/mtab 出錯
32 掛載失敗
64 某些掛載成功
FILES 7>6>
/etc/fstab 文件系統(tǒng)表
/etc/mtab 已掛載文件系統(tǒng)表
/etc/mtab~ 文件鎖
/etc/mtab.tmp 臨時文件
SEE ALSO 2>1>
mount(2), umount(2), fstab(5), umount(8), swapon(8), nfs(5), xfs(5),
e2label(8), xfs_admin(8), mountd(8), nfsd(8), mke2fs(8), tune2fs(8),
losetup(8)
BUGS
損壞的文件系統(tǒng)可能導致崩潰。
某些 Linux 文件系統(tǒng)不支持 -o sync C> -o dirsync (ext2 和 ext3 文件系統(tǒng)
F>1> 同步更新 (? a
-o remount 不能用來改變掛載參數(shù) (例如,所有 ext2fs-specific 參數(shù),除了
sb, 都可以在 remount 時改變,但是不能改變 fat 文件系統(tǒng)的 gid 或 umask
2>)
HISTORY 6>2>
mount 命令存在于 Version 5 AT&T UNIX 。
TRANSBY
LinuxForum.Net CMPP 中文手冊頁計劃 http://cmpp.linuxforum.net
* Tue Jun 22 2004 Yuan Yijun <bbbush@163.com>
- 初始版本
Linux 2.0 14 September 1997 MOUNT(8)