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