See screenshots of packagesbootstrap in action!
packagesbootstrap is a small utility which bulk downloads OpenBSD binary packages. The downloaded packages can then be installed en masse, minimising downtime. packagesbootstrap has a number of useful features:
pkg_info
directly. If a list of packages is not specified, the output from pkg_info
on the machine packagesbootstrap is being run on is used automatically.
-current
or -stable
. packagesbootstrap detects which version the user is running, but this can be overridden.
autoconf
has several versions for download), packagesbootstrap will interactively ask you which version you wish to download. You may download more than one version.
Once matches have been found for packages, packagesbootstrap then downloads each package, one by one. Once it has downloaded all packages, it warns you of any packages you requested for which it was unable to find a match. Typically such packages are ones with restrictive licenses, which you will have to build manually from the ports system.
You can get a good idea of how packagesbootstrap works by looking at the screenshots of it in action.
packagesbootstrap [<options>] [<packages list>]
<packages list>
is either a list of package names, separated by newlines, or the output from the pkg_info
command. If <packages list>
is not specified, the list of packages installed on current machine will be used.
Other options are as follows:
-f <ftp server>
ftp://ftp.openbsd.org/pub/OpenBSD/
-o <version>
3.7
or snapshot
-a <arch>
i386
or sparc
-d <dir>
/usr/ports/packages/arch/all
-l
packagesbootstrap -f http://mirror.bytemark.co.uk/OpenBSD/snapshots/packages/amd64/ -d packages PKG_PATH=packages:http://mirror.bytemark.co.uk/OpenBSD/snapshots/packages/amd64/ sudo pkg_add -uiThis downloads new packages for everything that is installed on my machine, then uses pkg_add to upgrade everything. Note the
PKG_PATH
first
specifies the directory where the packages live, then the FTP mirror. This is
because sometimes upgrading a package can install new dependencies. By default,
the above incantation will use the locally downloaded packages (nearly all
cases), using remote packages when necessary (which is rarely).
packagesbootstrap
is part of my bin
repository; you can track packagesbootstrap
's evolution via git.
pkg_add -uin
with an appropriately set PKG_CACHE
. If
you are using packagesbootstrap to install packages on more
than one machine of the same architecture (where each machine currently has
identical packages installed), pkg_add -uin
might be for you.
Otherwise packagesbootstrap might be more appropriate.