软件安装
安装了 FreeBSD 后,您一定还会需要安装其它非 FreeBSD 内附的软件。在 FreeBSD 上安装软件有许多种方法,我们将一一为各位介绍。
概论
传统上,要在一个 UNIX 系统上安装其它软件时,有几个步骤:
下载该软件,有可能是 binary 档或是原始码。
解压缩该档案,通常是以 tar 或 gzip 压缩的。
读一下该目录中的说明文件,可能是 readme 或是 doc/ 的文件,来了解如何安装该软件。
如果所下载的是原始码,可能要先编辑一下 Makefile 或是执行 configure,接着再编译该软件。
最后再测试与安装。
当然,我们可以在 FreeBSD 上使用传统的方式来安装软件,但是还有更简单的选择。FreeBSD提供了 package 和 ports 这二种简单的安装软件方式。
所谓的 pakcage 是别人帮你将程序编译成 binary 文件,并定义了该安装在什么地方。我们只要下载一个压缩档,并使用 pkg_add 这个指令就可以快速的将软件安装在 FreeBSD 上。这是安装软件最简单的步骤,所安装的东西也是最标准的,和自己依需求修改并编译原始码比较起来较缺乏弹性。
而 port 就是使用原始码来安装软件。我们只要进入 /usr/ports/ 里想要安装的软件目录中,打指令 make install 就可以完成安装了。FreeBSD 己经帮我们定义了安装该软件所须的步骤、所要求的其它套件。不管是 package 或是 ports,当安装的软件需要依靠其它软件才能继续安装时,它们会自动帮你安装该软件。所有安装好的软件都将记录在 /var/db/pkg 中,日后如果我们想要移除软件时,可以用一个简单的指令 pkg_delete 加上软件名称就可以了。
即然 port 这么好用,为什么 FreeBSD 要同时有 package 和 ports 呢?我们来比较一下 ports 和 package 的优点:
package 的优点:
一个己经编译过的压缩档通常比包含原始码的档案还要小。
使用 pakcage 并不需要再做任何的编译动作,如果你的计算机速度很慢,在安装像 KDE、GNOME 等大型软件时,不用编译可以省下很多时间。
使用 package 来安装软件时,你不必事先了解在 FreeBSD 上编译时所使用的软件及其过程。
ports 的优点:
package 为了要在多数的计算机执行,考虑兼容性问题,通常编译的比较保守。而使用 ports 你可以依自己的系统修改,例如选择使用 Pentium III 或是 Athlon 的处理器。
在编译 package 时,就已经限制了该软件的功能,无法再依自己需求扩充。例如 Apache 这套软件就有许多的功能可以在编译时挂进来,使用 ports 来安装时,你可以依自己的需求来加以修改。
我们可以经由更新 Port Tree 来使用较新的软件,而 package 通常只和系统一起 release。
有些软件不允许使用 binary 文件的方式散播,只能下载原始码。
有了原始码,你可以自己修改并加以应用。
有的人喜欢拥有原始码,他们可以读它、从中学习。
接着我们就针对 package 及 ports 来说明它们的使用方式。