Linux命令-自動掛載檔案/etc/fstab功能詳解[轉]
一、/etc/fstab檔案的作用
磁碟被手動掛載之後都必須把掛載資訊寫入/etc/fstab這個檔案中,否則下次開機啟動時仍然需要重新掛載。
系統開機時會主動讀取/etc/fstab這個檔案中的內容,根據檔案裡面的配置掛載磁碟。這樣我們只需要將磁碟的掛載資訊寫入這個檔案中我們就不需要每次開機啟動之後手動進行掛載了。
二、掛載的限制
在說明這個檔案的作用之前我想先強調一下掛載的限制。
1、根目錄是必須掛載的,而且一定要先於其他mount point被掛載。因為mount是所有目錄的跟目錄,其他木有都是由根目錄 /衍生出來的。
2、掛載點必須是已經存在的目錄。
3、掛載點的指定可以任意,但必須遵守必要的系統目錄架構原則
4、所有掛載點在同一時間只能被掛載一次
5、所有分割槽在同一時間只能掛在一次
6、若進行解除安裝,必須將工作目錄退出掛載點(及其子目錄)之外。
三、/etc/fstab檔案中的引數
下面我們看看看/etc/fstab檔案,這是我的linux環境中/etc/fstab檔案中的內容
cat /etc/fstab 檢視當前系統已經存在的掛載資訊
在檔案中我已經把每一列都做出來表示方便識別,我們可以看到一共有六列。
第一列:Device:磁碟裝置檔案或者該裝置的Label或者UUID
1)檢視分割槽的label和uuid
Label就是分割槽的標籤,在最初安裝系統時填寫的掛載點就是標籤的名字。可以通過檢視一個分割槽的superblock中的資訊找到UUID和Label name。
例如:我們要檢視/dev/sda1這個裝置的uuid和label name
dumpe2fs -h /dev/sda1
dumpe2fs 1.35 (28-Feb-2004)
Filesystem volume name: /boot //這個就是Label name
Last mounted on: <not available>
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
簡單點的方式我們可以通過下面這個命令來檢視
blkid
blkid /dev/vda1
2)使用裝置名和label及uuid作為標識的不同
使用裝置名稱(/dev/sda)來掛載分割槽時是被固定死的,一旦磁碟的插槽順序發生了變化,就會出現名稱不對應的問題。因為這個名稱是會改變的。
不過使用label掛載就不用擔心插槽順序方面的問題。不過要隨時注意你的Label name。至於UUID,每個分割槽被格式化以後都會有一個UUID作為唯一的標識號。使用uuid掛載的話就不用擔心會發生錯亂的問題了。
第二列:Mount point:裝置的掛載點,就是你要掛載到哪個目錄下。
第三列:filesystem:磁碟檔案系統的格式,包括ext2、ext3、reiserfs、nfs、vfat等
第四列: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級別檢驗完成之後進行檢驗 |