FreeBSD handbook中文版 4 安装应用程序:Packages 和Ports( 二 )


这章的其余部分将介绍如何使用packages 和ports 来安装和管理第三方软件 。
4.2 寻找你要的应用程序
在你安装任何应用程序之前,你需要知道你需要什么,那个应用程序叫什么 。FreeBSD 中
可用的应用程序正在不断地增长着 。当前已经有超过6000 个可用的应用程序以package 或
ports 的形式存在 。有许多方法可以找到你所需要的程序 。
第2 页FreeBSD 使用手册
1. FreeBSD 站点上拥有一个可以搜索到的所有可用的应用程序列表, 在
(http://www.FreeBSD.org/ports/)上 。它分很多种类,你既可以通过名称来搜索,
也可以在分类中列出所有可用的应用程序 。
2. Dan Langille 维护着网站FreshPorts(http://www.freshports.org/) 。FreshPort
时刻追踪着在ports 中应用程序的变化 。当有任何程序被升级时,他们就会发email
提醒你 。
3. 如果你不知道你想要的应用程序的名字, 可以通过FreshMeat
(http://www.freshmeat.net/) 或AppWatch (http://www.appwatch.com/这样的网站
来寻找 。如果应用程序被找到了,你可以回FreeBSD 的主站去看一下 。
4.3 使用包管理系统
4.3.1 安装一个package
你可以使用pkg_add 工具从本地或通过网络从一台服务器上安装FreeBSD 的package 。
例如4-1.下载一个package 然后在本地安装它:
# ftp ftp2.freebsd.org
Connected to ftp2.freebsd.org.
220 ftp2.freebsd.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as passWord.
230-
230- This Machine is in VIEnna, VA, USA, hosted by Verio.
230- Questions? E-mail freebsd@vienna.verio.net.
230-
230-
230 Guest login ok, access restrictions apply.
第3 页FreeBSD 使用手册
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /pub/FreeBSD/ports/packages/irc
250 CWD command successful.
ftp> get xchat-1.7.1.tgz
local: xchat-1.7.1.tgz remote: xchat-1.7.1.tgz
150 Opening BINARY mode data connection for ‘xchat-1.7.1.tgz" (471488
bytes).
100% |**************************************************| 460 KB
00:00 ETA
226 Transfer complete.
471488 bytes received in 5.37 seconds (85.70 KB/s)
ftp> exit
# pkg_add xchat-1.7.1.tgz
#
如果你没有本地package 的源代码,可能需要为pkg_add 加上-r 选项 。这将迫使程序
自动决定目标文件的正确格式和版本,然后自动从一个FTP 站点寻找和安装package.
# pkg_add -r xchat-1.7.1
这将下载正确的package,而不需要用户的干预就可以添加 。Package 文件是以.tgz 的
格式分发的 。你可以在( ftp://ftp.freebsd.org/pub/FreeBSD/ports/packages/ ) 或
FreeBSD CDROM 上找到 。每一个FreeBSD 发行CD 都把packages 放在/packages 目录中 。
packages 的设计与/usr/ports 树很相似 。每个分类都有它自己的目录,每个package 也能
在所有目录下找到 。Package 系统的整个目录结构是与ports 的目录结构相对应的;他们以
package/port 的形式互相协调工作 。
第4 页4.3.2 删除一个package
pkg_delete 是用来删除先前安装的软件package 的工具 。
4.3.3 管理packages
pkg_info 是用来列出和描述已安装的不同package 的工具 。
# pkg_info
cvsup-bin-16.1 A general network file distribution system optimized for CV
docbook-1.2 Meta-port for the different versions of the DocBook DTD
...
pkg_version 是一个用来统计所有安装的package 的版本的工具 。它可以用来比较本地
package 的版本与ports 目录中的当前版本是否一致 。
# pkg_version
cvsup-bin =
docbook =
...
符号
=
<
>
?
*
FreeBSD 使用手册
# pkg_delete xchat-1.7.1
#
在第二列的符号指出了安装版本的相关年纪和本地ports 目录树中可用的版本 。
含义
在本地ports 树中与已安装的软件包相匹配 。

推荐阅读