Linux配置啟動掛載:fstab檔案詳解
fstab檔案介紹
fstab檔案包含了你的電腦上的存放裝置及其檔案系統的資訊。它是決定一個硬碟(分區)被怎樣使用或者說整合到整個系統中的檔案。具體來說:用fstab可以自動掛載各種檔案系統格式的硬碟、分區、可行動裝置和遠程裝置等。對於Windows與Linux雙作業系統使用者,用fstab掛載FAT格式和NTFS格式的分區,可以在Linux中共用windows系統下的資源。
這個檔案的全路徑是/etc/fstab。它只是一個文字檔,你能夠用你喜歡的編輯器開啟它,但是必須是root使用者才能編輯它。同時fsck、mount、umount的等命令都利用該程式。
/etc/fstab 是啟動時的設定檔,不過,實際 filesystem 的掛載是記錄到 /etc/mtab 與 /proc/mounts 這兩個檔案當中的。每次我們在更動 filesystem 的掛載時,也會同時更動這兩個檔案喔!
系統掛載的一些限制:
- 根目錄 / 是必須掛載的﹐而且一定要先於其它 mount point 被掛載進來。
- 其它 mount point 必須為已建立的目錄﹐可任意指定﹐但一定要遵守必須的系統目錄架構原則
- 所有 mount point 在同一時間之內﹐只能掛載一次。
- 所有 partition 在同一時間之內﹐只能掛載一次。
- 如若進行卸載﹐您必須先將工作目錄移到 mount point(及其子目錄) 之外。
檔案各欄位解釋
樣本:
# <fs> <mountpoint> <type> <opts> <dump/pass># NOTE: If your BOOT partition is ReiserFS, add the notail option to opts./dev/sda10 /boot ext4 noauto,noatime 1 2/dev/sda6 / ext4 noatime 0 1/dev/sda9 none swap sw 0 0/dev/cdrom /mnt/cdrom auto noauto,ro 0 0
其實 /etc/fstab (filesystem table) 就是將我們利用 mount 命令進行掛載時, 將所有的選項與參數寫入到這個檔案中就是了。除此之外, /etc/fstab 還加入了 dump 這個備份用命令的支援! 與啟動時是否進行檔案系統檢驗 fsck 等命令有關。
- <file systems> 掛載裝置 : 不是我們通常理解的檔案系統,而是指裝置(硬碟及其分區,DVD光碟機等)。它告知我們裝置(分區)的名字,這是你在命令列中掛載(mount)、卸載(umount)裝置時要用到的。
- <mountpoint> 掛載點:告訴我們裝置掛載到哪裡。
- <type> 檔案系統類型:Linux支援許多檔案系統。 要得到一個完整的支援名單尋找mount man-page。典型 的名字包括這些:ext2, ext3, reiserfs, xfs, jfs,iso9660, vfat, ntfs, swap和auto, 'auto' 不是一個檔案系統,而是讓mount命令自動判斷檔案類型,特別對於可行動裝置,磁碟片,DVD磁碟機,這樣做是很有必要的,因為可能每次掛載的檔案類型不一致。
- <opts> 檔案系統參數:這部分是最有用的設定!!! 它能使你所掛載的裝置在開機時自動載入、使中文顯示不出現亂碼、限制對掛載分區讀寫權限。它是與mount命令的用法相關的,要想得到一個完整的列表,參考mount manpage.
- <dump> 備份命令:dump utility用來決定是否做備份的. dump會檢查entry並用數字來決定是否對這個檔案系統進行備份。允許的數字是0和1。如果是0,dump就會忽略這個檔案系統,如果是1,dump就會作一個備份。大部分的使用者是沒有安裝dump的,所以對他們而言<dump>這個entry應該寫為0。
- <pass> 是否以fsck檢驗扇區:啟動的過程中,系統預設會以fsck檢驗我們的 filesystem 是否完整 (clean)。 不過,某些 filesystem 是不需要檢驗的,例如記憶體置換空間 (swap) ,或者是特殊檔案系統例如 /proc 與 /sys 等等。fsck會檢查這個頭目下的數字來決定檢查檔案系統的順序,允許的數字是0, 1, 和2。0 是不要檢驗, 1 表示最早檢驗(一般只有根目錄會配置為 1), 2 也是要檢驗,不過1會比較早被檢驗啦!一般來說,根目錄配置為1,其他的要檢驗的filesystem都配置為 2 就好了。
<opts>常用參數:
noatime 關閉atime特性,提高效能,這是一個很老的特性,放心關閉,還能減少loadcycle
defaults 使用預設設定。等於rw,suid,dev,exec,auto,nouser,async,具體含義看下面的解釋。
- 自動與手動掛載:
auto 在啟動或在終端中輸入mount -a時自動掛載
noauto 裝置(分區)只能手動掛載
- 讀寫權限:
ro 掛載為唯讀許可權
rw 掛載為讀寫權限
- 可執行:
exec 是一個預設設定項,它使在那個分區中的可執行檔二進位檔案能夠執行
noexec 二進位檔案不允許執行。千萬不要在你的root分區中用這個選項!!!
- I/O同步:
sync 所有的I/O將以同步方式進行
async 所有的I/O將以非同步方式進行
- 戶掛載許可權:
user 允許任何使用者掛載裝置。 Implies noexec,nosuid,nodev unless overridden.
nouser 只允許root使用者掛載。這是預設設定。
- 臨時檔案執行許可權:
suid Permit the operation of suid, and sgid bits. They are mostly used to allow users on a computer system to execute binary executables with temporarily elevated privileges in order to perform a specific task.
nosuid Blocks the operation of suid, and sgid bits.
重啟系統
重啟系統,或在終端中輸入mount -a就可以看到修改後的效果了。
本文永久更新連結地址: