One thing that I’ve noticed and appreciated about FreeBSD is that it is a monolithic project. In Linux, you have the kernel and then all of the user space stuff that is part of a distribution. Sometimes, it just seems strange to have these different parts being updated with one command.

FreeBSD does it differently. freebsd-update fetch gets the updates for the OS and pkg update gets them for the installed packages. In my mind, this makes it simpler to keep the differences straight. I might want to update the OS but leave my installed apps alone.

I updated my system today and it was very painless as I would expect. Running freebsd-update fetch gave me a list of everything that was going to be updated and then freebsd-update install installed them. The fetch took a while as it inspected the system and downloaded the necessary files. The update was fast and automagically created a boot environment in case things went awry. A reboot and it seems to be OK.

Interestingly there appear to be some differences in level between kernel and user land:

root@dell620:~ # freebsd-version -ku
14.1-RELEASE-p5
14.1-RELEASE-p6

When I revert back to the previous boot environment, I get the following:

rob@dell620:~ $ freebsd-version -ku
14.1-RELEASE
14.1-RELEASE