看上Gentoo是因为高自订性和最新版软件。
下面简介一下Gentoo最新的特色,以及使用感受。
https://i.imgur.com/58elkzK.jpg
一、Gentoo特色
Gentoo是滚动更新的Linux发行版,跟其他发行版最大的不同,在于需要从原始码编译安
装Linux核心和软件。听起来很像Linux from Scratch吧?但跟Linux from Scratch比起
来,Gentoo官方至少有提供最小的档案系统,并且编译是交给套件管理员Portage自动处
理。要安装软件只要打指令,套件管理员就会自动下载并编译安装。
因为是从原始码编译,软件效能“可能”会比直接装二进制档好。Portage还提供一套
"FLAG"系统,在`/etc/portage/make.conf`使用USE变量,指定Portage编译或不编译特定
软件功能。例如把AV1编码器编入ffmpeg,或是叫Portage不要编译wayland相关的功能。
有些软件编译很耗时,所以官方储存库有提供编译好的二进制(binary)版本,但数目极为
稀少。此外过去Linux核心要使用者手动设定编译,后来也有现成的版本可以选用。到
2022年,Gentoo连LiveUSB都有了。
https://i.imgur.com/XThXeJ6.png
因为Gentoo深受FreeBSD影响,除了套件命名很有FreeBSD Ports的风格外,现在默认的
init系统仍是OpenRC,当然Gentoo也有提供主流的systemd供选择。
二、Gentoo安装过程
我在二台电脑各装了迥然不同的Gentoo环境,前者是OpenRC + KDE (X11),后者是
Systemd + GNOME (Wayland)
主要是按照《Gentoo AMD64 Handbook》做,这本手册写得很详细,按照步骤做可以把X视
窗以外的软件都设定好。如果有以纯文字模式装过FreeBSD或Arch Linux,那么Gentoo应
该不难安装。
安装过程:用Gentoo ISO开机,分割硬盘,之后把Gentoo的stage3档案系统下载到硬盘,
解压缩,chroot进去安装现成的Linux核心,编译软件,设定开机服务。
详:https://ivonblog.com/posts/install-gentoo/
`/etc/portage/make.conf`里面记得依照CPU性能设定编译的执行绪,例如
`MAKEOPTS="-j8"`。
庶民等级的4核心CPU,不管是KDE还是GNOME都要编译4小时以上...这还是我已经选了“最
小化安装”的情况,然后编译时风扇声音都像飞机起飞一样。
三、Gentoo 使用小撇步
1. Gentoo Wiki和Arch Linux Wiki一样都是十分详细的百科,Gentoo会讲到更多底层运
作的部份。此外,Gentoo套件官网的ebuilds能看到安装套件默认会启用的FLAG,安装套
件前要研究一下FLAG。
https://i.imgur.com/PmJOZCI.png
2. OpenRC跟Systemd用起来没有差,主要是后者已经成为主流,甚至某些程式依赖
Systemd,例如KDE的System Monitor。桌面环境我还是比较喜欢自由设定的KDE。GNOME单
纯因为对触控板手势支援较好,然后Wayland还是bug一堆。
https://i.imgur.com/p7IkNGK.png
3. 在`/etc/portage/make.conf`中`ACCPET_KEYWORDS`设定"amd64" 会下载到稳定版套件
,"~amd64"则是不稳定。
我是比较喜欢后者,后者会下载到较新的软件,甚至会影响下载的的Linux核心版本,例
如Fcitx的版本会略为新一点。
此外,make.conf虽可以设定全域的FLAG,但个别套件另外写在
`/etc/portage/packge.use`能防止互相影响,例如允许个别套件启用"doc"的FLAG。
Protage是十分智慧的套件管理员,make.conf一有变化,执行`emerge -avuND world`会
自动安装或删除套件,要清理彻底则是使用`emerge