OpenBSD Upgrade Guide: 5.8 to 5.9

[FAQ Index] | [5.7 -> 5.8] [5.9 -> 6.0]

Note: Upgrades are only supported from one release to the release immediately following it.

It is highly recommended that you read through and fully understand this process before attempting it. Especially for critical or physically remote machines, it is recommended that you test it on an identical, local system first.

Boot from the install kernel, bsd.rd. This can be done by booting from an install CD, or other bootable install media. Alternatively, you can place the 5.9 version of bsd.rd in the root of your file system and instruct the boot loader to boot this kernel instead of your usual kernel -- on amd64 and i386: boot> boot bsd.rd

Once this kernel is booted, choose the (U)pgrade option and follow the prompts. The upgrade process retains all your configuration info. If you absolutely have to, you can follow the manual upgrade process instead.

Final steps:

  1. Run sysmerge(8) as root: # sysmerge

    The sysmerge(8) utility will compare the files that are currently on your system with those that would be installed in a fresh install. It will assist you in merging the changes into your system, using sdiff(1).

    The section on configuration changes lists some important cases that need extra care.

  2. Remove some files.

  3. Upgrade your packages using pkg_add(1): # pkg_add -u

    In many cases, that will be all you need to do. Check the section below to see if any of your installed packages require workarounds to upgrade.

Configuration changes

Files to delete

rm -f /usr/libexec/smtpd/makemap

# People requiring these backends should install the opensmtpd-extras main package.
rm -f /usr/libexec/smtpd/table-ldap
rm -f /usr/libexec/smtpd/table-passwd
rm -f /usr/libexec/smtpd/table-sqlite
rm -f /usr/share/man/man5/table_passwd.5

rm -f /usr/share/misc/termcap.db /usr/share/misc/terminfo.db

rm -f /usr/X11R6/include/intel_*.h
rm -f /usr/X11R6/include/r600_pci_ids.h
rm -f /usr/X11R6/include/radeon_*.h

rm -f /usr/include/malloc.h

rm -f /usr/libexec/auth/login_tis
rm -f /etc/rc.d/yppasswdd /usr/sbin/rpc.yppasswdd

cd /usr/X11R6/include/freetype2
rm -rf config
rm -f freetype.h ftadvanc.h ftbbox.h ftbdf.h ftbitmap.h ftbzip2.h \
          ftcache.h ftcffdrv.h ftchapters.h ftcid.h fterrdef.h \
          fterrors.h ftfntfmt.h ftgasp.h ftglyph.h ftgxval.h ftgzip.h \
          ftimage.h ftincrem.h ftlcdfil.h ftlist.h ftlzw.h ftmac.h \
          ftmm.h ftmodapi.h ftmoderr.h ftotval.h ftoutln.h ftpfr.h \
          ftrender.h ftsizes.h ftsnames.h ftstroke.h ftsynth.h \
          ftsystem.h fttrigon.h fttypes.h ftwinfnt.h t1tables.h \
          ttnameid.h tttables.h tttags.h ttunpat.h

Special packages

Upgrade without the install kernel

This is NOT the recommended process. Use the install kernel method if at all possible!

Sometimes, you need to do an upgrade of a machine for which the normal upgrade process is not possible. The most common case is a machine in a remote location and there is no easy access to the system console.


Upgrading manually

[FAQ Index] | [5.7 -> 5.8] [5.9 -> 6.0]

$OpenBSD: upgrade59.html,v 1.36 2020/08/31 07:06:03 bentley Exp $