linux /etc/fstab 功能說明

最近去客戶現場時,遇到 了一個關於掛載文件/etc/fstab文件的問題,就寫了一下/etc/fstab文件的作用一個文件中各個參數的含義。供大家參考有不正確的地方敬請指正。

一、/etc/fstab文件的作用
         磁碟被手動掛載之後都必須把掛載訊息寫入/etc/fstab這個文件中,否則下次開機啟動時仍然需要重新掛載。
        系統開機時會主動讀取/etc/fstab這個文件中的內容,根據文件裡面的配置掛載磁碟。這樣我們只需要將磁碟的掛載訊息寫入這個文件中我們就不需要每次開機啟動之後手動進行掛載了。

二、掛載的限制
    在說明這個文件的作用之前我想先強調一下掛載的限制。
1、根目錄是必須掛載的,而且一定要先於其他mount point被掛載。因為mount是所有目錄的跟目錄,其他木有都是由根目錄 /衍生出來的。
2、掛載點必須是已經存在的目錄。
3、掛載點的指定可以任意,但必須遵守必要的系統目錄架構原則
4、所有掛載點在同一時間只能被掛載一次
5、所有分區在同一時間只能掛在一次
6、若進行卸載,必須將工作目錄退出掛載點(及其子目錄)之外。

三、/etc/fstab文件中的參數
下面我們看看看/etc/fstab文件,這是我的linux環境中/etc/fstab文件中的內容
[root@wpg ~]# cat /etc/fstab
# This file is edited by fstab-sync - see 'man fstab-sync' for details
# Device                Mount point        filesystem   parameters  dump fsck
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
none                    /dev/pts                devpts  gid=5,mode=620  0 0
none                    /dev/shm                tmpfs   defaults        0 0
none                    /proc                   proc    defaults        0 0
none                    /sys                    sysfs   defaults        0 0
LABEL=SWAP-sda3         swap                    swap    defaults        0 0
/dev/sdb1               /u01                    ext3    defaults        1 2
UUID=18823fc1-2958-49a0-9f1e-e1316bd5c2c5       /u02    ext3    defaults        1 2
/dev/hdc                /media/cdrom1           auto    pamconsole,exec,noauto,managed 0 0
/dev/fd0                /media/floppy           auto    pamconsole,exec,noauto,managed 0 0

在文件中我已經把每一列都做出來表示方便識別,我們可以看到一共有六列。
第一列 Device
        磁碟設備文件或者該設備的Label或者UUID
1)查看分區的labeluuid
 Label就是分區的標籤,在最初安裝系統是填寫的掛載點就是標籤的名字。可以通過查看一個分區的superblock中的訊息找到UUIDLabel name
例如我們要查看/dev/sda1這個設備的uuidlabel name
[root@wpg u02]# dumpe2fs -h /dev/sda1
dumpe2fs 1.35 (28-Feb-2004)
Filesystem volume name:   /boot   //這個就是Label name
Last mounted on:         
Filesystem UUID:          3b10fe13-def4-41b6-baae-9b4ef3b3616c    //UUID
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super
Default mount options:    (none)
Filesystem state:         clean
簡單點的方式我們可以通過下面這個命令來查看
[root@wpg u02]# blkid /dev/sda1
/dev/sda1: LABEL="/boot" UUID="3b10fe13-def4-41b6-baae-9b4ef3b3616c" SEC_TYPE="ext3" TYPE="ext2"

2)使用設備名和labeluuid作為標識的不同
          使用設備名稱(/dev/sda)來掛載分區時是被固定死的,一旦磁碟的插槽順序發生了變化,就會出現名稱不對應的問題。因為這個名稱是會改變的。
不過使用label掛載就不用擔心插槽順序方面的問題。不過要隨時注意你的Label name
至於UUID,每個分區被格式化以後都會有一個UUID作為唯一的標識號。使用uuid掛載的話就不用擔心會發生錯亂的問題了。



第二列 Mount point
       設備的掛載點,就是你要掛載到哪個目錄下。

第三列 filesystem
磁碟文件系統的格式,包括ext2ext3reiserfsnfsvfat

第四列 parameters
文件系統的參數
Async/sync
設置是否為同步方式執行,預設為async
auto/noauto 
 當下載mount -a 的命令時,此文件系統是否被主動掛載。預設為auto
rw/ro        
 是否以以只讀或者讀寫模式掛載
exec/noexec        
 限制此文件系統內是否能夠進行"執行"的操作
user/nouser
是否允許用戶使用mount命令掛載
suid/nosuid
是否允許SUID的存在
Usrquota
啟動文件系統支持磁碟配額模式
Grpquota
啟動文件系統對群組磁碟配額模式的支持
Defaults
同事具有rw,suid,dev,exec,auto,nouser,async等預設參數的設置

第四列:能否被dump備份命令作用
         dump是一個用來作為備份的命令。通常這個參數的值為0或者1
         0
代表不要做dump備份
         1
代表要每天進行dump的操作
         2
代表不定日期的進行dump操作

第六列 是否檢驗扇區
開機的過程中,系統預設會以fsck檢驗我們系統是否為完整(clean)。
0
不要檢驗
1
最早檢驗(一般根目錄會選擇)
2
1

留言

這個網誌中的熱門文章

c語言-關於#define用法

CMD常用網管指令

PHP 與 JavaScript 之間傳值利用 json