Freebsd release management

From wikinotes

Upgrading FreeBSD releases is done using freebsd-update and freebsd-upgrade. These are used to update the kernel, and the binary package repos, and installed software.

NOTE:

Afterwards, Make sure to rebuild the source tree, and your jails!!!

NOTE:

you may also be interested in jail maintenance

Patch Releases (X.X-p13)

freebsd-update fetch
freebsd-update install
reboot
# you may be asked to reboot/freebsd-update install several times
sudo pkg upgrade  # update packages for new release

If asked to update your ports:

portmaster -af

Minor/Major Updates (9.0 -> 9.1, 10.0)

visit https://www.freebsd.org/ to see currently supported releases

freebsd-update upgrade -r 10.0-RELEASE
freebsd-update install
reboot
# you may be asked to reboot/freebsd-update install several times
sudo pkg upgrade

If asked to update your ports:

portmaster -af

Fixing Broken/Updated Systems

Frequently, as you update an aged system, it will cause missing libraries, or otherwise broken systems. Here are some tips to get you out of the hole:

single-user mode

# Restart your computer, then press '2' at the FreeBSD devil screen

mount -u /        # mount ZFS so that it is read/write
dhclient em0      # add internet

download libraries from an older release

cd /home/src
mkdir freebsd-10.2
ftp http://ftp.FreeBSD.org/pub/FreeBSD/releases/amd64/10.2-RELEASE/base.txz   # download libs from a release
/rescue/tar -xvf base.txz -C freebsd-10.2                                     # extract to path

find . -iname 'libcrypto*'                                                    # search for your missing library
cp  lib/libcrypto.so.5  /lib/                                                 # copy to your host system

See: https://forums.freebsd.org/threads/shared-object-libcrypto-so-7-not-found.50488/