OpenBSD Upgrade Guide: 3.4 to 3.5


[FAQ Index] | [3.5 -> 3.6]

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.

The upgrade process may overwrite some X configuration files, you may wish to backup your /etc/X11 directory before upgrading.

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 that 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 -u74 -g=uid -c"pflogd privsep" -d/var/empty -s/sbin/nologin _pflogd
useradd -u75 -g=uid -c"BGP Daemon" -d/var/empty -s/sbin/nologin _bgpd
useradd -u76 -g=uid -c"tcpdump" -d/var/empty -s/sbin/nologin _tcpdump
These steps will add both the new users and their corresponding groups. Your environment may allow you to cut/paste those commands.

/etc file changes

You will want to extract the etc35.tgz files to a temporary location:
cd /tmp
tar xzpf /path/etc35.tgz
Files that can probably be copied from etc35.tgz "as is":
bgpd.conf
changelist
locate.rc
moduli
netstart
pf.os
protocols
rc
security
sensorsd.conf
services
var/named/standard/root.hint
mtree/*
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 etc35.tgz in the above recommended place:
cd /tmp/etc
cp bgpd.conf changelist locate.rc moduli netstart pf.os \
 protocols rc security sensorsd.conf services /etc
cp mtree/* /etc/mtree/
cp ../var/named/standard/root.hint /var/named/standard

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

ftpusers
inetd.conf
login.conf
lynx.cfg
newsyslog.conf
rc.conf
rc.local
remote
sysctl.conf
ttys
mail/*
Finally, use mtree(8) to create any new directories:
mtree -qdef /etc/mtree/4.4BSD.dist -p / -u
After the final reboot, you should have a fully functional 3.5 system. At this point, you can upgrade to 3.6 if desired.

[FAQ Index] | [3.5 -> 3.6]


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