[FAQ Index] | [5.9 -> 6.0] [6.1 -> 6.2]
Upgrades are only supported from one release to the release immediately following it. Read through and understand this process before attempting it. For critical or physically remote machines, test it on an identical, local system first.Start by performing the pre-upgrade steps. Next, boot from the install kernel, bsd.rd: use bootable install media, or place the 6.1 version of
bsd.rd 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.
Apply the configuration changes and
remove the old files.
Finish up by upgrading the packages: pkg_add -u.
Alternatively, you can use the manual upgrade process.
You may wish to check the errata page or upgrade to the stable branch to get any post-release fixes.
/usr/share/man.
To remove all outdated manuals, issue rm -rf /usr/share/man.
bind and mousebind keywords with
bind-key, bind-mouse, unbind-key and
unbind-mouse.
See the cwmrc(5) man
page for new bind function names.
between theUnable to connect using https. Use http instead = yes # "no" is default
HTTP Server and Set name(s) responses.
Moreover, the xdm question was changed to
Do you want the X Window System to be started by xenodm(1)
# rm -rf /usr/obj/* /usr/xobj/*
# chown build:wobj /usr/{,x}obj
# chmod 770 /usr/{,x}obj
It is recommended that you add users who need to work with the src trees to
the group wobj, so that they can still write to /usr/obj.
It is best to check out a fresh source tree from an AnonCVS server. If you need to update on top of a pre-existing source tree, you need to do some cleanup first.
makewhatis
If you're booting from softraid crypto, ensure that your boot loader has been upgraded to a version that supports bcrypt prior to changing your passphrase. The boot(8) version should be at least 3.33 on amd64 and 3.31 on i386. Also be aware that once the passphrase has been changed, an older version of bioctl(8) (one that does not support bcrypt PBKDF) will not be able to "unlock" the volume.
rm /usr/bin/sqlite3 rm /usr/include/sqlite3*.h rm /usr/lib/pkgconfig/sqlite3.pc rm /usr/libdata/perl5/site_perl/*-openbsd/sqlite3*.ph rm /usr/lib/libsqlite3*
uucp and news users removed.
The uucp user and the news group have been removed from base.
If you use the net/uucp port, please follow
these instructions first.
Issue
userdel uucp groupdel news rm -rf /var/spool/uucp* # unless you use the net/uucp port
uxterm and koi8rxterm shell scripts have been removed,
as xterm(1) on
OpenBSD is already set up to support UTF-8:
If you edited any configuration files to callcd /usr/X11R6 rm bin/koi8rxterm bin/uxterm rm share/X11/app-defaults/KOI8RXTerm share/X11/app-defaults/UXTerm rm man/man1/koi8rxterm.1 man/man1/uxterm.1
uxterm,
do not forget to change these to call xterm directly.
If you defined X resources for UXTerm, consider moving them to XTerm.
/etc/rc.conf.local, you need to update your
configuration:
If any local configuration change was made torcctl disable xdm rcctl enable xenodm
/etc/X11/xdm/, it should
be migrated to the corresponding /etc/X11/xenodm file.
After that the xdm files can be removed:
rm -rf /etc/X11/xdm rm /usr/X11R6/bin/xdm /usr/X11R6/man/man1/xdm.1 /etc/rc.d/xdm
ikesa group modp2048 childsa group modp2048 to be able to talk to
endpoints running newer versions.
For example, if the old configuration in iked.conf(5) looked like this:
ikev2 active esp from 10.3.0.0/24 to 10.1.0.0/24 \
local 192.168.1.1 peer 192.168.2.1 \
childsa enc aes-128-gcm \
psk "secret"
it needs to be amended to look like this:
ikev2 active esp from 10.3.0.0/24 to 10.1.0.0/24 \
local 192.168.1.1 peer 192.168.2.1 \
ikesa group modp2048 \
childsa enc aes-128-gcm group modp2048 \
psk "secret"
lo0 for rdomain 0, it can be used to see and filter local
traffic via bpf(4) and
pf(4).
If you were previously using an loX in an rdomain other than
X, it won't be possible to create rdomain X anymore.
You need to either use a different
lo(4) unit or
rdomain(4) number.
pkg_* tools now use the
installurl(5)
file to find the main package repository.
If you install or upgrade from a mirror, this file is created automatically.
Verify that /etc/installurl points to your preferred mirror
and that the URI does not end in /6.1 (which may happen due to
a bug in the installer).
If necessary, please create the /etc/installurl file manually with
your preferred mirror:
Since the pkg.conf(5) file will no longer be used by tools, you may remove it:echo 'https://your.mirror/pub/OpenBSD' > /etc/installurl
rm /etc{,/examples}/pkg.conf
Use the PKG_PATH environment variable in case you need to specify more
than one repository.
machdep.lidsuspend sysctl variable has been renamed to
machdep.lidaction.
Setting it to 2 hibernates the machine when the lid is closed.
Update
sysctl.conf(5)
to use the new name.
Remove the unused sound device nodes:rm -rf /usr/libdata/perl5/site_perl \ /usr/bin/perl5* \ /usr/lib/libperl.so.17.* \ /usr/libdata/perl5/*-openbsd/5.*/ \ /usr/bin/a2p \ /usr/bin/config_data \ /usr/bin/find2perl \ /usr/bin/psed \ /usr/bin/s2p \ /usr/libdata/perl5/CGI* \ /usr/libdata/perl5/Locale/Codes/Constants.pod \ /usr/libdata/perl5/Module/Build* \ /usr/libdata/perl5/Package \ /usr/libdata/perl5/inc \ /usr/libdata/perl5/pod/a2p.pod \ /usr/libdata/perl5/unicore/lib/Gc/Lt.pl \ /usr/libdata/perl5/unicore/lib/Hyphen/Y.pl \ /usr/libdata/perl5/unicore/lib/LOE \ /usr/libdata/perl5/unicore/lib/NChar \ /usr/libdata/perl5/unicore/lib/PatWS \ /usr/libdata/perl5/unicore/lib/Perl/_XExtend.pl \ /usr/libdata/perl5/unicore/lib/Perl/_XRegula.pl \ /usr/libdata/perl5/unicore/lib/Perl/_XSpecia.pl \ /usr/libdata/perl5/unicore/lib/Space \ /usr/libdata/perl5/version/vpp.pm
rm -f /dev/sound*
copy module of Ansible added a newline to the value of
the content attribute in case it was not present.
This behavior is non-standard and was not documented.
It has been reverted in the ansible-2.1.2.0p0 package.
If you previously relied on this behavior you will need to explicitly
add \n to your playbooks.
mail/courier-authlib.
If MySQL or Postgresql is used as authentication source, the following lines
should be appended to the appropriate config files
(/etc/courier/authmysqlrc or /etc/courier/authpgsqlrc).
In addition, if MySQL is used, the option##NAME: MARKER:0 # # Do not remove this section from this configuration file. This section # must be present at the end of this file.
MYSQL_OPT 0 should also be
set.
_news account used to run leafnode switched from the
news group to the _news group.
After upgrading to leafnode-1.11.11p0, make sure that no
leafnode process is running, then run
usermod -g _news _news chgrp -R _news /var/spool/news/
security/letskencrypt port was moved to base as the
acme-client(1)
utility.
Configuration is done via the
acme-client.conf(5)
file.
Adjust scripts/cronjobs as necessary.
www/nginx port has been converted to use subpackages with dynamic
modules, instead of using flavors.
If you previously were using a flavored version of nginx, or the mail or
stream modules, you need to install the appropriate subpackage(s).
You also need to modify your nginx configuration to use load_module
for each dynamic module you want to load.
pg_upgrade as described in the
postgresql-server pkg-readme
or do a dump/restore.
mail/sympa mailing list server port was updated to a new version.
The upgrade notes
explain how to migrate your setup.
www/tomcat/v8 has been updated to 8.5, which now enforces a default
umask of 027 (previously, unless other changes were made, 022 would be used).
This behavior can be controlled by setting the UMASK environment variable.
If using the rc.d script and the previous behaviour is required, the following
can be added to /etc/login.conf:
tomcat:\
:setenv=UMASK=022:\
:tc=daemon:
All branches of www/tomcat now have stricter requirements on
URL encoding to avoid a range of invalid characters (see CVE-2016-6816).
This includes several characters which are quite often used in unencoded
form: { } and |.
For these three characters only, if callers cannot be fixed, the
restriction can be relaxed by listing the ones you need in this setting
in /etc/rc.conf.local:
tomcat_flags=-server -Dtomcat.util.http.parser.HttpParser.requestTargetAllow='|'
uucp-1.07p4, the uucp suite now runs under the
_uucp account.
Ensure that you have no uucp process running, then adjust the ownership of
some files:
find /etc/ /var/spool/ -user uucp -exec chown _uucp {} ';'
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.
softdep mount option in /etc/fstab
and rebooting before undertaking a manual upgrade.
Having at least 200MB 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.sp
If 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
base61.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 xshare61.tgz
tar -C / -xzphf xserv61.tgz
tar -C / -xzphf xfont61.tgz
tar -C / -xzphf xbase61.tgz
tar -C / -xzphf man61.tgz
tar -C / -xzphf game61.tgz
tar -C / -xzphf comp61.tgz
tar -C / -xzphf base61.tgz # Install last!
/sbin/oreboot
or, if you use ksh(1), you can do
cp /sbin/reboot /sbin/oreboot
for _f in [!b]*61.tgz base61.tgz; do tar -C / -xzphf "$_f" || break; done
/sbin/oreboot
Note 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 after upgrading above
also apply to manual upgrades.
Finally, remove /sbin/oreboot and update packages:
pkg_add -u.
[FAQ Index] | [5.9 -> 6.0] [6.1 -> 6.2]