一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

linux之fstab文件詳解

 昵稱25533110 2017-05-21
        /etc/fstab是用來存放文件系統(tǒng)的靜態(tài)信息的文件。位于/etc/目錄下,可以用命令less /etc/fstab 來查看,如果要修改的話,則用命令 vi /etc/fstab 來修改。

       當系統(tǒng)啟動的時候,系統(tǒng)會自動地從這個文件讀取信息,并且會自動將此文件中指定的文件系統(tǒng)掛載到指定的目錄。下面我來介紹如何在此文件下填寫信息。

     

文件示例

一個簡單的 /etc/fstab,使用內核名稱標識磁盤:

/etc/fstab
# tmpfs /tmp tmpfs nodev,nosuid 0 0/dev/sda1 / ext4 defaults,noatime 0 1/dev/sda2 none swap defaults 0 0/dev/sda3 /home ext4 defaults,noatime 0 2

字段定義

/etc/fstab 文件包含了如下字段,通過空格或 Tab 分隔:

  • - 要掛載的分區(qū)或存儲設備.
  • - 的掛載位置。
  • - 要掛載設備或是分區(qū)的文件系統(tǒng)類型,支持許多種不同的文件系統(tǒng):ext2,ext3, ext4, reiserfs,xfs, jfs, smbfs,iso9660, vfat, ntfs,swapauto。 設置成auto類型,mount 命令會猜測使用的文件系統(tǒng)類型,對 CDROM 和 DVD 等移動設備是非常有用的。
  • - 掛載時使用的參數(shù),注意有些mount 參數(shù)是特定文件系統(tǒng)才有的。一些比較常用的參數(shù)有:
  • auto - 在啟動時或鍵入了mount -a 命令時自動掛載。
  • noauto - 只在你的命令下被掛載。
  • exec - 允許執(zhí)行此分區(qū)的二進制文件。
  • noexec - 不允許執(zhí)行此文件系統(tǒng)上的二進制文件。
  • ro - 以只讀模式掛載文件系統(tǒng)。
  • rw - 以讀寫模式掛載文件系統(tǒng)。
  • user - 允許任意用戶掛載此文件系統(tǒng),若無顯示定義,隱含啟用noexec, nosuid, nodev 參數(shù)。
  • users - 允許所有 users 組中的用戶掛載文件系統(tǒng).
  • nouser - 只能被 root 掛載。
  • owner - 允許設備所有者掛載.
  • sync - I/O 同步進行。
  • async - I/O 異步進行。
  • dev - 解析文件系統(tǒng)上的塊特殊設備。
  • nodev - 不解析文件系統(tǒng)上的塊特殊設備。
  • suid - 允許 suid 操作和設定 sgid 位。這一參數(shù)通常用于一些特殊任務,使一般用戶運行程序時臨時提升權限。
  • nosuid - 禁止 suid 操作和設定 sgid 位。
  • noatime - 不更新文件系統(tǒng)上 inode 訪問記錄,可以提升性能(參見 atime 參數(shù))。
  • nodiratime - 不更新文件系統(tǒng)上的目錄 inode 訪問記錄,可以提升性能(參見 atime 參數(shù))。
  • relatime - 實時更新 inode access 記錄。只有在記錄中的訪問時間早于當前訪問才會被更新。(與 noatime 相似,但不會打斷如 mutt 或其它程序探測文件在上次訪問后是否被修改的進程。),可以提升性能(參見 atime 參數(shù))。
  • flush - vfat 的選項,更頻繁的刷新數(shù)據(jù),復制對話框或進度條在全部數(shù)據(jù)都寫入后才消失。
  • defaults - 使用文件系統(tǒng)的默認掛載參數(shù),例如ext4 的默認參數(shù)為:rw,suid, dev, exec, auto, nouser,async.
  • dump 工具通過它決定何時作備份. dump 會檢查其內容,并用數(shù)字來決定是否對這個文件系統(tǒng)進行備份。 允許的數(shù)字是 0 和 1 。0 表示忽略, 1 則進行備份。大部分的用戶是沒有安裝 dump 的 ,對他們而言 應設為 0。
  • fsck 讀取 的數(shù)值來決定需要檢查的文件系統(tǒng)的檢查順序。允許的數(shù)字是0, 1, 和2。 根目錄應當獲得最高的優(yōu)先權 1, 其它所有需要被檢查的設備設置為 2. 0 表示設備不會被 fsck 所檢查。

文件系統(tǒng)標識

/etc/fstab配置文件中你可以以三種不同的方法表示文件系統(tǒng):內核名稱、UUID 或者 label。使用 UUID 或是 label 的好處在于它們與磁盤順序無關。如果你在 BIOS 中改變了你的存儲設備順序,或是重新拔插了存儲設備,或是因為一些 BIOS 可能會隨機地改變存儲設備的順序,那么用 UUID 或是 label 來表示將更有效。參見 持久化塊設備名稱 。

要顯示分區(qū)的基本信息請運行:

$ lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINTsda ├─sda1 ext4 Arch_Linux 978e3e81-8048-4ae1-8a06-aa727458e8ff /├─sda2 ntfs Windows 6C1093E61093B594 └─sda3 ext4 Storage f838b24e-3a66-4d02-86f4-a2e73e454336 /media/Storagesdb ├─sdb1 ntfs Games 9E68F00568EFD9D3 └─sdb2 ext4 Backup 14d50a6c-e083-42f2-b9c4-bc8bae38d274 /media/Backupsdc └─sdc1 vfat Camera 47FA-4071 /media/Camera

內核名稱

你可以使用 fdisk -l 來獲得內核名稱,前綴是dev.

標簽

注意: 使用這一方法,每一個標簽必須是唯一的.

要顯示所有設備的標簽,可以使用 lsblk -f 命令。在/etc/fstab 中使用 LABEL= 作為設備名的開頭 :

/etc/fstab
# tmpfs /tmp tmpfs nodev,nosuid 0 0 LABEL=Arch_Linux / ext4 defaults,noatime 0 1LABEL=Arch_Swap none swap defaults 0 0

UUID

所有分區(qū)和設備都有唯一的 UUID。它們由文件系統(tǒng)生成工具 (mkfs.*) 在創(chuàng)建文件系統(tǒng)時生成。

lsblk -f 命令將顯示所有設備的 UUID 值。/etc/fstab 中使用UUID= 前綴:

/etc/fstab
# tmpfs /tmp tmpfs nodev,nosuid 0 0 UUID=24f28fc6-717e-4bcd-a5f7-32b959024e26 / ext4 defaults,noatime 0 1UUID=03ec5dd3-45c0-4f95-a363-61ff321a09ff /home ext4 defaults,noatime 0 2UUID=4209c845-f495-4c43-8a03-5363dd433153 none swap defaults 0 0

提示和技巧

自動掛載

  • 如果 /home 分區(qū)較大,可以讓不依賴/home 分區(qū)的服務先啟動。把下面的參數(shù)添加到/etc/fstab 文件中 /home 項目的參數(shù)部分即可:
noauto,x-systemd.automount

這樣 /home 分區(qū)只有需要訪問時才會被掛載。內核會緩存所有的文件操作,直到/home 分區(qū)準備完成。

注意: 這樣做會使 /home 的文件系統(tǒng)類型被識別為 autofs,造成 mlocate 查詢時忽略該目錄。實際加速效果因配置而異,所以請自己權衡是否需要。
  • 掛載遠程文件系統(tǒng)也是同理。如果你僅想在需要的時候才掛載,也可以添加 noauto,x-systemd.automount 參數(shù)。另外,可以設置 x-systemd.device-timeout=# 參數(shù),設置超時時間,以防止網(wǎng)絡資源不能訪問的時候浪費時間。
  • 如果你的加密文件系統(tǒng)需要密鑰,則需要添加 noauto 參數(shù)到 /etc/crypttab 文件中的對應位置。systemd 開機的時候就不會打開這個加密設備,會一直等待到設備被訪問時再使用密鑰文件掛載。比如在使用加密RAID設備的時候可以節(jié)省一定的時間,因為 systemd 不必等到設備可用后才能訪問。例如:
/etc/crypttab
data /dev/md0 /root/key noauto

交換分區(qū) UUID

如果交換分區(qū)沒有 UUID,可以手動加入。如果使用 lsblk -f 命令沒有列出交換分區(qū)的 UUID 就說明發(fā)生了這種情況。下面是為交換分區(qū)指定 UUID 的步驟:

確定交換分區(qū):

# swapon -s

禁用交換分區(qū):

# swapoff /dev/sda7

用新 UUID 重新創(chuàng)建交換分區(qū):

# mkswap -U random /dev/sda7

激活交換分區(qū):

# swapon /dev/sda7

路徑名有空格

如果掛載的路徑中有空格,可以使用 '\040' 轉義字符來表示空格(以三位八進制數(shù)來進行表示)

/etc/fstab
UUID=47FA-4071 /home/username/Camera\040Pictures vfat defaults,noatime 0 2/dev/sda7 /media/100\040GB\040(Storage) ext4 defaults,noatime,user 0 0

.....}}

外部設備

外部設備在插入時掛載,在未插入時忽略。這需要 nofail 選項,可以在啟動時若設備不存在直接忽略它而不報錯.

/etc/fstab
/dev/sdg1 /media/backup jfs defaults,nofail 0 2

atime 參數(shù)

使用 noatime, nodiratimerelatime 可以提升 ext2, ext3 及 ext4 格式磁盤的性能。 Linux 在默認情況下使用atime選項,每次在磁盤上讀?。ɑ驅懭耄?shù)據(jù)時都會產(chǎn)生一個記錄。這是為服務器設計的,在桌面使用中意義不大。默認的atime 選項最大的問題在于即使從頁面緩存讀取文件(從內存而不是磁盤讀取),也會產(chǎn)生磁盤寫操作!

使用 noatime 選項阻止了讀文件時的寫操作。大部分應用程序都能很好工作。只有少數(shù)程序如 Mutt 需要這些信息。Mutt 的用戶應該使用relatime 選項。使用 relatime 選項后,只有文件被修改時才會產(chǎn)生文件訪問時間寫操作。nodiratime 選項僅對目錄禁用了文件訪問時間。relatime 是比較好的折衷,Mutt 等程序還能工作,但是仍然能夠通過減少訪問時間更新提升系統(tǒng)性能。

注意: noatime 已經(jīng)包含了nodiratime。不需要同時指定。

tmpfs

tmpfs 是一個臨時文件系統(tǒng),駐留于你的交換分區(qū)或是內存中(取決于你的使用情況)。使用它可以提高文件訪問速度,并能保證重啟時會自動清除這些文件。

經(jīng)常使用 tmpfs 的目錄有 /tmp, /var/lock and /var/run. 不要將之使用于 /var/tmp, 因為這一目錄中的臨時文件在重啟過程中需要被保留。使用 tmpfs /run 目錄,/var/run/var/lock 是為了兼容老版本建立的鏈接。默認/etc/fstab中的的/tmp也是 tmpfs.

默認情況下, tmpfs 分區(qū)被設置為你總的內存的一半,當然你可以自由設定這一值。注意實際中內存和交換分區(qū)的使用情況取決于你的使用情況,而 tmpfs 分區(qū)在其真正使用前是不會占用存儲空間的。

要將 /tmp 放到 tmpfs,將下行加入/etc/fstab

/etc/fstab
.....tmpfs /tmp tmpfs nodev,nosuid 0 0.....

可以指定大小,但不要修改 mode 選項,以保證文件具有正確的訪問權限(1777)。在上例中/tmp 將最多使用一半內存,要指定最大空間,使用size 掛載選項:

/etc/fstab
.....tmpfs /tmp tmpfs nodev,nosuid,size=2G 0 0.....

這里有一個更高級的例子,展示如何為用戶添加 tmpfs 掛載。這對于網(wǎng)站、mysql 臨時文件, ~/.vim/, 和其他情況很有用。嘗試并獲得理想的掛載選項來完成目標是很重要的。目標是盡量采用安全的策略來防止濫用。限制大小,同時指定 uid 和 gid 加上 mode 是非常安全的。更多信息.

/etc/fstab
tmpfs /www/cache tmpfs rw,size=1G,nr_inodes=5k,noexec,nodev,nosuid,uid=648,gid=648,mode=1700 0 0

參閱 mount 命令 man 手冊以獲得更多的內容。

重啟后方能生效。注意不要直接執(zhí)行 mount -a 命令,因為可能造成無法訪問當前目錄中的文件(比如你應該保證 lockfiles 的正常存在)。然而,如果它們都是空的,那么就可以直接執(zhí)行mount -a 而不必重啟電腦。

應用更改后,可以通過 findmnt 檢查是否生效:

$ findmnt --target /tmp
TARGET SOURCE FSTYPE OPTIONS/tmp tmpfs tmpfs rw,nosuid,nodev,relatime

使用

一般需要大量讀寫操作的程序在使用 tmpfs 時都會提升性能。有些程序把共享內存放到 tmpfs 上時性能會大幅提升,例如將 Firefox Profile 文件夾放到內存后,F(xiàn)irefox 性能大幅提升。

Note: tmpfs 目錄(/tmp) 掛載時需要去掉noexec 參數(shù),否則有些編譯程序無法執(zhí)行,此外,tmpfs 的默認大小是內存的一般,可能會產(chǎn)生空間不夠的問題。

下面命令可以讓makepkg在tmpfs目錄進行編輯,也可以在在/etc/makepkg.conf中進行設置:

$ BUILDDIR=/tmp/makepkg makepkg

普通用戶讀寫 FAT32

為了取得對 FAT32 分區(qū)的寫權限,你必須修改/etc/fstab文件。

/etc/fstab
/dev/sdxY /mnt/some_folder vfat user,rw,umask=000 0 0

“users”標簽的意思是任何用戶(甚至非 root 用戶)都可以掛載或卸載分區(qū) '/dev/sdX'。“rw”標簽則分配讀寫的使用權。但我不知道“umask”標簽的意義(umask 是權限掩碼命令 umask=000 指任何人沒有特權,且權限為777,即所有人都可以讀、寫、執(zhí)行)。我曾試圖在“man mount”中查詢,但是沒有什么結果。

比如你的 FAT32 分區(qū)在 '/dev/sda9',你想將其掛載到 '/mnt/fat32',那么你需要輸入并運行

/etc/fstab
/dev/sda9 /mnt/fat32 vfat user,rw,umask=111,dmask=000 0 0


參考自:https://wiki./index.php/Fstab

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    91日韩欧美国产视频| av在线免费播放一区二区| 国产毛片对白精品看片| 成人精品日韩专区在线观看| 视频一区日韩经典中文字幕| 亚洲一区二区精品福利| 五月天丁香婷婷狠狠爱| 在线免费国产一区二区| 中文字幕av诱惑一区二区| 欧美一区二区三区播放| 伊人欧美一区二区三区| 欧美二区视频在线观看| 国产精品不卡免费视频| 69久久精品亚洲一区二区| 国产户外勾引精品露出一区 | 欧美日韩免费观看视频| 久久亚洲精品中文字幕| 国产亚洲欧美日韩精品一区| 好吊视频一区二区在线| 国产一区国产二区在线视频| 欧美日韩成人在线一区| 久久精品福利在线观看| 黄色美女日本的美女日人| 99在线视频精品免费播放| 日韩丝袜诱惑一区二区| 中文字幕禁断介一区二区| 黄男女激情一区二区三区| 欧美黄色黑人一区二区| 又黄又爽禁片视频在线观看| 国产又色又粗又黄又爽| 亚洲av熟女国产一区二区三区站| 中文字幕日韩欧美亚洲午夜| 四季精品人妻av一区二区三区| 精品欧美日韩一二三区| 午夜久久精品福利视频| 97精品人妻一区二区三区麻豆| 欧美午夜一级艳片免费看| 国产一区二区三区午夜精品| 久久精品免费视看国产成人| 99久久精品免费精品国产| 隔壁的日本人妻中文字幕版|