精简 gentoo 的 gnome 桌面

LiYanrui posted @ Apr 06, 2008 11:15:19 PM in GNU/Linux & Unix with tags gentoo gnome , 14463 阅读

在 gentoo 中安装 gnome 桌面时,有两种选择,即 gnome 与 gnome-light。gnome 很庞大,有些功能对我而言纯属多余;gnome-light 简洁,但许多功能需要我手动去安装。衡量之下,决定对 gnome 进行精简,去除那些我认为使用几率为 0 的一些软件包。本文所述方法也许只适于我个人,不能保证其普适性。

在我的另一篇日志《屏蔽 Gentoo 中不想安装的软件包》中提出了一种方法,但是现在对于精简 gnome ,那个方法太繁琐,如果直接从修改 gnome 的 ebuild 文件下手,会更有效。

1 确定软件包精简清单

打开 在 gnome 当前版本的 ebuild 文件,我的是 /usr/portage/gnome-base/gnome/gnome-2.22.0.ebuild,在其 'RDEPEND' 列表中寻找那些不需要的软件包名,把它们复制下来另存为一份清单文档备份起来,这份文档的作用仅仅是在未来唤起你的回忆,让你知道当初曾经精简了哪些软件包。

我的软件包精简清单如下:

gnome-extra/gnome-games
net-misc/vinagre
mail-client/evolution
gnome-extra/evolution-webcal
gnome-extra/evolution-data-server
net-misc/vino
dev-python/gnome-python-desktop
gnome-extra/deskbar-applet
dev-libs/totem-pl-parser
media-video/totem
www-client/epiphany
app-editors/gedit
net-im/ekiga
net-im/ekiga-2.0.12

在确定要精简的 gnome 软件包时,一定要谨慎,可使用 "equery d" 命令查询其依赖关系。我列出的这些软件包,使用 "equery d" 命令查询结果显示只有 "gnome" 依赖它们,这意味着删除它们,并不会对 gnome 有什么影响,因为 gnome 只是一堆软件包的统称。

2 修改 gnome ebuild 文件

在 gnome 当前版本的 ebuild 文件的 'RDEPEND' 列表中,将软件包精简清单中对应条目删除,然后保存,这样就替换了原有的 gnome ebuild。

对 portage 中的 ebuild 文件改动后,需要重新生成一下 manifest 信息:

$ cd /usr/portage/gnome-base/gnome
$ sudo ebuild gnome-2.22.0.ebuild manifest

为防止同步 portage 树时把修改后的 gnome-x.xx.x.ebuild 文件替换掉,可以在 /etc/portage/rsync_excludes 文件设置阻断 gnome-base/gnome 分支的更新,具体操作请参考 屏蔽 Gentoo 中不想安装的软件包 第 3 小节。

之所以敢于阻断 gnome-base/gnome 分支的更新是因为 gnome 的更新周期很长。当 portage 出现新的 gnome 版本时,只需要暂时解除对 gnome-base/gnome 的阻断,待清除不需要的软件包后再设置为阻断即可。

3 享受删除的快乐

做好上述工作后,就可以删除软件包精简清单中所列举的包:

$ emerge -C    xxx   xxx   ...

删除这些包之后,再更新一下系统,看看它们是否还会被 gnome 依赖安装:

$ sudo emerge -uDNa world

4 小结

喜欢 gentoo 可根据个人需求的灵活定制能力,像本文所删除的那些软件包,对于其它 linux 发行版而言,删除其中任何一个都有可能将 gnome 桌面依赖删除掉。也许宽容的人会认为容许这些软件包存在也没什么,不用它们就是。我只是觉得许多软件包我永远都用不着,就没必要浪费电力,浪费硬件资源去编译安装它们。

Avatar_small
galeki 说:
2008年4月07日 15:50

写个 ebuild 叫 gnome-lyanry



登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter