[FAQ Index] | [7.0 -> 7.1] [7.2 -> 7.3]
Upgrades are only supported from one release to the release immediately following.
Read through and understand this process before attempting it. For critical or physically remote machines, test it on an identical, local system first.
/usr
partition has a size of at least 1.1G.
With less space the upgrade may fail and you should consider reinstalling
the system instead.
bsd.rd
.
Download the ramdisk kernel and the cryptographically-signed checksum file
for your architecture.
bsd.rd
SHA256.sig
Verify bsd.rd
and SHA256.sig
using
signify(1):
$ signify -C -p /etc/signify/openbsd-72-base.pub -x SHA256.sig bsd.rd Signature Verified bsd.rd: OK
bsd.rd
, retrieved
in the previous step. Place it in the root of your filesystem and
instruct the boot loader to boot this kernel. Once this kernel is
booted, choose the (U)pgrade
option and follow the prompts.
After upgrading the sets, the system will reboot with the upgraded kernel and run sysmerge(8) during boot. In some cases, configuration files cannot be modified automatically. Run
# sysmergeto check and perform these configuration changes.
Next remove the old files.
Finish up by upgrading the packages using pkg_add -u
.
You may wish to check the errata page for any post-release fixes.
Sometimes, you need to perform an upgrade of a machine for which the normal unattended or interactive upgrade process is not possible.
softdep
mount option in
/etc/fstab
and rebooting before undertaking a manual upgrade.
Having at least 500MB free on /usr
would be recommended.
sd0
is your boot disk:
# installboot sd0
If using the multiprocessor kernel:
# cd /usr/rel # where you put the release files # ln -f /bsd /obsd && cp bsd.mp /nbsd && mv /nbsd /bsd # cp bsd.rd / # cp bsd /bsd.spIf using the single processor kernel:
# cd /usr/rel # where you put the release files # ln -f /bsd /obsd && cp bsd /nbsd && mv /nbsd /bsd # cp bsd.rd bsd.mp / # may give a harmless warning
# sha256 -h /var/db/kernel.SHA256 /bsd
base72.tgz
last, because the new base system,
in particular tar(1),
gzip(1) and
reboot(8),
will not work with the old kernel.
Either untar the needed filesets manually:
# cp /sbin/reboot /sbin/oreboot # tar -C / -xzphf xshare72.tgz # tar -C / -xzphf xserv72.tgz # tar -C / -xzphf xfont72.tgz # tar -C / -xzphf xbase72.tgz # tar -C / -xzphf man72.tgz # tar -C / -xzphf game72.tgz # tar -C / -xzphf comp72.tgz # tar -C / -xzphf base72.tgz # Install last! # /sbin/orebootor, if you use ksh(1), you can do:
# cp /sbin/reboot /sbin/oreboot # for _f in [!b]*72.tgz base72.tgz; do tar -C / -xzphf "$_f" || break; done # /sbin/orebootNote that tar(1) can expand only one archive per invocation, so a simple glob won't work.
/dev
.
Run
MAKEDEV(8):
# cd /dev # ./MAKEDEV all
sd0
is your boot disk:
# installboot sd0
# sysmerge
# fw_update
dmesg -s
)
and correct any failures as necessary.
All the steps following configuration changes
below also apply to manual upgrades.
Finally, remove /sbin/oreboot
and update packages:
pkg_add -u
.
Reboot once more to make sure you use the newest firmware files
and run on your own kernel generated by KARL.
/etc/ttys
making the serial
console unusable.
Change the baud rate from 38400 to 115200 for the console entry in
/etc/ttys
.
The ${rcexec} variable used to start daemons with rc.d(8) has been replaced with a more complete rc_exec() function.
Handcrafted rc.d(8) scripts must be modified to use this new function:
# sed -i 's/\${rcexec}/rc_exec/' /etc/rc.d/myscript
Compatibility will be retained until next release.
filter-pf-addresses
has been deprecated.
If you have filter-pf-addresses yes
in your config, it should be
changed to blocklist pfTblAddrTable
.
To cleanup the user, group, and associated files execute the following commands:
# userdel _switchd # groupdel _switchd # rm /etc/rc.d/switchd \ /usr/sbin/switchctl \ /usr/sbin/switchd \ /usr/share/man/man4/switch.4 \ /usr/share/man/man5/switchd.conf.5 \ /usr/share/man/man8/switchctl.8 \ /usr/share/man/man8/switchd.8
Backup before updating, and be prepared for a more complicated upgrade than usual. Some pointers are given here, but you should also consult the upstream documentation regarding upgrades.
OpenLDAP no longer supports the BDB/HDB legacy database formats based on Berkeley DB. If you are using BDB/HDB, you will need to prepare in advance so that you can move to MDB.
Before updating, stop slapd and use slapcat
to dump your
database(s) to ldif files. (Saving ldif files is recommended as part
of your regular maintenance anyway, but particularly important at
this time).
Adjust the backend database in your configuration to use
mdb instead of bdb/hdb. If you are using the old-style
/etc/openldap/slapd.conf
config file, this is relatively
straightforward. If you are using upstream's recommended online
configuration ("cn=config"), this is normally edited "in-band" via
LDAP, but you might find it difficult to make this type of change
in the usual way. Instead, you can export to ldif with
slapcat -n 0
, edit the exported file, then reload with
slapadd -n 0
. Do not edit the ldif files in
/etc/openldap/slapd.d
directly.
Regarding the actual changes you need to make: for the simplest case you just need to change "bdb" to "mdb". slapd-bdb(5) has various tuning options which are not used by slapd-mdb(5) (for example, cachesize) - these will need to be removed. For more information, consult the upstream documentation.
After restarting with the updated configuration, you will need to reload your database from the ldif file using slapadd (or if you are updating a read-only replica you could let syncrepl pick it up).
The openldap-server package has changed to a modular build.
The most important backend and overlay (mdb and syncprov) are still compiled-in as before, but if you use the less common ones (including backends like back_perl) you will need to adjust your configuration to load them. If you use online configuration, see "olcModuleLoad". If you use slapd.conf, see "moduleload".
If you find the changes unwelcome, the OpenBSD package includes a
copy of the old colour schemes under the legacy
subdirectory to make it easier to revert if desired. You can use
the subdirectory directly in colorscheme
in your
configuration, but as these are not included as standard in upstream
Vim, if you share config files between various machines you may wish
to copy the relevant files from
/usr/local/share/vim/vim82/colors/legacy
to
~/.vim/colors
which take priority.
PinYin is no longer bundled. You will need to install
fcitx-chinese-addons
to use it.
Methods previously provided by the fcitx-table package have been split into two packages:
fcitx-chinese-addons
.
fcitx-table-extra
.
If you are starting fcitx from .xsession
, update it with
the following:
export XMODIFIERS=@im=fcitx export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx /usr/local/bin/fcitx5 &
You might need to re-run fcitx5-configtool
to reconfigure your input method.
To setup an input engine, run fcitx5-configtool
after
starting fcitx5, then select and add your preferred input method from
the Available Input Method panel. You might need to uncheck 'Only Show
Current Language' to find your preferred input method.
After restarting with the updated configuration, fcitx should be
usable. Refer to /usr/local/share/doc/pkg-readmes/fcitx
if something doesn't work or you need to troubleshoot.
acache-cleaning-interval acache-enable additional-from-auth additional-from-cache allow-v6-synthesis cleaning-interval dnssec-enable dnssec-lookaside filter-aaaa filter-aaaa-on-v4 filter-aaaa-on-v6 geoip-use-ecs lwres max-acache-size nosit-udp-size queryport-pool-ports queryport-pool-updateinterval request-sit sit-secret support-ixfr use-queryport-pool use-ixfr
defaults write sogod WOPort 127.0.0.1:20000