In the first part of this article I’ve covered system installation, first login and GNOME/XFCE desktop environments usage and I’ve had a brief look at the init system of TrueOS.
In this second part I’m reviewing TrueOS’ most exclusive and distinctive feature, the updates’ management.
System and packages’ updates
TrueOS is a rolling-release operating system, it means that developers work with one code branch (versus discrete versions as you can find in Ubuntu Linux for example) and update it with frequent (and scheduled) updates so that it is always “fresh” and up-to-date.
Comparing this logic to the one you can find in Debian GNU/Linux, it is quite the same as having a PC with the Debian testing branch installed on it (except while in the feature-freeze time range) but with the certainty that operating system maintainers test updates with the same care as when updating a stable release – as far as it is possible.
Of course: rolling release operating system cannot for sure be used for servers, where you must have 101% certainty that updates won’t break anything or cause incompatibilities.
AppCafe provides a graphical interface for installing and managing FreeBSD packages:
I very like the information it gives about each package (build options and required dependencies in primis).
System and packages’ updates in theory
Any software update automatically creates a snapshot of the current operating system, known as a boot environment (which is a feature of the ZFS filesystem), and mounts the snapshot in the background. All of the updates then occur in the snapshot. This means you can safely continue to use your system while it is updating, as no changes are being made to the running version of the operating system or any of the applications currently in use.
Once the update is complete, the new boot environment or updated snapshot is added as the first entry in the boot menu. It is then activated so the system will boot into it, unless you specify otherwise.
The default ZFS layout used by TrueOS ensures when new boot environments are created, the /usr/local/, /usr/home/, /usr/ports/, /usr/src/ and /var/ directories remain untouched. This way, if you decide to roll back to a previous boot environment, you will not lose data in your home directories, any installed applications, or downloaded source files or ports. However, you will return the system to its previous state, before the update was applied.
Update Manager will update all installed software. If you have placed a lock on a package, Update Manager will fail and will generate a message indicating the failure is due to a locked package.
Updates are released in “units”, about twice a month, so many packages are updated at the same time and a boot environment creation is needed each time. This update schedule makes the system usable and smart.
System and packages’ updates in practice
During my usage I updated the system once; updates came up about two weeks after I had installed the fresh system.
Once the update task has finished, a reboot was necessary in order to set up the boot environment:
And… the next boot I was able to choose from two (deafult boot is always from the newely created one):
My personal conclusion
Having tried out FreeBSD recently, I was scheptical about this BSD-fellow regarding a pure desktop usage.
After a couple of weeks with it, however, I can say that I am really astonished: not only TrueOS pushes FreeBSD to an unprecedented level for desktop-oriented people, but some of its features make a happy Debianized Penguin (as I am) really (really) envious. Of course I’m referring to the update features of this rolling-release operating system mixed up with a conscious use of the ZFS filesystem (and its “layers”).
TrueOS combines the convenience of a rolling release distribution with the failsafe technology of boot environments, resulting in a system that is both current and reliable. TrueOS now tracks FreeBSD’s “Current” branch and merges features from select FreeBSD developer branches to enhance support for newer hardware and technologies. Weekly automatic updates keep your system always up-to-date, and all updates are performed safely within system snapshots called boot environments.
Looking for more BSD-ish road tests?
- A Penguin tries out TrueOS, formerly PC-BSD, part I
- A Penguin tries out FreeBSD 11 as a desktop operating system