Upgrading Releases

Note: This page only shows you how to upgrade to 4.4 from 4.3 and 4.3 from 4.2.

New sysmerge tool
Sysmerge(8) is a tool to upgrade your configuration files from 4.3 to 4.4 without losing personal settings. It displays the differences between configuration files in order to keep your settings.

dhcpcd.interfaces isn't used
dhcpcd.interfaces is no under in use. Modify dhcpcd_flags to set the interfaces. You can also let dhcpcd figure out the interfaces as well.

rc.conf
Since 4.1, /etc/rc.conf is assumed to be unmodified. If you made changes to /etc/rc.conf, merge them into /etc/rc.conf.local.

X11 via driver is replaced with openchrome
If you used to have Driver "via" in xorg.conf, please replace it with Driver "openchrome".

Installing
Reboot from the 4.4 CD, press Enter and press U and follow the directions.

Post-install
Do this command to merge the configuration files for files you want to keep or replace (replace $RELEASEPATH with the location of your CD packages): If you installed X, this needs to be done too: (again, replace $RELEASEPATH) Now upgrade the packages:
 * 1) sudo sysmerge -as $RELEASEPATH/etc44.tgz
 * 1) sudo sysmerge -x $RELEASEPATH/xetc44.tgz
 * 1) sudo pkg_add -ui -F update -F updatedepends

libexpat has been moved
In earlier releases, if you wanted libexpat, you installed xbase. Now, libexpat has been included in base.

httpd.conf has been changed
Packages for httpd(8) modules now install configuration files in /var/www/conf/modules.samples, and direct the user to create symbolic links in /var/www/conf/modules. The following lines should be added to /var/www/conf/httpd.conf after the LoadModule directives (towards the end of section 1):

#   # Include extra module configuration files #   Include /var/www/conf/modules/*.conf

This is in the upgrade43.patch file, but may not apply properly to highly customized httpd.conf files. You should make sure these lines end up in your system, otherwise future package additions may not work properly after install.

hoststated's name has changed
hoststated(8) has been renamed to relayd(8). This will require a renaming of the _hoststated user and group to _relayd, plus changes to your /etc/pf.conf file and a minor rework of your hoststated.conf(5) into a relayd.conf(5) file. The upgrade instructions here will install a new relayd.conf file, you will need to configure it as you need.

carpd is easier to configure
carp(4) has been changed to make it easier to configure. If you are running carp with ARP or IP balancing your configuration needs to be changed accordingly:


 * Multiple carp(4) interfaces sharing an IP have been replaced with the carpnodes option.
 * The net.inet.carp.arpbalance sysctl(8) has been replaced with balancing mode arp.
 * The link0, link1, and link2 flags used for IP balancing have been replaced with the balancing modes ip, ip-stealth and ip-unicast.

Xenocara default tree location changed
The default location of the xenocara (X) source tree is now /usr/xenocara. This is important for those who build X from source. Simply move your xenocara tree:

# mv /usr/src/xenocara /usr

rc.conf
Since 4.1, /etc/rc.conf is assumed to be unmodified. If you made changes to /etc/rc.conf, merge them into /etc/rc.conf.local.

Installing
Reboot from the 4.3 CD, press Enter and press U and follow the directions.

Upgrade /etc
You will want to extract the etc43.tgz files to a temporary location (replace ${RELEASEPATH} with the location of your CD packages):

tar -C /tmp -xzphf ${RELEASEPATH}/etc43.tgz

Files that can probably be copied from etc43.tgz "as is":

etc/mail/README etc/moduli etc/mtree/4.4BSD.dist etc/mtree/BSD.local.dist etc/mtree/special etc/netstart etc/ospf6d.conf etc/rc etc/rc.conf etc/relayd.conf etc/security etc/snmpd.conf var/named/etc/root.hint

Note that it IS possible to locally modify these files, if this has been done, manual merging will be needed. Pay special attention to mail/* if you are using something other than the default Sendmail(8) configuration. Here are copy/paste lines for copying these files, assuming you unpacked etc43.tgz in the above recommended place:

cd /tmp/etc cp moduli netstart ospf6d.conf rc rc.conf relayd.conf security snmpd.conf /etc cp mtree/* /etc/mtree/ cp mail/README /etc/mail cp ../var/named/etc/root.hint /var/named/etc

These files likely have local changes, but should be updated for 4.3. IF you have not altered these files, you can copy over the new version, otherwise the changes must be merged with your files:

etc/changelist etc/chio.conf etc/ftpusers etc/mail/aliases etc/ssh/sshd_config etc/sudoers etc/sysctl.conf var/named/etc/named-dual.conf var/named/etc/named-simple.conf var/named/etc/named.conf var/www/conf/httpd.conf var/www/conf/mime.types var/www/htdocs/manual/mod/core.html var/www/htdocs/manual/server-wide.html

The changes to these files are in this patch file. You can attempt to use this by executing the following as root:

cd / patch -C -p0 < upgrade43.patch

This will test the patch to see how well it will apply to YOUR system, to actually apply it, leave off the "-C" option. Note that it is likely that if you have customized files or not kept them closely updated, or are upgrading from a snapshot of 4.2, they may not accept the patch cleanly. In those cases, you will need to manually apply the changes. Please test this process before relying on it for a machine you can not easily get to.

/etc/ttys has been made more consistent across platforms, but this makes updating more exciting for this file. It is recommended that you copy over this new file, and manually merge any changes back to the new one:

mv /etc/ttys /etc/ttys.orig cp /tmp/etc/ttys /etc

The following files have had changes which should be looked at, but it is unlikely they should be directly copied or merged (i.e., if you are using pf.conf, look at the suggested change of strategy, and decide if it is appropriate for your use).

/etc/pf.conf

There are a couple files that can be deleted that are no longer used in 4.3:

rm /etc/hoststated.conf /var/named/standard/root.hint

Finally, use newaliases(8) to update the aliases database, mtree(8) to create any new directories, and change the ownership and access to /etc/chio.conf:

newaliases mtree -qdef /etc/mtree/4.4BSD.dist -p / -u chown root:operator /etc/chio.conf chmod 644 /etc/chio.conf

Upgrade packages
Run this command:
 * 1) sudo pkg_add -ui -F update -F updatedepends