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 fetch
Looking 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>.