安装 FreeBSD 之后,常常需要添加一些系统之外的小工具或大型软件。怎么安装?其实方法不少。下面就来详细介绍几种主流方式,帮您理清思路。
本章主要涉及以下几个关键问题:
- 各种安装方式的优缺点
- 如何使用 package
- 如何使用 port
- 传统方法:手动编译
10.1 概论
在 UNIX 世界中,安装软件的传统流程大致如下:先下载(二进制或源码),然后解压(通常是 tar + gzip),接着查看 readme 或 doc 目录了解安装步骤;如果是源码,还需编辑 Makefile 或运行 configure,最后编译、测试、安装。这套流程在 FreeBSD 上同样可行,但 FreeBSD 提供了更便捷的选择:package 和 ports。
所谓 package,就是预先编译好的二进制程序,安装路径也已固定。只需下载压缩包,然后执行 pkg_add 即可完成安装。这是最简单的途径——标准化程度高,但灵活性较差,无法自定义编译参数。
而 port 则直接利用源码安装。进入 /usr/ports/ 中对应的目录,执行 make install,剩下的工作 FreeBSD 会自动完成。无论是 package 还是 ports,都有一个便利功能:如果待安装的软件依赖其他组件,系统会自动一并安装。所有已安装的软件都会被记录在 /var/db/pkg 中,需要卸载时,执行 pkg_delete 加上软件名即可。
既然 port 如此好用,为什么 FreeBSD 还要同时保留 package 呢?下面来对比一下各自的优势:
package 的优势
- 已编译好的压缩包通常比包含源码的包小得多。
- 安装 package 无需编译,如果机器性能较低,需要安装 KDE、GNOME 等大型软件时,节省的编译时间相当可观。
- 使用 package 无需事先学习 FreeBSD 下编译的细节和流程。
ports 的优势
- 为了兼容各种机器,package 的编译参数往往比较保守;ports 可以针对您的硬件进行优化,例如指定 Pentium III 或 Athlon。
- 编译 package 时功能已被锁定,无法按需扩展。例如 Apache 有许多编译选项,使用 ports 可以自由搭配。
- 更新 Port Tree 即可获得新版软件,而 package 通常只随系统版本一起发布。
- 某些软件不允许以二进制形式分发,只能使用源码。
- 拥有源码后,可以自由修改,还能阅读学习。
接下来,分别介绍 package 和 ports 的具体使用方法。
10.2 使用 package
10.2.1 安装 Package
安装 package 有两种方式:一种是通过 sysinstall(即安装 FreeBSD 时的图形界面)进行安装,另一种是手动安装。sysinstall 方式需要指定安装来源,最常用的是网络和光盘。但光盘容量有限,其中的 package 数量不多,通常推荐网络安装。手动安装则需要自行下载文件,然后使用指令进行安装。下面分别说明。
方式一:使用 sysinstall
假设要安装一个邮件客户端 pine,先执行 sysinstall 进入熟悉的安装界面:
# sysinstall
图 10-1

然后选择 Configure 选项,进入图 10-2 的界面:
图 10-2

选择 Packages 来安装 package:
图 10-3

在图 10-3 中,需要选择安装来源。这里选择 FTP —— 从 FTP 可以找到更多软件。选择 FTP 后,出现图 10-4 让您挑选具体的 FTP 站点:
图 10-4

选择 URL 来手动输入 FTP 地址。接着弹出一个输入框(图 10-5)。例如使用交大资工的站点,输入 freebsd.csie.nctu.edu.tw/pub/releases/i386/:
图 10-5

输入后,系统会询问是否使用当前网络设置。如果已经联网,选择 YES;否则选择 NO 先配置网络。然后会显示软件分类菜单,其中各种软件分门别类排列,All 表示全部软件(图 10-6)。
图 10-6

上一页12 下一页 阅读全文
