歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

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就可以看到修改後的效果了。

Copyright © Linux教程網 All Rights Reserved