pkgupdate is a simple shell script meant for OpenBSD users to easily keep their packages up to date the fastest possible.
It is meant to be run daily by cron on servers on at boot time for workstations.
pkgupdate has only one flag
-q to hide successful messages, preventing to send an email from cron scripts if it worked.
pkgupdate uses 3 tricks to speed up the process, this is particularily important for workstations updating during the boot process:
- fetch the index of packages and compare it between runs (using a cache in
- if the index changed, which mean everytime a new package is updated, then it only try to update the packages available in the
- if curl is installed, use curl instead of ftp(1) command (because pkg_add is more efficient with curl)
In my opinion, workstations should be updated as soon as possible, at boot time, to update packages at boot before using anything from the user session, avoiding a boring reboot.
As for servers, making the process faster is always welcome.
git clone https://tildegit.org/solene/pkgupdate.git and run
make install as root to install
Best way to manage this is to use root's crontab. As root, type
crontab -e to edit its tab.
# for updating on boot @reboot /usr/local/bin/pkgupdate # for updating every hour @hourly /usr/local/bin/pkgupdate # for updating every 6 hours 0 */6 * * * /usr/local/bin/pkgupdate