在这最后一部分中,我们将下载和编译一个软件包,讨论自动化包管理的优点和缺点,同时了解 RPM 系统。安装 Linux 时首先注意到的事情之一,就是 Linux 发行版本中有如此多可用的包。大多数发行版本都附带了 Linux 操作系统、安装工具和管理工具。它们还包括 Internet 工具、开发工具、办公工具、游戏,以及一些您不曾听说过的程序。Linux 发行版本附带数千个 可用包的情况并不鲜见。如果您没有选择“完整安装”,则只会安装这些包的一个子集。现在您可能想知道“如何删除不想要的包?如何安装遗漏了的包?是否能够使用不是该发行版本附带的软件?”
由于 Linux 是开放源代码的操作系统,它附带了编译软件所需的所有开发工具。虽然您使用的大多数包将以二进制 RPM 的形式提供,但是您并不仅限于使用那些包。如果愿意,您可以为您的系统下载原始源代码,并以自定义的方式进行编译。应该对在生产系统上编译源代码保持谨慎,因为这样可能导致问题,或者不再支持系统上正在使用的商业软件(比如 IBM DB2)。然而,熟悉从源代码编译软件的过程将使您能够对软件应用补丁,以及使用从其他环境移植过来的包。一旦成功地编译代码,创建您自己的 RPM 也是可以做到的!
Corewars 源代码演示
为演示从源代码编译软件有多简单,我们将编译一个名为 Corewars 的模拟游戏。下面是来自他们 Web 站点的关于 Corewars 的说明:“Corewars 是一款模拟游戏,其中许多武士在虚拟的计算机中奔跑时竭力相互攻击对方。可以采用两种类似汇编程序的语言中的一种来编写武士程序,这两种语言分别叫做 Corewars 和 Redcode。Corewars 是默认语言,更易于学习和理解。Redcode 提供更高级和更强大的指令,但是需要更多的时间来学习。”编译源代码的第一步是从 Web 站点下载源代码包:http://download.sourceforge.net/corewars/corewars-0.9.13.tar.gz