linux /etc/fstab詳解

轉自:http://blog.csdn.net/runboying/article/details/7171078

etc/fstab詳解



1 fstab文件的作用

文件/etc/fstab存放的是系統中的文件系統信息。當正確的設置了該文件,則可以通過mount /directoryname命令來加載一個文件系統,每種文件系統都對應一個獨立的行,每行中的字段都有空格或tab鍵分開。同時fsck、 mount、umount的等命令都利用該程序。

2. fstab文件格式

下面是/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_file - 該字段描述希望的文件系統加載的目錄點,對於swap設備,該字段爲none;對於加載目錄名包含空格的情況,用40來表示空格。

fs_type - 定義了該設備上的文件系統,一般常見的文件類型爲ext2 (Linux設備的常用文件類型)、vfat(Windows系統的fat32格式)、NTFS、iso9600等。

codepage國家語言代碼頁

iocharset字符集

fs_options - 指定加載該設備的文件系統是需要使用的特定參數選項,多個參數是由逗號分隔開來。對於大多數系統使用defaults就可以滿足需要。其他常見的選項包括:

選項 含義

ro 以只讀模式加載該文件系統

sync 不對該設備的寫操作進行緩衝處理,這可以防止在非正常關機時情況下破壞文件系統,但是卻降低了計算機速度

user 允許普通用戶加載該文件系統

quota 強制在該文件系統上進行磁盤定額限制

noauto 不再使用mount -a命令(例如系統啓動時)加載該文件系統

fs_dump - 該選項被dump命令使用來檢查一個文件系統應該以多快頻率進行轉儲,若不需要轉儲就設置該字段爲0

fs_pass - 該字段被fsck命令用來決定在啓動時需要被掃描的文件系統的順序,根文件系統/對應該字段的值應該爲1,其他文件系統應該爲2。若該文件系統無需在啓動時掃描則設置該字段爲0

 

3. 示例文件

# /etc/fstab

/dev/hda8 swap swap defaults 0 0

/dev/hda9 / ext2 defaults 1 1

/dev/hda6 /wine vfat defaults,codepage=936,iocharset=cp936 0 0

/dev/hda7 /winf vfat defaults,codepage=936,iocharset=cp936 0 0

/dev/hdb /cdrom iso9660 noauto,user 0 0

none /proc proc defaults 0 0

none /dev/pts devpts gid=5,mode=620 0 0fstab中存放了與分區有關的重要信息,其中每一行爲一個分區記錄,每一行又可分爲六個部份,下面以/dev/hda7 / ext2 defaults 1 1爲例逐個說明:

  1. 第一項是您想要mount的儲存裝置的實體位置,如hdb或/dev/hda6。

  2. 第二項就是您想要將其加入至哪個目錄位置,如/home或/,這其實就是在安裝時提示的掛入點。

  3. 第三項就是所謂的local filesystem,其包含了以下格式:如ext、ext2、msdos、iso9660、nfs、swap等,或如ext2,可以參見/prco /filesystems說明。

  4. 第四項就是您mount時,所要設定的狀態,如ro(只讀)或defaults(包括了其它參數如rw、suid、exec、auto、nouser、 async),可以參見「mount nfs」。

  5. 第五項是提供DUMP功能,在系統DUMP時是否需要BACKUP的標誌位,其內定值是0。

  6. 第六項是設定此filesystem是否要在開機時做check的動作,除了root的filesystem其必要的check爲1之外,其它皆可視需要設定,內定值是0。/etc/fstab內容主要包括六項:

例如:打印出中間的兩行內容,如下
LABEL=/    /    ext3   defaults     1     1
/dev/sda2   /mnt/D/     vfat    defaults    0   0

第一列:設備名或者設備卷標名,(/dev/sda10 或者 LABEL=/)

第二列:設備掛載目錄        (例如上面的“/”或者“/mnt/D/”)

第三列:設備文件系統          (例如上面的“ext3”或者“vfat”)

第四列:掛載參數     (看幫助man mount)
對於已經掛載好的設備,例如上面的/dev/sda2,現在要改變掛載參數,這時可以不用卸載該設備,而可以使用下面的命令(沒有掛載的設備,remount 這個參數無效)
#mount /mnt/D/ -o remount,ro (改defaults爲ro)
爲了安全起見,可以指明其他掛載參數,例如:
noexec(不允許可執行文件可執行,但千萬不要把根分區掛爲noexec,那就無法使用系統了,連mount 命令都無法使用了,這時只有重新做系統了!
nodev(不允許掛載設備文件)
nosuid,nosgid(不允許有suid和sgid屬性)
nouser(不允許普通用戶掛載)

第五列:指明是否要備份,(0爲不備份,1爲要備份,一般根分區要備份)

第六列:指明自檢順序。 (0爲不自檢,1或者2爲要自檢,如果是根分區要設爲1,其他分區只能是2)如果想開機就自動掛載(mount)上,可以在/etc/fstab上添加如下幾行:
/dev/hda5 /mnt/d vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
同時也解決了中文文件名的亂碼問題,我的fstab文件如下,僅供參考:
LABEL=/12 / 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
/dev/hda4 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
/dev/hda1 /mnt/c vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
/dev/hda5 /mnt/d vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
/dev/hda6 /mnt/e vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
/dev/hda7 /mnt/f vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
/dev/hda8 /mnt/g vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章