當(dāng)前位置:首頁 > IT技術(shù) > 系統(tǒng)服務(wù) > 正文

Linux From Scratch(LFS11.0)使 LFS 系統(tǒng)可引導(dǎo) - 創(chuàng)建 /etc/fstab 文件
2021-10-11 15:04:48

現(xiàn)在應(yīng)該配置 LFS 系統(tǒng),使其可以引導(dǎo)了。本章討論創(chuàng)建 /etc/fstab 文件,為新的 LFS 系統(tǒng)構(gòu)建內(nèi)核,以及安裝 GRUB 引導(dǎo)加載器,使得系統(tǒng)引導(dǎo)時(shí)可以選擇進(jìn)入 LFS 系統(tǒng)。

一些程序使用 /etc/fstab 文件,以確定哪些文件系統(tǒng)是默認(rèn)掛載的,和它們應(yīng)該按什么順序掛載,以及哪些文件系統(tǒng)在掛載前必須被檢查 (確定是否有完整性錯(cuò)誤)。參考以下命令,創(chuàng)建一個(gè)新的文件系統(tǒng)表:

cat > /etc/fstab << "EOF"
# Begin /etc/fstab

# 文件系統(tǒng) 掛載點(diǎn) 類型 選項(xiàng) 轉(zhuǎn)儲(chǔ) 檢查
# 順序

/dev/<xxx> / <fff> defaults 1 1
/dev/<yyy> swap swap pri=1 0 0

# End /etc/fstab
EOF


將 、 和 替換為適用于您的系統(tǒng)的值,例如 sda2、sda5 和 ext4。

cat > /etc/fstab << "EOF"
# Begin /etc/fstab
# file system mount-point type options dump fsck
# order

/dev/sda3 / ext4 defaults 1 1
/dev/sda4 swap swap pri=1 0 0

# End /etc/fstab
EOF

在掛載來源于 MS-DOS 或 Windows 的文件系統(tǒng) (如 vfat、ntfs、smbfs、cifs、iso9660、udf) 時(shí),需要一個(gè)特殊的掛載選項(xiàng) —— utf8,才能正常解析文件名中的非 ASCII 字符。

對(duì)于非 UTF-8 locale,選項(xiàng) iocharset 的值應(yīng)該和您的 locale 字符集設(shè)定一致,但改寫成內(nèi)核可以識(shí)別的寫法。該選項(xiàng)能夠正常工作的前提是,將相關(guān)的字符集定義 (在內(nèi)核配置選項(xiàng)的 File Systems -> Native Language Support 子菜單中) 編譯到內(nèi)核中,或構(gòu)建為內(nèi)核模塊。然而,如果使用了 UTF-8 locale,對(duì)應(yīng)的 iocharset=utf8 會(huì)導(dǎo)致文件系統(tǒng)變得大小寫敏感。

為了避免這個(gè)問題,在使用 UTF-8 locale 時(shí),需要用特殊選項(xiàng) utf8 代替 iocharset=utf8。另外,vfat 和 smbfs 文件系統(tǒng)還需要“codepage”選項(xiàng),它應(yīng)該被設(shè)定為您的語言在 MS-DOS 下的代碼頁編號(hào)。

例如,為了掛載一個(gè) USB 閃存盤,一個(gè) ru_RU.KOI8-R 用戶應(yīng)該在 /etc/fstab 中對(duì)應(yīng)于閃存盤的行添加下列掛載選項(xiàng):

noauto,user,quiet,showexec,codepage=866,iocharset=koi8r

相應(yīng)的,ru_RU.UTF-8 用戶應(yīng)該使用下列選項(xiàng):

noauto,user,quiet,showexec,codepage=866,utf8

注意此時(shí)使用的 iocharset 默認(rèn)為 iso8859-1 (這保證文件系統(tǒng)是大小寫不敏感的),而 utf8 選項(xiàng)告訴內(nèi)核使用 UTF-8 編碼轉(zhuǎn)換文件名,這樣它們就能在 UTF-8 locale 中被正確解析。

也可以在內(nèi)核配置中,為一些文件系統(tǒng)指定默認(rèn) codepage 和 iocharset 選項(xiàng)值。相關(guān)的配置參數(shù)名為“Default NLS Option” (CONFIG_NLS_DEFAULT),“Default Remote NLS Option” (CONFIG_SMB_NLS_DEFAULT),“Default codepage for FAT” (CONFIG_FAT_DEFAULT_CODEPAGE),以及 “Default iocharset for FAT” (CONFIG_FAT_DEFAULT_IOCHARSET)。無法在編譯內(nèi)核時(shí)為 ntfs 文件系統(tǒng)指定這些默認(rèn)值。

在某些硬盤上,通過將 barrier=1 掛載選項(xiàng)加入 /etc/fstab,可以使得 ext3 文件系統(tǒng)在發(fā)生電源故障時(shí)更可靠。為了檢查磁盤驅(qū)動(dòng)器是否支持該選項(xiàng),在可用的磁盤驅(qū)動(dòng)器上運(yùn)行 hdparm。例如:

hdparm -I /dev/sda | grep NCQ

如果輸出內(nèi)容不為空,說明該選項(xiàng)可用。

注意:基于邏輯卷管理 (LVM) 的分區(qū)不能使用 barrier 選項(xiàng)。



本次分享到此結(jié)束啦~

技術(shù)交流可以 關(guān)注公眾號(hào):Lucifer三思而后行?

本文摘自 :https://blog.51cto.com/l

開通會(huì)員,享受整站包年服務(wù)立即開通 >