啟動掛載(轉)

weixin_34219944發表於2012-08-24

 啟動掛載 /etc/fstab 及 /etc/mtab

剛剛上面說了許多,那麼可不可以在啟動的時候就將我要的檔案系統都掛好呢?這樣我就不需要每次進入 Linux 系統都還要在掛載一次呀!當然可以囉!那就直接到 /etc/fstab 裡面去修修就行囉!不過,在開始說明前,這裡要先跟大家說一說系統掛載的一些限制:

根目錄 / 是必須掛載的﹐而且一定要先於其它 mount point 被掛載進來。

其它 mount point 必須為已建立的目錄﹐可任意指定﹐但一定要遵守必須的系統目錄架構原則

所有 mount point 在同一時間之內﹐只能掛載一次。

所有 partition 在同一時間之內﹐只能掛載一次。

如若進行卸除﹐您必須先將工作目錄移到 mount point(及其子目錄) 之外。

讓我們直接查閱一下 /etc/fstab 這個檔案的內容吧!

[root@www ~]# cat /etc/fstab
# Device        Mount point   filesystem parameters    dump fsck
LABEL=/1          /           ext3       defaults        1 1
LABEL=/home       /home       ext3       defaults        1 2
LABEL=/boot       /boot       ext3       defaults        1 2
tmpfs             /dev/shm    tmpfs      defaults        0 0
devpts            /dev/pts    devpts     gid=5,mode=620  0 0
sysfs             /sys        sysfs      defaults        0 0
proc              /proc       proc       defaults        0 0
LABEL=SWAP-hdc5   swap        swap       defaults        0 0
# 上述特殊字型的部分與實際磁碟有關!其他則是虛擬檔案系統或
# 與記憶體置換空間 (swap) 有關。

 

這個檔案的內容共有六個欄位,這六個欄位非常的重要!你『一定要背起來』才好! 各個欄位的詳細資料如下:其實 /etc/fstab (filesystem table) 就是將我們利用 mount 命令進行掛載時, 將所有的選項與引數寫入到這個檔案中就是了。除此之外, /etc/fstab 還加入了 dump 這個備份用命令的支援! 與啟動時是否進行檔案系統檢驗 fsck 等命令有關。


第一欄:磁碟裝置檔名或該裝置的 Label:

這個欄位請填入檔案系統的裝置檔名。但是由上面表格的預設值我們知道系統預設使用的是 Label 名稱! 在鳥哥的這個測試系統中 /dev/hdc2 標頭名稱為 /1,所以上述表格中的『LABEL=/1』也可以被取代成為『/dev/hdc2』的意思。 至於Label可以使用 dumpe2fs 命令來查閱的。


第二欄:掛載點 (mount point)::

就是掛載點啊!掛載點是什麼?一定是目錄啊~要知道啊!

第三欄:磁碟分割槽槽的檔案系統:

在手動掛載時可以讓系統自動測試掛載,但在這個檔案當中我們必須要手動寫入檔案系統才行! 包括 ext3, reiserfs, nfs, vfat 等等。

第四欄:檔案系統引數:

記不記得我們在 mount 這個命令中談到很多特殊的檔案系統引數? 還有我們使用過的『-o iocharset=cp950』?這些特殊的引數就是寫入在這個欄位啦! 雖然之前在 mount 已經提過一次,這裡我們利用表格的方式再彙整一下:

引數 內容意義
async/sync
非同步/同步
配置磁碟是否以非同步方式執行!預設為 async(效能較佳)
auto/noauto
自動/非自動
當下達 mount -a 時,此檔案系統是否會被主動測試掛載。預設為 auto。
rw/ro
可擦寫/只讀
讓該分割槽以可擦寫或者是隻讀的型態掛載上來,如果你想要分享的資料是不給使用者隨意變更的, 這裡也能夠配置為只讀。則不論在此檔案系統的檔案是否配置 w 許可權,都無法寫入喔!
exec/noexec
可執行/不可執行
限制在此檔案系統內是否可以進行『執行』的工作?如果是純粹用來儲存資料的, 那麼可以配置為 noexec 會比較安全,相對的,會比較麻煩!
user/nouser
允許/不允許使用者掛載
是否允許使用者使用 mount 命令來掛載呢?一般而言,我們當然不希望一般身份的 user 能使用 mount 囉,因為太不安全了,因此這裡應該要配置為 nouser 囉!
suid/nosuid
具有/不具有 suid 許可權
該檔案系統是否允許 SUID 的存在?如果不是執行檔案放置目錄,也可以配置為 nosuid 來取消這個功能!
usrquota 注意名稱是『 usrquota 』不要拼錯了!這個是在啟動 filesystem 支援磁碟配額模式,更多資料我們在第四篇再談。
grpquota 注意名稱是『grpquota』,啟動 filesystem 對群組磁碟配額模式的支援。
defaults 同時具有 rw, suid, dev, exec, auto, nouser, async 等引數。 基本上,預設情況使用 defaults 配置即可!

第五欄:能否被 dump 備份命令作用:

dump 是一個用來做為備份的命令(我們會在第二十五章備份策略中談到這個命令), 我們可以透過 fstab 指定哪個檔案系統必須要進行 dump 備份! 0 代表不要做 dump 備份, 1 代表要每天進行 dump 的動作。 2 也代表其他不定日期的 dump 備份動作, 通常這個數值不是 0 就是 1 啦!

第六欄:是否以 fsck 檢驗扇區:

啟動的過程中,系統預設會以 fsck 檢驗我們的 filesystem 是否完整 (clean)。 不過,某些 filesystem 是不需要檢驗的,例如記憶體置換空間 (swap) ,或者是特殊檔案系統例如 /proc 與 /sys 等等。所以,在這個欄位中,我們可以配置是否要以 fsck 檢驗該 filesystem 喔。 0 是不要檢驗, 1 表示最早檢驗(一般只有根目錄會配置為 1), 2 也是要檢驗,不過 1 會比較早被檢驗啦! 一般來說,根目錄配置為 1 ,其他的要檢驗的 filesystem 都配置為 2 就好了。

/etc/fstab 是啟動時的配置檔案,不過,實際 filesystem 的掛載是記錄到 /etc/mtab 與 /proc/mounts 這兩個檔案當中的。每次我們在更動 filesystem 的掛載時,也會同時更動這兩個檔案喔!

但是,萬一發生您在 /etc/fstab 輸入的資料錯誤,導致無法順利啟動成功,而進入單人維護模式當中,那時候的 / 可是 read only 的狀態,當然您就無法修改 /etc/fstab ,也無法升級 /etc/mtab 囉~那怎麼辦? 沒關係,可以利用底下這一招:

[root@www ~]# mount -n -o remount,rw /

 

相關文章