[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)
It is recommended that you add users who need to work with the src trees to the group# rm -rf /usr/obj/* /usr/xobj/* # chown build:wobj /usr/{,x}obj # chmod 770 /usr/{,x}obj
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:
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 \ childsa enc aes-128-gcm \ psk "secret"
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
Use therm /etc{,/examples}/pkg.conf
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:
All branches oftomcat:\ :setenv=UMASK=022:\ :tc=daemon:
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:
If using the single processor 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
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
or, if you use ksh(1), you can docp /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
Note that tar(1) can expand only one archive per invocation, so a simple glob won't work.cp /sbin/reboot /sbin/oreboot for _f in [!b]*61.tgz base61.tgz; do tar -C / -xzphf "$_f" || break; done /sbin/oreboot
/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]