Linux fstab參數詳解
摘自http://blog.csdn.net/liuyuan_jq/archive/2007/10/15/1826131.aspx
1、fstab檔案的作用
使用許可權 : 超級使用者
使用方式 : 使用編輯器來修改 /etc/fstab (eg. vi /etc/fstab)
說明 : 存放檔案系統與目錄結構對應資料的檔案
檔案/etc/fstab存放的是系統中的檔案系統資訊。當正確的設定了該檔案,則可以通過"mount/directoryname"命令來載入一個檔案系統,每種檔案系統都對應一個獨立的行,每行中的欄位都有空格或tab鍵分開。同時fsck、 mount、umount的等命令都利用該程式。
這個檔案描述系統中各種檔案系統的資訊。一般而言,應用程式僅讀取這個檔案,而不對它進行寫操作。對它的維護是系統管理員的工作。在這個檔案中,每個檔案系統用一行來描述,在每一行中,用空格或TAB符號來分隔各個欄位,檔案中以*開頭的行是注釋資訊。Fstab檔案中的紀錄的排序十分重要。因為fsck,mount或umount等程式在做它們的工作時會按此順序進行。
2、下面是/etc/fatab檔案的一個樣本行:
fs_spec fs_file fs_type fs_options fs_dump fs_pass
/dev/hda1 / ext2 defaults 1 1
fs_spec - 該欄位定義希望載入的檔案系統所在的裝置或遠程檔案系統,對於一般的本地塊裝置情況來說:IDE裝置一般描述為 /dev/hdaXN,X是IDE 裝置通道(a, b, or c),N代表分區號;SCSI裝置一描述為/dev/sdaXN。對於NFS情況,格式一般為:,例如: `knuth.aeb.nl:/'。對於procfs,使用`proc'來定義。 對檔案系統的定義(fs spec),它描述了將被裝載的塊裝置或遠程檔案系統。對於通常的mount操作而言,這個欄位應該包括一個將被裝載的塊裝置的裝置結點(通過mknod 命令來建立)或指向這類結點的串連(例如/dev/cdrom或/dev/sdb),對於NFS mount操作,這個欄位應該包含host:dir格式的資訊,例如:knuth.aeb.nl:/,對於進程檔案系統procfs,使用proc。
除了顯示的使用裝置名稱,你可以使用裝置的UUID或裝置的卷標籤,例如,你可以在這個欄位寫成“LABAL=root”或“UUID=3e6be9de -8139-11d1-9106-a43f08d823a6”,這將使系統更具伸縮性。例如,如果你的系統添加或移除了一個SCSI硬碟,這有可以改變你的裝置名稱,但它不會修改你的卷標籤。
fs_file - 該欄位描述希望的檔案系統載入的目錄點,對於swap裝置,該欄位為none;對於載入目錄名包含空格的情況,用40來表示空格。描述檔案系統的載入點,對於交換分區(swap),這個欄位定義為none,如果在載入點的路徑中包含空格符,可以用“/040”來替代空格符。
fs_type - 定義了該裝置上的檔案系統,一般常見的檔案類型為ext2 (Linux裝置的熱門檔案類型)、vfat(Windows系統的fat32格式)、NTFS、iso9600等.檔案系統類型(fs vfstype),主要用來定義檔案系統的類型。Linux系統支援大量的檔案類型,包括sdfs,affs,autofs,jfs,minix, msdos, ncpfs, nfs, ntfs, proc, qnx4, reiserfs, romfs,,smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs等等。如果想瞭解你的kernel目前支援哪些檔案系統,可以查看/proc/filesystems的內容。如果這個欄位定義為swap,這條紀錄將關聯到一個用於交換目的的檔案或分區。如果這個欄位定義為ignored,這行將被忽略。這對於顯示目前沒有使用的分區非常有用。
fs_options - 指定載入該裝置的檔案系統是需要使用的特定參數選項,多個參數是由逗號分隔開來。檔案系統選項(fs mntops)在裝載檔案系統時使用的裝載選項。多個選項之間用逗號做分隔字元,這些選項列表包括了裝載類型以及對於該檔案系統合適的其它裝載選項。對於非 NFS系統可用的裝載選項可以參看mount命令的說明,對於nfs系統的選項可以查看關於nfs的文檔。對於所有檔案系統都適用的選項有noauto (當使用mount –a命令時不載入),user(允許使用者進行裝載),owner(允許裝置所有人裝載),_netdev(裝置需要網路),後兩個選項是linux系統所特有的。
對於大多數系統使用"defaults"就可以滿足需要。其他常見的選項包括:
選項 含義
ro 以唯讀模式載入該檔案系統
sync 不對該裝置的寫操作進行緩衝處理,這可以防止在非順利關機時情況下破壞檔案系統,但是卻降低了電腦速度
user 允許普通使用者載入該檔案系統
quota 強制在該檔案系統上進行磁碟定額限制
noauto 不再使用mount -a命令(例如系統啟動時)載入該檔案系統
fs_dump - 該選項被"dump"命令使用來檢查一個檔案系統應該以多快頻率進行轉儲,若不需要轉儲就設定該欄位為0.檔案系統頻率(fs_freq),被dump程式使用來確定哪個檔案系統需要dump,如果最後一個欄位沒有設定,系統將認為其值為0,而dump程式則認為此檔案系統無需dump。
fs_pass - 該欄位被fsck命令用來決定在啟動時需要被掃描的檔案系統的順序,根檔案系統"/"對應該欄位的值應該為1,其他檔案系統應該為2。若該檔案系統無需在啟動時掃描則設定該欄位為0.被fsck程式所使用來確定進行在系統重啟進行檔案系統檢查時的順序,對於根系統/這個值應設為1,其它檔案系統可以設為2,在同一個物理硬碟內的檔案系統應該被順序檢測,而不同硬碟中的檔案系統則應該同時檢測以充分利用系統的並行性。如果最後一個欄位值為0或沒有設定,fsck程式裝跳過此檔案系統的檢測。在linux編程中可以用getmntent過程來訪問這個檔案的內容。
3、修改/etc/fstab實現自動掛載Windows分區,並顯示中文目錄
LABEL=/ / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
LABEL=/usr /usr ext3 defaults 1 2
/dev/hda9 swap swap defaults 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 ro,user,noauto 0 0
/media/Ubuntu-5.04-install-i386.iso /media/Ubuntu_5.04 iso9660 rw,loop 0 0
#添加如下幾行
/dev/hda1 /mnt/win_c vfat codepage=936,iocharset=cp936 0 0
/dev/hda5 /mnt/win_d vfat codepage=936,iocharset=cp936 0 0
/dev/hda6 /mnt/win_e vfat codepage=936,iocharset=cp936 0 0
#soft選項告訴核心遇到網路問題時向使用者進程發送I/O錯誤(EIO).預設的hard選項將導致進程被掛起,直到能夠訪問NFS伺服器.
my.nfs.server.com:/path/on/server /path/on/client nfs rw,soft 0 0
4、對部分分區格式的支援需要編譯相關的支援到核心了來實現,如NTFS。