Linux配置啟動掛載:fstab檔案詳解
阿新 • • 發佈:2019-02-14
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特性,提高效能,這是一個很老的特性,放心關閉,還能減少loadcycledefaults
使用預設設定。等於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
就可以看到修改後的效果了。