25.3. Portsnap： 一个 Ports Collection 更新工具
上一页 | 第 25 章 更新与升级 FreeBSD | 下一页

## 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 来安装或升级应用程序。

`fetch` 和 `extract` 或 `update` 可以作为连续的动作执行， 如下例所示：

`#` `portsnap fetch update`

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

上一页 | 上一级 | 下一页
25.2. FreeBSD 更新 | 起始页 | 25.4. 更新系统附带的文档

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

如果对于FreeBSD有问题，请先阅读 文档，如不能解决再联系 <questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.