fstab第四列:掛載選項
fstab中的第四列表示設備或者分區所需要的掛載選項。這一列也是fstab中最復雜最容易出錯的一列,當然,只要你能知道一些最常用的選項是什麼意思,就可以讓你從頭疼中解脫出來。
auto 和 noauto
這是控制設備是否自動掛載的選項。auto是默認選擇的選項,這樣,設備會在啟動或者你使用mount -a命令時按照fstab的內容自動掛載。如果你不希望這樣,就使用noauto選項,如果這樣的話,你就只能明確地通過手工來掛載設備。
user 和 nouser
這是一個非常有用的選項,user選項允許普通用戶也能掛載設備,而nouser則只允許root用戶掛載。nouser是默認選項,這也是讓很多 Linux新手頭疼的東西,因為他們發現沒有辦法正常掛載光驅,Windows分區等。如果你作為普通身份用戶遇到類似問題,或者別的其他問題,就請把 user屬性增加到fstab中。
exec 和 noexec
exec允許你執行對應分區中的可執行二進制程序,同理,noexec的作用剛好相反。如果你擁有一個分區,分區上有一些可執行程序,而恰好你又不願意,或者不能在你的系統中執行他們,就可以使用noexec屬性。這種情況多發生於掛載Windows分區時。exec是默認選項,理由很簡單,如果 noexec變成了你/根分區的默認選項的話……
ro
以只讀來掛載文件系統。
rw
以可讀可寫的屬性來掛載系統。
sync 和 async
對於該文件系統的輸入輸出應該以什麼方式完成。sync的意思就是同步完成,通俗點講,就是當你拷貝一個東西到設備或者分區中時,所有的寫入變化將在你輸入cp命令後立即生效,這個東西應該立馬就開始往設備或者分區裡面拷貝了。而如果是async,也就是輸入輸出異步完成的話,當你拷貝一個東西到設備或者分區中時,可能在你敲擊cp命令後很久,實際的寫入操作才會執行,換句話說,就是進行了緩沖處理。
有時候這種機制蠻不錯的,因為sync會影響你系統的運行速度,但是這也會帶來一些問題。想一想,當你希望將一個文件拷貝到u盤上時,你執行了cp 命令,卻忘記執行umount命令(它會強行將緩沖區內容寫入),那麼你拷貝的文件實際上並沒有在u盤上面。如果你是使用的mv命令,而你又很快將u盤拔出……恭喜你,文件會從這個星球上消失的。因此,雖然async是默認屬性,但是對於u盤,移動硬盤這種可移動存儲設備,最好還是讓他們使用sync選項。
defaults
所有選項全部使用默認配置,包括rw, suid, dev, exec, auto, nouser, 和 async。
一般用戶沒有特殊需求,直接使用defaults就可以了。看完介紹,我們再回過頭去看看前面的示例內容,以光驅為例,主要關注掛載選項這裡,可以看到,光驅和其他分區設備的不同是ro,因為普通光驅是只讀的。而exec則讓你可以從光驅上直接執行某些程序。
fstab第五、六列:dump和fsck選項
Dump和fsck?這是什麼東西?恩,dump是一個備份工具,而fsck是一個文件系統掃描檢查工具。我不會在這裡詳細介紹它們,因為用man或者google都可以獲得更加詳細的信息。
fstab的第五列是表示dump選項,dump工具通過這個選項位置上的數字來決定文件系統是否需要備份。如果是0,dump就會被忽略,事實上,大多數的dump設置都是0。而第六列是fsck選項,fsck命令通過檢測該字段來決定文件系統通過什麼順序來掃描檢查,根文件系統/對應該字段的值應該為1,其他文件系統應該為2。若文件系統無需在啟動時掃描檢查,則設置該字段為0。