Gentoo安裝記錄
最近打算將手上的 AMD Linux?切換到 Gentoo,寫一篇文章記錄下安裝過程。
本文可能不適用于Linux新手,無論你是Linux安裝老手還是對于無UI的Linux安裝過程不太了解,都建議你在有任何疑惑時優(yōu)先查看Gentoo官方Wiki,**本文僅作為安裝參考**,而且安裝過程中一些概念我也沒有進(jìn)行詳細(xì)解釋。當(dāng)然,我會在每個小結(jié)最后貼上部分參考鏈接,方便查閱。
Gentoo 安裝過程很長,請準(zhǔn)備充足的時間再嘗試安裝,否則中斷后再進(jìn)行比較麻煩!
B站富文本排版太丑,推薦網(wǎng)站閱讀:https://blog.ticks.cc/posts/id/09061821/
關(guān)于Gentoo
Gentoo也是一個歷史比較悠久的Linux發(fā)行版,特點是系統(tǒng)安裝最小化,允許用戶自行選擇各種軟件包完成系統(tǒng)組裝,軟件安裝采用源碼編譯,針對每個設(shè)備進(jìn)行過優(yōu)化,軟件運(yùn)行效率可能更高。軟件包更新沒有ArchLinux激進(jìn),但又不至于像Debian那樣總是使用穩(wěn)定的軟件版本。
參考:
Gentoo 官網(wǎng):https://www.gentoo.org/
Gentoo Wiki:https://wiki.gentoo.org/wiki/Main_Page
Gentoo 百度百科:https://baike.baidu.com/item/Gentoo/1205576
準(zhǔn)備安裝介質(zhì)
Gentoo安裝不同于Ubuntu、Arch那樣使用自己的安裝介質(zhì),Gentoo允許你使用其他Linux安裝介質(zhì),因為Gentoo安裝只需要借助安裝介質(zhì)中的各種工具,比如磁盤格式化、連接網(wǎng)絡(luò)下載文件等。由于我從Arch換到Gentoo,所以我這里直接使用了Arch的安裝介質(zhì),比較方便而且Arch安裝介質(zhì)中的 `fstab` 工具也蠻好用的。
當(dāng)然Gentoo也提供了官方的安裝介質(zhì),篇幅原因這里不介紹如何燒錄Linux安裝介質(zhì)到U盤中,Windows用戶可以使用?[Rufus](https://rufus.ie/zh/),ArchLinux ISO 下載地址:[清華鏡像站-ArchLinux](https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/latest/) 。
參考
Gentoo Wiki - 選擇正確的安裝介質(zhì):https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Media/zh-cn
知乎 - Rufus制作USB啟動盤:https://zhuanlan.zhihu.com/p/370193387
網(wǎng)絡(luò)配置
燒錄好安裝介質(zhì)后可以插上U盤并啟動到 LiveCD 系統(tǒng)了,安裝介質(zhì)中提供了基礎(chǔ)的Linux運(yùn)行環(huán)境,首先要做的就是配置好網(wǎng)絡(luò)與時間,方便之后下載文件和軟件包。
ArchLinux安裝介質(zhì)中包含了 iwd?軟件包,可以幫助我們連接到 Wifi:
配置好網(wǎng)絡(luò)后需要確保當(dāng)前系統(tǒng)時間是否正常,輸入 date?查看當(dāng)前日期,如果相差太遠(yuǎn),需要先進(jìn)行時間同步,否則無法下載網(wǎng)絡(luò)文件。一般情況下電腦主板都會記錄時間,不會相差太多。
Gentoo官方介質(zhì)中提供了 chronyd?軟件,可以使用 chronyd -q?進(jìn)行同步,當(dāng)然也可以手動進(jìn)行設(shè)置,使用 date?命令來對系統(tǒng)時鐘執(zhí)行手動設(shè)置。它使用以下格式作為參數(shù):使用 MMDDhhmmYYYY 語法(Month(月),Day(天),hour(小時),minute(分鐘) 和 Year(年))。比如設(shè)置時間到 2023年9月16日20:30?:
參考:
Gentoo Wiki - 配置網(wǎng)絡(luò):https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Networking/zh-cn
Arch Installation - 連接到互聯(lián)網(wǎng):https://wiki.archlinuxcn.org/wiki/%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97#%E8%BF%9E%E6%8E%A5%E5%88%B0%E4%BA%92%E8%81%94%E7%BD%91
準(zhǔn)備磁盤
跟其他Linux發(fā)行版安裝一樣,在安裝前進(jìn)行磁盤分區(qū)與格式化。
我習(xí)慣將 home?分區(qū)單獨分區(qū),所以我需要準(zhǔn)備四個分區(qū),分區(qū)大小按照我的情況推薦,具體根據(jù)自身情況分配:
| 設(shè)備位置(ssd可能為/dev/nvme0n1) | 掛載位置 | 文件系統(tǒng)格式 | 推薦大小 | 說明 |
| --- | --- | --- | --- | --- |
| /dev/sda1 | /boot | vfat | >=500M | 掛載引導(dǎo)分區(qū),如果雙系統(tǒng)安裝該分區(qū)應(yīng)該已經(jīng)存在 |
| /dev/sda2 | /home | ext4/btrfs/... | >= 100G | 用戶目錄,平時使用用戶軟件數(shù)據(jù)存放位置,稍微大一點 |
| /dev/sda3 | / | ext4/btrfs/... | >= 60G | 系統(tǒng)其他目錄,包括系統(tǒng)軟件、可執(zhí)行文件、日志等,稍微大一點 |
|/dev/sda4 | ?| swap | 系統(tǒng)內(nèi)存/2左右 | 交換空間,有休眠需求或者大型軟件使用 |
使用 cfdisk?進(jìn)行分區(qū)劃分,有UI操作界面,比 fdisk?更直觀,之后進(jìn)行格式化:
創(chuàng)建根目錄:
掛載根目錄
參考:
Gentoo Wiki - 準(zhǔn)備磁盤:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Disks/zh-cn
安裝Gentoo安裝文件
Gentoo提供了幾種不同的安裝文件,主要分為 multilib(32+64位)?、no-multilib(64位)?、systemd?、openrc?幾種組合,如果沒有systemd需求則使用openrc版本,對于 no-multilib?,一般人不要選擇。
不同版本會影響之后系統(tǒng)配置,由于是源碼安裝,安裝好后再切換配置會變得非常麻煩,請考慮清楚后再決定!?。?/p>
下載地址:
[Gentoo官方]:https://www.gentoo.org/downloads/
[TUNA鏡像]:https://mirrors.tuna.tsinghua.edu.cn/gentoo/releases/amd64/autobuilds/
[USTC鏡像]:https://mirrors.ustc.edu.cn/gentoo/releases/amd64/autobuilds/
[Aliyun鏡像]:https://mirrors.aliyun.com/gentoo/releases/amd64/autobuilds/
使用 curl、wget等工具下載需要的版本到 /mnt/gentoo?目錄下,之后進(jìn)行解壓:
參考:
[Gentoo Wiki]:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Stage/zh-cn#.E5.AE.89.E8.A3.85stage.E5.8C.85
配置編譯選項和鏡像
本節(jié)內(nèi)容非常重要,涉及到了Gentoo中優(yōu)化和配置系統(tǒng)的主要內(nèi)容以及包管理器相關(guān)知識,建議認(rèn)真閱讀參考鏈接?。?!
Gentoo支持包管理器,并支持一些系統(tǒng)變量,編譯軟件時會從特定文件讀取這些系統(tǒng)變量,可以通過配置環(huán)境變量達(dá)到調(diào)整系統(tǒng)的作用。配置編譯選項的文件位于系統(tǒng) /etc/portage/make.conf?,當(dāng)前位于 /mnt/gentoo/etc/portage/make.conf?,下面是一些變量的說明:
CFLAGS?:定義GCC編譯優(yōu)化標(biāo)志,一般修改為 CFLAGS="-march=native -O2 -pipe"?即可,-march指定cpu架構(gòu),不清楚填 native?即可,可在 [此處](https://www.funtoo.org/Subarches) 查看,配合設(shè)置 CHOST?變量。
CXXFLAGS?:C++編譯優(yōu)化標(biāo)志,同上即可。
MAKEOPTS?:指定編譯時使用線程數(shù)量,越大越快,內(nèi)存消耗越大,根據(jù)cpu核心數(shù)設(shè)置,不要太大,比如8核心16線程可以設(shè)置為 MAKEOPTS="-j6"?。
GENTOO_MIRRORS?:指定Gentoo軟件包鏡像,比如 USTC鏡像 :GENTOO_MIRRORS="https://mirrors.ustc.edu.cn/gentoo/"?,根據(jù)具體鏡像站設(shè)置。
USE?:控制系統(tǒng)軟件包使用哪些和不使用哪些功能,參考wiki。
EMERGE_DEFAULT_OPTS?:emerge 默認(rèn)選項,具體參考 Gentoo Emerge。
ACCEPT_KEYWORDS?:允許的軟件包架構(gòu),如果需要使用測試版軟件,務(wù)必加上 ACCEPT_KEYWORDS="~amd64"?。
ACCEPT_LICENSE?:允許的軟件許可協(xié)議,直接設(shè)置為允許全部即可:ACCEPT_LICENSE="*"。
L10N?:系統(tǒng)語言,一般允許中、英文即可:L10N="en-US zh-CN en zh"?。
CPU_FLAGS_X86?:針對特定cpu的編譯選項,系統(tǒng)安裝好之后安裝 app-portage/cpuid2cpuflags?軟件,使用 cpuid2cpuflags?獲取,然后寫入該變量中。
VIDEO_CARDS?:根據(jù)顯卡設(shè)置。
其他 :參考 [Gentoo Wiki - make.conf](https://wiki.gentoo.org/wiki//etc/portage/make.conf/zh-cn) 。
還需要配置 portage 鏡像,官方的日常使用太慢,配置文件位于:/etc/portage/repos.conf/gentoo.conf,LiveCD為:/mnt/gentoo//etc/portage/repos.conf/gentoo.conf,沒有可以新建:
參考鏈接:
[Gentoo Wiki - make.conf]:https://wiki.gentoo.org/wiki//etc/portage/make.conf/zh-cn
[Gentoo Wiki - 配置編譯選項]:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Stage/zh-cn#.E9.85.8D.E7.BD.AE.E7.BC.96.E8.AF.91.E9.80.89.E9.A1.B9
[Gentoo Wiki - 使用USE標(biāo)記]:https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/USE/zh-cn
[Gentoo Wiki - Portage介紹]:https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/Portage/zh-cn
[Gentoo Wiki - 環(huán)境變量](https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/EnvVar/zh-cn)
下面是一個 make.conf?文件例子,僅供參考:
進(jìn)入Gentoo環(huán)境
復(fù)制DNS信息:
掛載必要的文件系統(tǒng):
如果使用非Gentoo安裝介質(zhì),可能需要額外操作:
chroot進(jìn)入Gentoo環(huán)境:
現(xiàn)在開始所有操作都是在Gentoo環(huán)境下進(jìn)行!
掛載Boot和Home分區(qū)(如果有):
參考鏈接:
[Gentoo Wiki]:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Base/zh-cn#.E5.A4.8D.E5.88.B6DNS.E4.BF.A1.E6.81.AF
配置 Portage 并更新系統(tǒng)
先使用鏡像快照更新數(shù)據(jù)庫(通常為24小時內(nèi)快照):
進(jìn)一步更新到一小時內(nèi)最新數(shù)據(jù)庫:
更新完數(shù)據(jù)庫后,可能會發(fā)布一些最新通知,建議查看,以查看某些大的更改:
選擇配置文件,不同配置文件包含了不同的軟件包及其依賴,更換配置文件后USE標(biāo)記也會更新,之后需要對整個系統(tǒng)進(jìn)行更新來應(yīng)用更改,比如某些軟件更改,依賴該軟件的其他軟件可能需要重新編譯。
列出所有配置并選擇:
更換配置文件或者更改USE標(biāo)記后,使用下面命令進(jìn)行系統(tǒng)更新,之后就是漫長的編譯安裝過程,期間可以玩幾把游戲或者看劇 ?:
期間如果遇到循環(huán)依賴等情況,那就自求多福,查看Wiki如何解決吧,剛開始USE不要寫太多,這樣可以避免一些問題,不過隨著USE越來越多,很難避免這些情況。
跑完之后,再檢查一遍是否更新完成:
參考鏈接:
[Gentoo Wiki]:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Base/zh-cn#.E9.85.8D.E7.BD.AE_Portage
配置時區(qū)與區(qū)域
國內(nèi)下面這樣設(shè)置即可:
參考鏈接:
[Gentoo Wiki]:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Base/zh-cn#.E9.85.8D.E7.BD.AE.E5.8C.BA.E5.9F.9F.E8.AE.BE.E7.BD.AE
配置文件系統(tǒng)
fstab配置,UUID可以使用 blkid?查看 :
如果使用 btrfs 文件系統(tǒng),需要提前安裝 emerge sys-fs/btrfs-progs?。
參考鏈接:
[Gentoo Wiki]:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Base/zh-cn#.E9.85.8D.E7.BD.AE.E5.8C.BA.E5.9F.9F.E8.AE.BE.E7.BD.AE
其他配置
修改主機(jī)名
配置網(wǎng)絡(luò)
安裝內(nèi)核
自己配置內(nèi)核很麻煩,所以建議在安裝階段先使用 Gentoo 官方內(nèi)核,等開機(jī)后有時間再自己去配置優(yōu)化自己的內(nèi)核。
安裝必要的軟件
配置引導(dǎo)
安裝 Grub 前檢查 /etc/portage/make.conf?文件是否設(shè)置了 GRUB_PLATFORMS="efi-64"?,沒有則需要添加:
安裝 Grub 并配置:
添加用戶
參考鏈接:
[Gentoo Wiki - 0]:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/System/zh-cn
[Gentoo Wiki - 1]:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Tools/zh-cn
收尾工作
最后再檢查一遍下面的配置是否正確:
/boot目錄下是否有內(nèi)核即Grub文件
/etc/fstab 文件掛載目錄是否正確
用戶及root權(quán)限、密碼
必要的工具比如網(wǎng)絡(luò)配置軟件
確定無誤后重啟進(jìn)入系統(tǒng):

如果系統(tǒng)成功啟動,那么恭喜你完成了難度很高的 Gentoo 安裝工作,但是對于使用 Gentoo 來說,
安裝只是第一步,接下來就需要你自己完成剩余的裝修工作了,難度絲毫不亞于安裝的難度,但是你也會收獲很多。
比如 Linux 內(nèi)核配置優(yōu)化流程、各種軟件 USE 標(biāo)記使用、循環(huán)依賴怎么解決、桌面環(huán)境選擇等等。