Understanding the difference: Linux rolling releases versus point releases

The KaOS GNU/Linux distribution has just released new ISO images. This is a good opportunity to compare a rolling release to a point release distribution.

My previous two posts have been about new major 'point distribution' releases of Fedora and Linux Mint. Now I have seen that KaOS GNU/Linux has announced a major upgrade, so this is a good time for a hands-on comparison of a 'rolling release' distribution to the previously mentioned point release distributions.

The conceptual difference is clear, and reasonably simple. A point release distribution, such as Fedora, Linux Mint or Ubuntu, makes major new releases at (more or less) regular intervals. The spacing of those intervals and how regular they are varies by distribution - I think Fedora and Ubuntu are good examples of this.

The Fedora development cycle is typically six to nine months, and they announce a release schedule at the start of every development cycle. Those who have experience with Fedora releases know from the start that this really only means the final release will come sometime hopefully not terribly long after the originally planned release date: the Fedora developers believe very strongly in a "we will make no release before it is ready" philosophy.

Ubuntu, on the other hand, is on an absolutely fixed schedule of a point release every six months, in the months of April and October every year. The exact dates within those months are announced as part of the planning for each new release, and once they are announced it is exceedingly uncommon for them to be missed by even a day.

Linux Mint is sort of in between those two. Until recently, the Mint release schedule was 'sometime not too long after the Ubuntu release', but starting with Mint 17 there was a small change in that, to 'major point releases sometime after an Ubuntu LTS release', and minor point releases as deemed necessary by the Mint developers, probably following sometime after the 6-month Ubuntu non-LTS releases, but not with any firm commitment to that.

The important thing about all of these point release distributions is that once a release has been made, they try to stay with the same core packages until the next point release.

The obvious parts of this are the Linux kernel itself, the windowing system (X.org), and the desktop GUI (Gnome, KDE Plasma, Cinnamon, Xfce, MATE, Unity). Critical patches, security updates and such will be made, of course, but complete new versions and major updates are generally only incorporated in the next major point release.

For rolling release distributions, all updates are passed through continuously without regard to any sort of 'major release' schedule. Of course it takes time to integrate, test and release updates, and larger updates take longer to process than smaller ones, but they all come through pretty much whenever they are ready, including major new kernel versions and the rest of the core of the distribution.

The advantage of the rolling releases is obviously that the users get new versions of everything much sooner; the advantage of the point releases is that they require much less administrative attention for updates, need to be rebooted less frequently, and are generally considered to be more stable.

But wait: if rolling releases are continuously updated, and KaOS is a prime example of a rolling release distribution, how can there have been a 2016.06 release that I wrote about just over a month ago, and now there is a 2016.07 release that I'm writing about here?

The answer is that one of the potential weaknesses of a rolling release distribution is that the current state gets too far away from the most recent ISO image release, thus requiring a lot of updates and a lot of time to make a fresh installation.

To avoid this, rolling release distributions have to periodically make new ISO images available - but these are not the same as "point releases", because these are actually just snapshots of the latest current running image. That means if you are running a rolling distribution, you don't need to pay attention to these ISO releases at all, you just have to keep your system up to date.

Once again, exactly what "periodically" means varies by distribution. The KaOS policy is pretty simple:

once a first pacman -Syu becomes a major update, it is time for a new ISO

In the current case, they have changed to a new version of the C compiler, which requires updating nearly the entire distribution, so it was clearly time for a new ISO image even though the previous image was barely a month old.

openSuSE Tumbleweed is another well-known rolling release, and they produce new snapshots literally every few days, so there is never much of an update to be made after a fresh installation. But remember, this doesn't affect existing installations: I have several systems running Tumbleweed which haven't been reinstalled in well over a year now.

Another well-known example of a rolling distribution is PCLinuxOS, which releases new ISO images about every three months. Or six months, sometimes. It seems like they really make a judgement call based on the amount of updating which is required after making a fresh installation, and the amount of development that is currently in progress.

The final example I frequently cite for release types is Linux Mint Debian Edition (LMDE). A lot of people probably don't remember (or never knew) that LMDE started out to be a rolling release distribution. That didn't last long, though, before it was changed to what I guess I would call a packaged rolling release distribution, in which updates didn't come through in a steady stream, but were tested, grouped, and released periodically in 'Update Packages', but still without major point releases. That lasted for a while as well, but it eventually became clear that trying to install LMDE from scratch, and then figuring out if you needed to install only the latest Update Package, or all Update Packages, or whatever... it became a bit of a mess.

Today LMDE has basically become a point release distribution, but with very infrequent releases. Infrequent, like, almost never: the last point release was LMDE 2 which came out in April 2015, and I haven't heard any rumblings about a new release since then.

There have been updates, of course, but the type and frequency of them seem much more like a point release just keeping up with the latest security and major bug fixes, certainly not anything like a rolling release would get. (LMDE 2 is still running Linux kernel 3.16 and LibreOffice 4.3.3, but it has Firefox 47.0, for example)

Whew. Ok, that was a much longer ramble than I had intended to write when I started this, but I hope that it sheds a bit more light on what the types of distributions are, how they work, and what some common examples are.

Now let's move on to the "real" reason that I am writing this - the latest major update to KaOS GNU/Linux.

screenshot20160803101727.png

KaOS GNU/Linux 2016.07

image: J.A. Watson

As I said, it was announced a bit more than a week ago (23.7.2016), which is only about a month after their previous release, 2016.06. The Release Announcement explains that they decided a new ISO image was needed because they changed to GCC 5, and that caused about three quarters of the content of the distribution to be updated. Remember, though, that this doesn't mean you have to reinstall from the new ISO images; I have KaOS running on most of my computers now, and all I had to do was keep up with the latest updates. Although the number and size of the updates were pretty large, it all worked just fine, and that certainly beats reinstalling from scratch!

Not only did I end up with the same running system as would be produced by installing the new ISO images, I actually had that running on my systems well before the new images were released. The developers need time to take snapshots, package them up with the Calamares installer and create the hybrid ISO Live Images for distribution. While they were doing all of that, I was already happily running the latest updates on my systems.

The one thing that is "new" (updated) in almost every ISO image and which you would not normally have to deal with on a running system is the Installer - in this case, Calamares. Like some of the other smaller distributions that I use, KaOS has been using Calamares for some time now, and it just keeps getting better. The latest version installs with no problems (and very quickly) on both UEFI and Legacy Boot systems. It uses the systemd-boot package for UEFI installation, and although that is configured in a way that is very different from any of the other UEFI solutions I have seen, it seems to work reliably.

What does this latest update contain? Well, if you squint hard enough at the screen shot above, or read the release notes, you can see that the highlights are:

  • Linux kernel 4.6.4
  • GCC 5.4.0
  • KDE Plasma Desktop 5.7.2
  • KDE Frameworks 5.24.0
  • Qt Version: 5.7.0
  • X.org 1.18.4
  • Calligra (Office) 3.0
  • QupZilla (Browser) 2.0.99

One last note for the more advanced users who might be reading this. I mentioned briefly above that KaOS uses systemd-boot for UEFI firmware systems. This really makes a big difference in the installation and configuration of grub2-efi. If you go looking for the "normal" Grub configuration file, grub.cfg, you will find it in /boot/grub/grub.cfg. But once you look inside of it, you should quickly realize that this file is not being used to control the boot process. The real boot configuration files are in /boot/loader/ with a config file (loader.conf) and additional data in /boot/loader/entries/.

As I have mentioned in previous posts, KaOS mounts the EFI boot partition on /boot/ rather then /boot/efi/ like most other UEFI-enabled Linux distributions. This implies that the grub configuration data is kept on that EFI boot partition, rather than in the Linux root partition. That makes a difference if you are trying to examine or modify the KaOS boot configuration while running some other distribution on a multi-boot system. The whole thing feels a bit messy, and definitely takes some getting used to... I still haven't figured out how to add other Linux distributions for a multi-boot configuration yet.

That's it for now. As I said the last time I wrote about KaOS, if you are looking for a smaller Linux distribution, and KDE Plasma is your desktop of choice, and you don't mind using QupZilla instead of Firefox or Chrome (or you don't mind installing your browser of choice from the KaOS repositories), and you don't mind using Calligra instead of LibreOffice (or you don't mind installing LibreOffice), then KaOS is definitely worth a try. It's a good distribution and it just keeps getting better and better. The KaOS developers have shown an admirable ability to maintain their focus on what they originally said they wanted to do.