25.3 Portsnap: A Ports Collection Update Tool
Written by Tom Rhodes. Based on notes provided by Colin
Percival.
The base system of FreeBSD includes a utility for updating
the Ports Collection too: the portsnap(8) utility. Upon execution, it will
connect to a remote site, verify the secure key, and download a new copy of the
Ports Collection. The key is used to verify the integrity of all downloaded
files, ensuring they have not been modified in-flight. To download the latest
Ports Collection files, issue the following command:
# 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.
What this example shows is that portsnap(8) has found and
verified several patches to the current ports data. This also indicates that
the utility was run previously, if it was a first time run, the collection
would have simply been downloaded.
When portsnap(8) successfully completes a fetch operation,
the Ports Collection and subsequent patches exist on the local system that have
passed verification. The first timeportsnap is executed, you have to use
extract to install the downloaded files:
# 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
...
To update an already installed Ports Collection use the
command portsnap update:
# portsnap update
The process is now complete, and applications may be
installed or upgraded using the updated Ports Collection.
The fetch and extract or update operations may be run consecutively,
as shown in the following example:
# portsnap fetch update
This command will download the latest version of the Ports
Collection and update your local version under /usr/ports.
Social Plugin