25.3. Portsnap: 一个 Ports Collection 更新工具

Written by Tom Rhodes.
Based on notes provided by Colin Percival.

FreeBSD 基本系统也包括了一个更新 Ports Collection 的工具: portsnap(8)。在运行之后,它会连上一个远程网站, 校验安全密钥,然后下载一份 Ports Collection 的拷贝。 密钥是用来校验所有下载文件的完整性,确保它们在传输是未被修改。 使用以下的命令下载最新的 Ports Collection:

# portsnap fetchLooking up portsnap.FreeBSD.org mirrors... 3 mirrors found.Fetching snapshot tag from portsnap1.FreeBSD.org... done.Fetching snapshot metadata... done.Updating from Wed Aug 6 18:00:22 EDT 2008 to Sat Aug 30 20:24:11 EDT 2008.Fetching 3 metadata patches.. done.Applying metadata patches... done.Fetching 3 metadata files... done.Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done.Applying patches... done.Fetching 133 new ports or files... done.

这个例子展示的是 portsnap(8) 发现并校验了几个用于当前 ports 的补丁。这还表明以前运行过, 如果是第一次运行的话,那么仅仅只会下载 Ports Collection。

portsnap(8) 成功地完成一次 fetch 操作之后, 会将校验过的 Ports 套件和后续的补丁保存在本地。 首次执行 portsnap 之后, 你必须使用 extract 安装下载的文件:

# portsnap extract/usr/ports/.cvsignore/usr/ports/CHANGES/usr/ports/COPYRIGHT/usr/ports/GIDs/usr/ports/KNOBS/usr/ports/LEGAL/usr/ports/MOVED/usr/ports/Makefile/usr/ports/Mk/bsd.apache.mk/usr/ports/Mk/bsd.autotools.mk/usr/ports/Mk/bsd.cmake.mk...

使用 portsnap update 命令更新已安装的 Ports:

# portsnap update

至此更新就完成了,然后便可以使用更新后的 Ports Collection 来安装或升级应用程序。

fetchextractupdate 可以作为连续的动作执行, 如下例所示:

# portsnap fetch update

这个命令将会下载最新版本的 Ports 并更新本地位于 /usr/ports 的拷贝。

本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读 文档,如不能解决再联系 <questions@FreeBSD.org>.

关于本文档的问题请发信联系 <doc@FreeBSD.org>.