/etc/fstab文件的作用

        記錄了計算機上硬盤分區的相關信息,啓動 Linux 的時候,檢查分區的 fsck 命令,和掛載分區的 mount 命令,都需要 fstab 中的信息,來正確的檢查和掛載硬盤。

/etc/mtab文件的作用:
     先看它的英文是:
     This changes continuously as the file /proc/mount changes. In other words, when filesystems are mounted and unmounted, the change is immediately reflected in this file.

       記載的是現在系統已經裝載的文件系統,包括操作系統建立的虛擬文件等;而/etc/fstab是系統準備裝載的。

每當 mount 掛載分區、umount 卸載分區,都會動態更新 mtab,mtab 總是保持着當前系統中已掛載的分區信息,fdisk、df 這類程序,必須要讀取 mtab 文件,才能獲得當前系統中的分區掛載情況。當然我們自己還可以通過讀取/proc/mount也可以來獲取當前掛載信息

 

fstab文件格式:

下面是/etc/fatab文件的一個示例行:

fs_spec   fs_file  fs_type   fs_options  fs_dump fs_pass  
/dev/hda1  /     ext2    defaults     1      1  
< partition >< mount point >< file system >< mount options >                                         < dump >     < fsck order >
/dev/hdb1 . . . . / . . . . . . . . . . . .     ext3 . . . . . . . . . defaults . . . .   . . .                                     1 . . . . . . . . . 1
/dev/hdb6 . . . . /home. . . . . . .       ext3 . . . . . . . . . defaults . . . . .   . .                                      1 . . . . . . . . . 2
/dev/hdb5 . . . . swap . . . . . . . .     swap . . . . . . . .  defaults . . . .   . . .                                     0 . . . . . . . . . 0
/dev/hda1 . . . . /mnt/win_c             vfat . . . iocharset=iso8859-1,codepage=850,umask=0 0 0    0                   0

其中:

fs_spec:設備名或者設備卷標名。該字段定義希望加載的文件系統所在的設備或遠程文件系統,對於一般的本地塊設備情況來説:IDE設備一般描述為/dev/hdaXN,X是IDE設備通道(a, b, or c),N代表分區號;SCSI設備一描述為/dev/sdaXN。對於NFS情況,格式一般為“IP:directory”: ,例如:`knuth.aeb.nl:/'。對於procfs,使用`proc'來定義。 當然,此列可以使用加載分區的label名稱來代替具體的分區名稱。

  fs_file:設備掛載目錄。該字段描述希望的文件系統加載的目錄點,對於swap設備,該字段為none;對於加載目錄名包含空格的情況,用40來表示空格。

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

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

選項
含義

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

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

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

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

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

noexec
不允許可執行文件可執行,但千萬不要把根分區掛為noexec,那就無法使用系統了,連mount 命令都無法使用了,這時只有重新做系統了

nodev
不允許掛載設備文件

nosuid,nosgid
不允許有suid和sgid屬性

nouser
不允許普通用户掛載

 

fs_dump:指明是否要備份。該選項被"dump"命令使用來檢查一個文件系統應該以多快頻率進行轉儲,若不需要轉儲就設置該字段為0。0為不備份,1為要備份,一般根分區要備份。

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

 

一個例子:

[root@devdbc root]# nl /etc/fstab
     1  LABEL=/                 /                       ext3    defaults        1 1
     2  LABEL=/boot             /boot                   ext3    defaults        1 2
     3  LABEL=/home             /home                   ext3    defaults        1 2
     4  LABEL=/var              /var                    ext3    defaults        1 2
     5  LABEL=/opt              /opt                    ext3    defaults        1 2
     6  none                    /dev/pts                devpts  gid=5,mode=620  0 0
     7  none                    /proc                   proc    defaults        0 0
     8  /dev/sda3               swap                    swap    defaults        0 0
     9  /dev/sda7               swap                    swap    defaults        0 0
    10  /dev/sda9               swap                    swap    defaults        0 0
    11  /dev/sda8               swap                    swap    defaults        0 0
    12  none                    /dev/shm                tmpfs   defaults        0 0[root@devdbc root]# nl /etc/mtab 
     1  /dev/sda2 / ext3 rw 0 0
     2  none /proc proc rw 0 0
     3  none /dev/pts devpts rw,gid=5,mode=620 0 0
     4  usbdevfs /proc/bus/usb usbdevfs rw 0 0
     5  /dev/sda1 /boot ext3 rw 0 0
     6  /dev/sda5 /home ext3 rw 0 0
     7  /dev/sda6 /var ext3 rw 0 0
     8  /dev/sda10 /opt ext3 rw 0 0
     9  none /dev/shm tmpfs rw 0 0
    10  /dev/sde1 /archive_log ext3 rw 0 0
    11  ramfs /dev/shm ramfs rw 0 0
    12  /dev/emcpowerbi1 /cx300_devdbc/data1 ext3 rw 0 0
    13  /dev/emcpowerbg1 /cx300_devdbc/data2 ext3 rw 0 0
    14  /dev/emcpowerbj1 /cx300_devdbc/data3 ext3 rw 0 0
    15  /dev/emcpowerbh1 /cx300_devdbc/data4 ext3 rw 0 0
    16  10.1.5.51:/vol/data /netapp51 nfs