OpenBSD Upgrade Guide: 3.5 to 3.6


[FAQ Index] | [3.4 -> 3.5] | [3.6 -> 3.7]

Note: Upgrades are only supported from release to release, it is recommended that you NOT skip releases.

Before upgrading...

Before upgrading, some users choose to remove all packages, and installing new versions after upgrade.

To quickly remove all packages from your system:

pkg_delete -q /var/db/pkg/*
After the upgrade, install the new versions of these applications.

Upgrading by install media

The easiest and safest way to upgrade from binary files is to boot from install media and follow the upgrade steps, which are very similar to the install process. Afterwards, do the /etc updates below.

Upgrading without install media

This is not the recommended process. Use the install media method if at all possible!

Sometimes, one needs to do an upgrade of a machine when one can't easily use the normal upgrade process. One can usually do this by carefully following a process similar to a source-based upgrade:

During this process, sendmail(8) may produce some error messages like the following:
    Nov 1 12:47:05 puffy sm-mta[16733]: filesys_update failed: No such file or directory, fs=., avail=-1, blocksize=380204
These messages can be safely ignored, or you may wish to halt sendmail(8) during the upgrade process.

Updates to /etc

Whether you upgrade by using an install media and doing a formal "upgrade" process, or do a "in-place" binary upgrade, there are certain manual steps that have to be performed.

New users and groups

A number of daemons have been reworked to drop privilege or use privilege separation, thus new users and groups are required. As root, add the following users and groups, using useradd(8):
useradd -u77 -g=uid -c"DHCP programs" -d/var/empty -s/sbin/nologin _dhcp
useradd -u78 -g=uid -c"MOP Daemon" -d/var/empty -s/sbin/nologin _mopd
useradd -u79 -g=uid -c"TFTP Daemon" -d/var/empty -s/sbin/nologin _tftpd
useradd -u80 -g=uid -c"rbootd Daemon" -d/var/empty -s/sbin/nologin _rbootd
useradd -u81 -g=uid -c"afs Daemon" -d/var/empty -s/sbin/nologin _afs
useradd -u82 -g=uid -c"PPP utilities" -d/var/empty -s/sbin/nologin _ppp
useradd -u83 -g=uid -c"NTP Daemon" -d/var/empty -s/sbin/nologin _ntp
These steps will add both the new users and their corresponding groups. Your environment may allow you to cut/paste those commands.

Devices

Due to the new handling of pty(4) there will be some old devices that should be deleted:
cd /dev && rm -f [pt]ty[rq]*
or on the VAX platform:
cd /dev && rm -f [pt]tyr*

Userland Applications

The cksum(1) utility has moved from /usr/bin to /bin.
rm -f /usr/bin/cksum /usr/bin/sum

Users of authpf(8) must change their anchor rule in the main ruleset from

anchor authpf
to
anchor "authpf/*"

/etc file changes

You will want to extract the etc36.tgz files to a temporary location:
cd /tmp
tar xzpf /path/etc36.tgz
Files that can probably be copied from etc36.tgz "as is":
changelist
magic
netstart
ntpd.conf
pf.os
protocols
rc
rc.securelevel
services
mtree/*
systrace/*
Note that it IS possible to locally modify these files, if this has been done, manual merging will be needed. Here are copy/paste lines for copying these files, assuming you unpacked etc36.tgz in the above recommended place:
cd /tmp/etc
cp changelist magic netstart ntpd.conf pf.os protocols rc rc.securelevel services /etc
cp mtree/* /etc/mtree/
cp systrace/* /etc/systrace/

Files that must be manually merged, respecting any local changes made to them:

bgpd.conf
ftpusers
inetd.conf
login.conf
lynx.cfg
rc.conf
rc.local
remote
sysctl.conf
ttys
Finally, use mtree(8) to create any new directories:
mtree -qdef /etc/mtree/4.4BSD.dist -p / -u

[FAQ Index] | [3.4 -> 3.5] | [3.6 -> 3.7]


$OpenBSD: upgrade36.html,v 1.28 2019/05/28 01:53:11 bentley Exp $