當系統啟動(dòng)的時(shí)候,系統會(huì )自動(dòng)地從這個(gè)文件讀取信息,并且會(huì )自動(dòng)將此文件中指定的文件系統掛載到指定的目錄。下面我來(lái)介紹如何在此文件下填寫(xiě)信息。
一個(gè)簡(jiǎn)單的 /etc/fstab,使用內核名稱(chēng)標識磁盤(pán):
/etc/fstab 文件包含了如下字段,通過(guò)空格或 Tab 分隔:
ext2,ext3, ext4, reiserfs,xfs, jfs, smbfs,iso9660, vfat, ntfs,swap 及 auto。 設置成auto類(lèi)型,mount 命令會(huì )猜測使用的文件系統類(lèi)型,對 CDROM 和 DVD 等移動(dòng)設備是非常有用的。auto - 在啟動(dòng)時(shí)或鍵入了mount -a 命令時(shí)自動(dòng)掛載。noauto - 只在你的命令下被掛載。exec - 允許執行此分區的二進(jìn)制文件。noexec - 不允許執行此文件系統上的二進(jìn)制文件。ro - 以只讀模式掛載文件系統。rw - 以讀寫(xiě)模式掛載文件系統。user - 允許任意用戶(hù)掛載此文件系統,若無(wú)顯示定義,隱含啟用noexec, nosuid, nodev 參數。users - 允許所有 users 組中的用戶(hù)掛載文件系統.nouser - 只能被 root 掛載。owner - 允許設備所有者掛載.sync - I/O 同步進(jìn)行。async - I/O 異步進(jìn)行。dev - 解析文件系統上的塊特殊設備。nodev - 不解析文件系統上的塊特殊設備。suid - 允許 suid 操作和設定 sgid 位。這一參數通常用于一些特殊任務(wù),使一般用戶(hù)運行程序時(shí)臨時(shí)提升權限。nosuid - 禁止 suid 操作和設定 sgid 位。noatime - 不更新文件系統上 inode 訪(fǎng)問(wèn)記錄,可以提升性能(參見(jiàn) atime 參數)。nodiratime - 不更新文件系統上的目錄 inode 訪(fǎng)問(wèn)記錄,可以提升性能(參見(jiàn) atime 參數)。relatime - 實(shí)時(shí)更新 inode access 記錄。只有在記錄中的訪(fǎng)問(wèn)時(shí)間早于當前訪(fǎng)問(wèn)才會(huì )被更新。(與 noatime 相似,但不會(huì )打斷如 mutt 或其它程序探測文件在上次訪(fǎng)問(wèn)后是否被修改的進(jìn)程。),可以提升性能(參見(jiàn) atime 參數)。flush - vfat 的選項,更頻繁的刷新數據,復制對話(huà)框或進(jìn)度條在全部數據都寫(xiě)入后才消失。defaults - 使用文件系統的默認掛載參數,例如ext4 的默認參數為:rw,suid, dev, exec, auto, nouser,async.在 /etc/fstab配置文件中你可以以三種不同的方法表示文件系統:內核名稱(chēng)、UUID 或者 label。使用 UUID 或是 label 的好處在于它們與磁盤(pán)順序無(wú)關(guān)。如果你在 BIOS 中改變了你的存儲設備順序,或是重新拔插了存儲設備,或是因為一些 BIOS 可能會(huì )隨機地改變存儲設備的順序,那么用 UUID 或是 label 來(lái)表示將更有效。參見(jiàn) 持久化塊設備名稱(chēng) 。
要顯示分區的基本信息請運行:
你可以使用 fdisk -l 來(lái)獲得內核名稱(chēng),前綴是dev.
要顯示所有設備的標簽,可以使用 lsblk -f 命令。在/etc/fstab 中使用 LABEL= 作為設備名的開(kāi)頭 :
所有分區和設備都有唯一的 UUID。它們由文件系統生成工具 (mkfs.*) 在創(chuàng )建文件系統時(shí)生成。
lsblk -f 命令將顯示所有設備的 UUID 值。/etc/fstab 中使用UUID= 前綴:
/home 分區較大,可以讓不依賴(lài)/home 分區的服務(wù)先啟動(dòng)。把下面的參數添加到/etc/fstab 文件中 /home 項目的參數部分即可:這樣 /home 分區只有需要訪(fǎng)問(wèn)時(shí)才會(huì )被掛載。內核會(huì )緩存所有的文件操作,直到/home 分區準備完成。
/home 的文件系統類(lèi)型被識別為 autofs,造成 mlocate 查詢(xún)時(shí)忽略該目錄。實(shí)際加速效果因配置而異,所以請自己權衡是否需要。noauto,x-systemd.automount 參數。另外,可以設置 x-systemd.device-timeout=# 參數,設置超時(shí)時(shí)間,以防止網(wǎng)絡(luò )資源不能訪(fǎng)問(wèn)的時(shí)候浪費時(shí)間。noauto 參數到 /etc/crypttab 文件中的對應位置。systemd 開(kāi)機的時(shí)候就不會(huì )打開(kāi)這個(gè)加密設備,會(huì )一直等待到設備被訪(fǎng)問(wèn)時(shí)再使用密鑰文件掛載。比如在使用加密RAID設備的時(shí)候可以節省一定的時(shí)間,因為 systemd 不必等到設備可用后才能訪(fǎng)問(wèn)。例如:如果交換分區沒(méi)有 UUID,可以手動(dòng)加入。如果使用 lsblk -f 命令沒(méi)有列出交換分區的 UUID 就說(shuō)明發(fā)生了這種情況。下面是為交換分區指定 UUID 的步驟:
確定交換分區:
禁用交換分區:
用新 UUID 重新創(chuàng )建交換分區:
激活交換分區:
如果掛載的路徑中有空格,可以使用 '\040' 轉義字符來(lái)表示空格(以三位八進(jìn)制數來(lái)進(jìn)行表示)
.....}}
外部設備在插入時(shí)掛載,在未插入時(shí)忽略。這需要 nofail 選項,可以在啟動(dòng)時(shí)若設備不存在直接忽略它而不報錯.
使用 noatime, nodiratime 或 relatime 可以提升 ext2, ext3 及 ext4 格式磁盤(pán)的性能。 Linux 在默認情況下使用atime選項,每次在磁盤(pán)上讀?。ɑ驅?xiě)入)數據時(shí)都會(huì )產(chǎn)生一個(gè)記錄。這是為服務(wù)器設計的,在桌面使用中意義不大。默認的atime 選項最大的問(wèn)題在于即使從頁(yè)面緩存讀取文件(從內存而不是磁盤(pán)讀取),也會(huì )產(chǎn)生磁盤(pán)寫(xiě)操作!
使用 noatime 選項阻止了讀文件時(shí)的寫(xiě)操作。大部分應用程序都能很好工作。只有少數程序如 Mutt 需要這些信息。Mutt 的用戶(hù)應該使用relatime 選項。使用 relatime 選項后,只有文件被修改時(shí)才會(huì )產(chǎn)生文件訪(fǎng)問(wèn)時(shí)間寫(xiě)操作。nodiratime 選項僅對目錄禁用了文件訪(fǎng)問(wèn)時(shí)間。relatime 是比較好的折衷,Mutt 等程序還能工作,但是仍然能夠通過(guò)減少訪(fǎng)問(wèn)時(shí)間更新提升系統性能。
noatime 已經(jīng)包含了nodiratime。不需要同時(shí)指定。tmpfs 是一個(gè)臨時(shí)文件系統,駐留于你的交換分區或是內存中(取決于你的使用情況)。使用它可以提高文件訪(fǎng)問(wèn)速度,并能保證重啟時(shí)會(huì )自動(dòng)清除這些文件。
經(jīng)常使用 tmpfs 的目錄有 /tmp, /var/lock and /var/run. 不要將之使用于 /var/tmp, 因為這一目錄中的臨時(shí)文件在重啟過(guò)程中需要被保留。使用 tmpfs /run 目錄,/var/run 和/var/lock 是為了兼容老版本建立的鏈接。默認/etc/fstab中的的/tmp也是 tmpfs.
默認情況下, tmpfs 分區被設置為你總的內存的一半,當然你可以自由設定這一值。注意實(shí)際中內存和交換分區的使用情況取決于你的使用情況,而 tmpfs 分區在其真正使用前是不會(huì )占用存儲空間的。
要將 /tmp 放到 tmpfs,將下行加入/etc/fstab:
可以指定大小,但不要修改 mode 選項,以保證文件具有正確的訪(fǎng)問(wèn)權限(1777)。在上例中/tmp 將最多使用一半內存,要指定最大空間,使用size 掛載選項:
這里有一個(gè)更高級的例子,展示如何為用戶(hù)添加 tmpfs 掛載。這對于網(wǎng)站、mysql 臨時(shí)文件, ~/.vim/, 和其他情況很有用。嘗試并獲得理想的掛載選項來(lái)完成目標是很重要的。目標是盡量采用安全的策略來(lái)防止濫用。限制大小,同時(shí)指定 uid 和 gid 加上 mode 是非常安全的。更多信息.
參閱 mount 命令 man 手冊以獲得更多的內容。
重啟后方能生效。注意不要直接執行 mount -a 命令,因為可能造成無(wú)法訪(fǎng)問(wèn)當前目錄中的文件(比如你應該保證 lockfiles 的正常存在)。然而,如果它們都是空的,那么就可以直接執行mount -a 而不必重啟電腦。
應用更改后,可以通過(guò) findmnt 檢查是否生效:
一般需要大量讀寫(xiě)操作的程序在使用 tmpfs 時(shí)都會(huì )提升性能。有些程序把共享內存放到 tmpfs 上時(shí)性能會(huì )大幅提升,例如將 Firefox Profile 文件夾放到內存后,Firefox 性能大幅提升。
/tmp) 掛載時(shí)需要去掉noexec 參數,否則有些編譯程序無(wú)法執行,此外,tmpfs 的默認大小是內存的一般,可能會(huì )產(chǎn)生空間不夠的問(wèn)題。下面命令可以讓makepkg在tmpfs目錄進(jìn)行編輯,也可以在在/etc/makepkg.conf中進(jìn)行設置:
為了取得對 FAT32 分區的寫(xiě)權限,你必須修改/etc/fstab文件。
“users”標簽的意思是任何用戶(hù)(甚至非 root 用戶(hù))都可以?huà)燧d或卸載分區 '/dev/sdX'?!皉w”標簽則分配讀寫(xiě)的使用權。但我不知道“umask”標簽的意義(umask 是權限掩碼命令 umask=000 指任何人沒(méi)有特權,且權限為777,即所有人都可以讀、寫(xiě)、執行)。我曾試圖在“man mount”中查詢(xún),但是沒(méi)有什么結果。
比如你的 FAT32 分區在 '/dev/sda9',你想將其掛載到 '/mnt/fat32',那么你需要輸入并運行
參考自:https://wiki.archlinux.org/index.php/Fstab
聯(lián)系客服