FreeBSD 使用手册
上一页 | 第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` 的拷贝。

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

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

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