/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