[心得] 系统迁移至Gentoo纪录

楼主: 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 =套件.版本 应该就可以单独移除了
作者: skycat2216 (skycat2216)   2022-09-03 02:39:00
所以为什么Arch是乌贼娘?
作者: chongzi138   2022-09-03 02:41:00
推用心介绍,跟用MicroG半取代那篇一样详细
作者: Hurricaneger (裤袜脱落大尉)   2022-09-03 05:37:00
作者: amos30627 (Destiny)   2022-09-03 07:22:00
作者: a73126 (Jalen)   2022-09-03 11:07:00
emerge -C的破坏相依性比较会发生在移除lib的时候,不过gentoo也会在移除完成和一般emerge提醒你要emrege @preserved-rebuild将相依性lib进行重新编译关联其实长时间使用gentoo后emerge -C还是很容易用到,因为rolling update有些套件在某些时候会改相依其他类似的lib那就会造成互相block,就得先手动emerge -C移除不过这些都是经验谈了,慢慢使用享受gentoo会慢慢理解这些
作者: ichika42069 (御守一花)   2022-09-03 13:36:00
我用Gentoo+zfs on root跟Slackware快一年了,Gentoo的use flag真的是一个让我离不开的东西。一般来说如果一个软件是不需要超级使用者权限的我都会直接装Nixpackage.
作者: iammortal (willow)   2022-09-03 13:41:00
推分享
作者: lantw44 (#######################)   2022-09-03 14:22:00
其实现在安装 FreeBSD 如果只是要装到能开机,也是照着选单按一按就完成了,我觉得 Arch 和 Gentoo 比较难装。另外移除单一软件,如果是自己主动安装的软件,应该可以用 emerge --depclean 安全移除吧。
作者: dobedobedo (DoBe)   2022-09-03 14:37:00
用 Gentoo 感觉一半以上的时间都在编译,太影响生产力
作者: idisnothing   2022-09-03 14:48:00
用过一阵子Gentoo 当急需某套件但那个套件又很大时真的会傻眼
作者: holishing   2022-09-03 20:15:00
FreeBSD 都可以用 pkg 装二进制包了但推描述详细, 这样想试的话至少有个切入点可以研究了
作者: LawLombie (卢芹达)   2022-09-03 23:29:00
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:00
10年前左右查资料还偶尔上Gentoo wiki,后来大多去arch了,Gentoo 的可能真的说的太底层。还记得有大学同学在Gentoo上编 Gnome ,睡桌上3天……想了想应该是15年前。arch wiki感觉比较通用点。
作者: ys35078657 (artycher)   2022-09-05 00:51:00
才刚从gentoo换到debian,试了gentoo三个月,在我笔电上的编译速度实在是吃不消
作者: lainevakey (通鉴)   2022-09-05 22:31:00
sabayon几乎有提供二进制包,安装也方便
作者: s338757   2022-09-06 05:46:00
赞一个
作者: drm343 (一卡)   2022-09-07 02:41:00
我自己用 slackware 也都是配 arch 或 gentoo 的资料看他们那边的资料真的太有帮助了
作者: guteres (走出自己的路)   2022-09-12 20:14:00
Sybayon已改名MocaccinoOS了
作者: s8321414 (冥王欧西里斯)   2022-09-19 08:00:00
Sabayon 居然改名了 :O

Links booklink

Contact Us: admin [ a t ] ucptt.com