Gentoo 後的幾個細節的完善
- 2021 年 5 月 13 日
- 筆記
- 從LFS到自己的LINUX 發行版
Gentoo 後的幾個細節的完善
細節一:引導分區與 cdrom 開機正確掛載
根據 gentoo手冊 安裝了 gentoo Linux 後,按照手冊示例,分區配置文件 /etc/fstab 應該如下。
/dev/sda2 /boot ext2 defaults,noatime 0 2
/dev/sda3 none swap sw 0 0
/dev/sda4 / ext4 noatime 0 1
/dev/cdrom /mnt/cdrom auto noauto,user 0 0
我們用 EFI 韌體啟動系統,那麼,引導分區 /dev/sda2 應該格式成了 vfat 分區格式,如果按上述配置文件配置分區,系統啟動時由於格式並非為配置文件中確定的 et2 格式,無法把 /dev/sda2 掛載到目錄 /boot,雖然系統能啟動,但 /dev/sda2 上既有的內核文件、引導文件等全部無法在目錄 /boot 中找到;並且如此配置,cdrom 並不自動掛載和打開。所以我們做以下細節完善以開機自動正確掛載引導分區 /dev/sda2 和 cdrom。
1、配置表改為如下。
/dev/sda2 /boot vfat defaults,noatime 0 2
/dev/sda3 none swap sw 0 0
/dev/sda4 / ext4 noatime 0 1
/dev/cdrom /mnt/cdrom auto auto 0 0
2、新建目錄 /mnt/cdrom 並把 cdrom 掛載到該目錄。
~# mkdir /mnt/cdrom
~# mount /dev/cdrom /mnt/cdrom
細節二:可預見的命名規則的網路介面名稱改為傳統的 eth0
根據手冊安裝了gentoo linux 後,系統的網路介面名稱是根據可預見的網路設備命名規則命名的,在 VMware 虛擬機上的虛擬網卡就命名為 eno16777736,與手冊上示例的傳統網路介面名稱 eth0 並不相同,如果完全按手冊做,重啟後網路並不能正確啟動。也有的小夥伴就是喜歡傳統介面名稱。是否可以把網路介面名稱改為傳統介面名稱呢?當然可以。
1、編輯配置文件 /etc/default/grub,(在任何行)添加語句 GRUB_CMDLINE_LINUX="net.ifnames=0
,強制不啟用可預見的網路設備命名規則(默認啟用);如果配置文件中已經有該句則在引號內添加 net. ifnames=0 這樣的內容。
~# nano -w /etc/default/grub
2、在 shell 用 grub-mkconfig 命令更新內核啟動參數。
~# grub-mkconfig -o /boot/grub/grub.cfg
細節三:為管理員用戶添加 sudo 命令
系統安裝後,應該添加管理員用戶並盡量用管理員用戶去管理系統,除非必要絕不以 root 用戶登錄。假設已經添加了普通用戶 zhangsan(至於怎麼添加普通用戶 zhangsan,各位小夥伴應該知道),怎麼讓 zhangsan 成為管理員用戶並能用 sudo 命令管理系統呢?
1、安裝 sudo 命令。
~# emerge --ask app-admin/sudo
2、編輯配置文件 /etc/sudoers 文件,直接複製 root ALL=(ALL) ALL
那一行,並修改 root 為用戶名 zhangsan,讓用戶 zhangsan 獲取 root 許可權。
~# nano -w /etc/sudoers
細節四:shell 顯示亂碼糾正
真實終端是不支援顯示中文的(只有在 xwindow 下的 terminal 等終端模擬器中才能顯示中文),中文在終端顯示亂碼(小方塊)。修改 LANG 環境變數即可使得 系統輸出資訊 為英文、在終端能正確顯示;當然用戶在文檔中輸入了中文,終端中打開的文檔編輯器(例如 nano)還是只能顯示亂碼(小方塊)。
~# export LANG=en_US
細節五:時間同步
使用 date 命令查看時間,發現系統時間不一定與本地時間一致。安裝並配置時間同步伺服器 ntp 即可使得系統時間確定為北京時間。
1、安裝時間同步伺服器 ntp。
~# emerge ntp
2、編輯配置文件 /etc/ntp.conf ,更換授時中心為中國國家授時中心。
~# nano -w /etc/ntp.conf
3、最後將時間同步服務 ntpd 添加到啟動中。
~# rc-update add ntpd default
Enjoy Yourself!
參考文檔
[1]、linux網卡命名規則
[2]、gentoo下NTP伺服器配置
[3]、掛載文件系統選項nodiratime、noatime