目录:
简介
Gentoo 的不同之处
软件包管理
安装
完成之后
结论
相关链接
对这篇文章发表评论
摘要:
Gentoo Linux 是一个基于源码包的 Linux 系统。和已有的商业发行版相比,Gentoo 非常独特。
简介
如今的商业 linux 发行版提供了一个几乎完全自动化的安装过程。在自动的硬件检测之后,你只要回答几个问题,划分硬盘就可以了。一会功夫,所有的东西就都安装好了,你只要登陆就行了。
很多人都挺喜欢这种安装方式的,因为这确实非常简单,你根本就不需要对你的硬件有什么了解。
然而,有一个问题:你对系统的工作方式一无所知。以后如果出现了什么配置问题,你根本就不知道已有的设置从何而来,需要修改哪个文件或是使用什么配置工具来解决这个问题。
Gentoo 的不同之处
Gentoo 和其它常见发行版相比十分与众不同。几乎没有东西是自动完成的。大部分的设置都是通过使用编辑器手工设置配置文件完成的,安装过程会消耗大量的时间。
Gentoo 的安装过程可以看做是一次 Linux 的课程。你可以从中学到很多有关系统的知识。大量的步骤都是手工完成的,消耗了很多时间,但从此以后,你可以更好地理解你的 Linux 系统地工作了。
Gentoo 还使用特定地编译器选项编译程序,这些选项可以生成为你的 CPU 定制的优化代码。除此之外,你还可以加入或去掉某些编译特征。最终的结果就是一个符合你的需要的优化的、个性化的系统。
软件包管理
Gentoo 是基于源代码发布的。换句话说:缺省情况下,你将使用一个称为 emerge/ebuild 的自动编译系统从源代码开始安装系统。Emerge 使用 /usr/portage 目录树下的编译指令。在 /usr/portage 之下,你可以看到存放 emerge 的编译脚本的子目录。比如,目录 /usr/portage/app-editors/ 存放了用于编译各种编辑器的编译脚本。在 /usr/portage/packages 下,这里存放着编译前的二进制包。这些二进制包可以用于加速安装过程。在 /usr/portage/distfiles 之下,你可以存放由其它开发者发布的 tar 打包的源代码。如果这里已经存在代码了,emerge 就不会再去从网上下载源代码了。
一个非常重要的个性化选项就是 /etc/make.conf 文件中的 "USE flags"。许多应用程序都为它们的依赖关系提供了编译期选项(如:是否加入 mysql的支持,使用 Athena widget 还是 Qt,使用 oss 还是 alsa ...)。通过正确设置这些选项,你可以调整你的安装。
这是一个 emerge 使用的例子。要安装 vim,你只要运行:
emerge -k app-editors/vim
或直接运行
emerge -k vim
-k 选项意味着如果可以,就从二进制包开始安装,否则就从网上下载源代码、编译安装。如果要运行 "emerge -k vim" 的话,你可以使用 "-p" 选项在安装前查看系统将要做些什么。
emerge -k -p vim
这将告诉你,那些其它的被依赖的软件包将会被安装和如果你没有使用"-p"选项的话,系统将会做什么工作。(p 意味着 pretend,假装、佯动)
从 Red hat 转过来的用户会喜欢 “epm”命令的,它就是 gentoo 的 "rpm" 命令。比如,查询一个文件是属于哪个软件包的,你可以用:
epm -qil -f /the/file
如你所见,格式和 redhat 的 rpm 完全一致。
查询软件包的信息的另一个选择是 qpkg 命令。qpkg 也是一个非常强大的接口,但命令格式和 rpm 不一样了。例如,要大印所有已安装的软件包的列表,可以运行:
qpkg -I -nc
安装
Gentoo 需要良好的网络条件 (DSL 类的接入或更好)。理论上讲,gentoo 也可已仅仅使用 CD,但在我看来这是不太现实的。总会有些你需要的软件包在光盘上无法找到。Gentoo 有非常丰富的软件包 (或是编译指令更新)。
我建议第一次尝试 gentoo 的人使用光盘,从 "state3" 开始。"state3" 的 tar 包是大的预编译包。使用这些包可以大大加快安装速度。
除了这个建议,我不准备给什么更细节的解释,因为 gentoo 的安装指令涉及到了太多的东西。而 gentoo 的用户手册 (pdf, 1102643 bytes) 和 快速参考手册 (pdf, 17899 bytes) 非常详尽。你应该紫仍亩劣没?植幔?⒋蛴∫环菘焖俨慰际植幔?槐咭豢桃言诎沧暗氖焙虿慰肌?
你可能还需要看看 gentoo 1.4 安装指令手册 (pdf, 92926 bytes)。这些指令中的大部分在 gentoo 2004.0 中依然是合法的,但有些东西需要同时参考这份 117 页的安装指令手册和快速参考指南。
Gentoo 的一大优点就是你可以在安装过程中随时打断。如果你遇到什么问题,你可以卸载这些分区、调查问题。当你需要继续的时候,重新加载这些分区并继续中止了的安装过程就行了。
对于这些光盘,我建议你下载 CD1 和 2 的 ISO 镜像,但只刻录 CD1。CD1 是主安装光盘,也是一张不错的修复盘,包括很多工具。
CD2 只由预编译包,安装之后你就不再需要它了,除非你确信你要多次安装 Gentoo。CD2无需刻录,只要在安装时用 loopback 把它加载到 /usr/portage/packages 就行了:
mkdir /usr/portage/packages
mount -o loop -t iso9660 packages-pentium3-2004.0.iso /usr/portage/packages
# note: change the name of iso image to the right one for your cpu type
完成之后
主要安装过程将以命令行结束。也就是说,你还需要手工安装 X11, KDE, xfce, ... 或其它你想要得窗口系统。
你需要手工编辑 XF86Config 文件并用 startx 启动 X11。一旦 X11 工作了,你可以编辑 gdm 或 kdm 的配置文件来得到一个图形化的登陆窗口。
安装完成的系统仅包括命令行可能会打击一些用户,但这也给离你更多的控制权,你可以通过 emerge 控制每一个软件包的安装。
结论
Gentoo 的目标受众是有经验的 UNIX/Linux 用户
要有效地使用 Gentoo,你需要诸如 DSL 的良好的网络条件。虽然很多网站提供 Gentoo 安装光盘,但在有 DSL 链接的情况下,可能还是把光盘镜像下载下来更好。
如果有几张 DVD 可以容纳全部 gentoo 的 distfiles 和对应的 portage tree 的 snapshots 将是一件很美妙的事情。这样的 DVD 可以允许我们在没有网络的情况下安装系统,并且可以长期维持一个比较老的安装版本。如果谁提供这样的服务请告知敝人,我将原意购买这张光盘。
Gentoo 的安装过程包括很多步骤,花费很长时间,但个性化和优化会带来很多不同。运行速度的增益可以达到 3-5%,当然这依赖于 USE flags 的设置。你可以体会到这是你的系统,而不是产品经理的。特别对于桌面计算机来说,你的系统中的所有软件都是按照你的需求设置的,这是一种非常美妙的感觉。
当我第一次看到 Gentoo 的时候被打击得够呛,但到现在我已经使用它半年了,我根本就不想再使用其它任何发行版了。我太喜欢 Gentoo 了。
相关链接
http://gentoo.org
gentoo user docs
Local copy of the gentoo 2004.0 user guide (pdf, 1102643 bytes)
Local copy of the gentoo 2004.0 quick installation guide (pdf, 17899 bytes)
Local copy of the installation instruction from gentoo 1.4 (pdf, 92926 bytes).