[FAQ Index] | [6.0 -> 6.1] [6.2 -> 6.3]
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.2 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
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
.
$HISTFILE
is set) changed from a binary file format
to plaintext.
If you wish to retain your current ksh history,
create a plaintext version of it before upgrading:
After the upgrade, you can use$ fc -ln 1 | cut -f2- > ~/ksh_hist.txt
ksh_hist.txt
as your history file.
If you mount HOME
via NFS
, ensure that machines running
6.2 use a different HISTFILE
than machines running 6.1 or earlier.
bsd.rd
, drop to a shell and re-initialize the GPT:
Then do a fresh install and restore the data from the backup.# fdisk -iy -g -b 960 sdN
/usr/obj
.
If you build your own releases on the amd64 or i386 platforms, you need to
make sure that you have at least 3G available on /usr/obj
.
# chgrp -R crontab /var/cron/atjobs
rtsol
is no longer supported in
hostname.if(5).
Replace it with inet6 autoconf
.
{install,upgrade}.site
scripts in bsd.rd
is postponed to the end of the installer script.
If you use this feature, make sure your script still works as expected.
The script will now run after these steps:
The vlan
, vlandev
, and -vlandev
options
are now deprecated in favour of vnetid
, -vnetid
,
parent
, and -parent
when using ifconfig(8) or
in hostname.if(5) configuration files.
Use of the vlan
option must be replaced with vnetid
.
Because VLAN tag 0 is invalid according to the relevant VLAN
specifications, the vnetid
option does not accept 0 as a
valid network identifier.
To use VLAN tag 0 on the wire the vnetid can be unconfigured with
-vnetid
.
Use of vlandev
and -vlandev
must be replaced with
parent
and -parent
respectively.
Unlike vlan
and vlandev
, vnetid
and
parent
do not implicitly bring the vlan interface up.
Similarly, the vlan
option is no longer implied by the
interface's minor when it is not explicitly set.
ifconfig(8) no longer outputs a vlan specific status line, or separate vnetid and parent lines. The vnetid and parent lines have been merged into a single encap line containing the VLAN tag and parent information.
An example of the changes to a vlan(4) configuration file and the ifconfig(8) output is below. Before the changes:
After the changes:# cat /etc/hostname.vlan7 vlandev em0 # vlan 7 and up are implied lladdr random # ifconfig vlan7 vlan7: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 70:a7:3a:75:da:2d index 7 priority 0 llprio 3 vlan: 7 parent interface: em0 vnetid: 7 parent: em0 status: active
# cat /etc/hostname.vlan7 vnetid 7 parent em0 up lladdr random # ifconfig vlan7 vlan7: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 60:e8:d7:0d:10:6d index 7 priority 0 llprio 3 encap: vnetid 7 parent: em0 groups: vlan status: active
emacs-usemeta
ksh(1) flag
is no longer useful and has been deprecated.
Please adjust your shell config files.
allow-opts
to your rule if you want to pass IP packets
with options.
ICMP6_DST_UNREACH_NOTNEIGHBOR
).
The correct type is beyond-unr (ICMP6_DST_UNREACH_BEYONDSCOPE
).
In pf.conf(5),
notnbr-unr
needs to be replaced with beyond-unr
.
secure
keyword is not valid anymore in listen
directives
in smtpd.conf(5).
Users are advised to replace existing listen secure
directives with
two separate tls
and smtps
listeners, i.e., a line like
has to be replaced withlisten on $iface secure pki $pki
Relaying syntax is not affected by this change.listen on $iface tls pki $pki listen on $iface smtps pki $pki
softreconfig (in|out) (yes|no)
neighbor setting has been removed
in bgpd.conf(5).
softreconfig
can no longer be disabled. Remove the instruction from
the configuration.
filebeat
and packetbeat
were updated to 5.3.1 which
significantly changed the configuration file layout from 1.x to 5.x.
Please refer to the
upstream documentation
for migrating your configuration.
Also take note of the
breaking changes
when upgrading to 5.3.1.
topbeat
has been merged into metricbeat
, a
migration path is available.
/etc/borgmatic/config
)
to YAML (/etc/borgmatic/config.yaml
) formatting. Please
upgrade your existing config after updating your package:
# upgrade-borgmatic-config
lpr
, lpq
, lprm
) are no longer
symlinked into /usr/bin
.
If you want to use CUPS commands from the command line, you must now use the
absolute path, e.g.:
Running$ /usr/local/bin/lpq
lpq
without an absolute path would invoke the base
lpq(1).
Similarly, to view a CUPS manual, you would use:
If you consistently use CUPS, you can add the following to your$ man -m /usr/local/man lpq
.kshrc
to avoid the need to type an absolute path:
for i in lpq lpr lprm; do alias $i=/usr/local/bin/$i; done
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 500MB 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
sha256 -h /var/db/kernel.SHA256 /bsd
base62.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 xshare62.tgz tar -C / -xzphf xserv62.tgz tar -C / -xzphf xfont62.tgz tar -C / -xzphf xbase62.tgz tar -C / -xzphf man62.tgz tar -C / -xzphf game62.tgz tar -C / -xzphf comp62.tgz tar -C / -xzphf base62.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]*62.tgz base62.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 configuration changes
above also apply to manual upgrades.
Finally, remove /sbin/oreboot
and update packages:
pkg_add -u
.
Reboot once more to make sure you run on your own kernel generated by KARL.
[FAQ Index] | [6.0 -> 6.1] [6.2 -> 6.3]