楼主:
ivon852 (ASUS)
2022-09-03 00:00:12看上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
作者:
a73126 (Jalen)
2022-09-03 01:15:00这年头还用Gentoo推一个认识的很多都转到其他distro了不是很懂“Gentoo不太容易移除单一软件”的意思,用emerge -C =套件.版本 应该就可以单独移除了
作者: chongzi138 2022-09-03 02:41:00
推用心介绍,跟用MicroG半取代那篇一样详细
作者:
a73126 (Jalen)
2022-09-03 11:07:00emerge -C的破坏相依性比较会发生在移除lib的时候,不过gentoo也会在移除完成和一般emerge提醒你要emrege @preserved-rebuild将相依性lib进行重新编译关联其实长时间使用gentoo后emerge -C还是很容易用到,因为rolling update有些套件在某些时候会改相依其他类似的lib那就会造成互相block,就得先手动emerge -C移除不过这些都是经验谈了,慢慢使用享受gentoo会慢慢理解这些
我用Gentoo+zfs on root跟Slackware快一年了,Gentoo的use flag真的是一个让我离不开的东西。一般来说如果一个软件是不需要超级使用者权限的我都会直接装Nixpackage.
作者:
lantw44 (#######################)
2022-09-03 14:22:00其实现在安装 FreeBSD 如果只是要装到能开机,也是照着选单按一按就完成了,我觉得 Arch 和 Gentoo 比较难装。另外移除单一软件,如果是自己主动安装的软件,应该可以用 emerge --depclean 安全移除吧。
用 Gentoo 感觉一半以上的时间都在编译,太影响生产力
用过一阵子Gentoo 当急需某套件但那个套件又很大时真的会傻眼
FreeBSD 都可以用 pkg 装二进制包了但推描述详细, 这样想试的话至少有个切入点可以研究了
gnome + wayland对触控板是一大福音目前我用opensuse tumbleweed有机会也想来试试gentoo不过还是先过了arch再说吧
作者:
a73126 (Jalen)
2022-09-03 23:50:00直接Gentoo回头Arch就简单了(? 或者中间有个funtoofuntoo会直接建议使用Debian source,少了编kernel的麻烦
作者:
sppmg (sppmg)
2022-09-04 15:38:0010年前左右查资料还偶尔上Gentoo wiki,后来大多去arch了,Gentoo 的可能真的说的太底层。还记得有大学同学在Gentoo上编 Gnome ,睡桌上3天……想了想应该是15年前。arch wiki感觉比较通用点。
作者: ys35078657 (artycher) 2022-09-05 00:51:00
才刚从gentoo换到debian,试了gentoo三个月,在我笔电上的编译速度实在是吃不消
作者: s338757 2022-09-06 05:46:00
赞一个
作者:
drm343 (一卡)
2022-09-07 02:41:00我自己用 slackware 也都是配 arch 或 gentoo 的资料看他们那边的资料真的太有帮助了
作者:
guteres (走出自己的路)
2022-09-12 20:14:00Sybayon已改名MocaccinoOS了
作者:
s8321414 (冥王欧西里斯)
2022-09-19 08:00:00Sabayon 居然改名了 :O