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

原著: Tom Rhodes.
Based on notes provided by Colin Percival.

FreeBSD 基本系统包含了一个名叫 portsnap(8) 的用于更新 Ports Collection 的实用程序。 启动后会自动连接到 FreeBSD 服务器, 接着校验安全密钥, 然后下载一份 Ports Collection 最新副本。 并使用密钥校验机制保证所下载的文件的完整性。 要下载最新 Ports Collection , 使用以下命令:

# portsnap fetch
Looking up portsnap.FreeBSD.org mirrors... 9 mirrors found.
Fetching snapshot tag from geodns-1.portsnap.freebsd.org... done.
Fetching snapshot metadata... done.
Updating from Tue May 22 02:12:15 CEST 2012 to Wed May 23 16:28:31 CEST 2012.
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 Collection 和后续补丁。 首次执行 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
...

需要更新已安装的 Ports Collection 时, 使用 portsnap update 来更新:

# portsnap update

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

fetchextractupdate 可以合并执行, 例如:

# portsnap fetch update

这个命令将会下载最新版 Ports Collection 快照并更新位于 /usr/ports 目录的本地副本。

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

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

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