rickspencer3's Weblog

A Shallow Understanding of openSUSE

Introduction

As part of my job at SUSE, I have been using openSUSE Leap and Tumbleweed, in addition to SLE Micro for a while now. After some experimentation last weekend, and asking some friends some questions, I think I finally have a mental model of SUSE's distro options. I thought I would test that understanding by trying to write it out a bit here. I already know that there are a lot of details I glossed over, and a lot of people see things differently.

I think that openSUSE is the most useful and stable distro available, and more people should know about it and use it. Part of what makes SUSE’s distros great is the community and open source ethics that go into the distros, including the Enterprise versions. With any healthy open source community comes innovation, and with innovation comes choice. But with choice comes decision making, it can be hard to know where to start.

In general, when choosing a SUSE distro, I think there are 3 points to consider:

  1. What package lifecycle do you want?
  2. How do you want to manage the OS?
  3. Do you want Enterprise support or not?

Lifecycle

openSUSE has two major flavors of distros: Tumbleweed and Leap.

Tumbleweed, The Reliable Rolling Release

The major difference between them is that Tumbleweed’s package repositories are constantly updated, and as soon as the automated tests all pass, package updates are released to users. Major and minor version updates can be released as soon as they are ready and tests pass, so distribution updates are available as often as daily.

Unlike rolling releases from other distros, Tumbleweed updates are low drama for the user. They almost always work, and the packages are securely built on SUSE’s Open Build Service, so there is no fussing with local compilation and such.

Tumbleweed provides a great option if you like to have the most up to date software, but you don’t want to hassle with keeping the software up to date yourself. I am running it on a laptop that I use for work, and it is working quite well.

Leap, The Stable Release

By contrast, Leap tracks the SUSE Linux Enterprise release cycles. The package versions in the repositories receive security and bug fixes, but new versions of the software are only provided via point releases. For example, the upcoming release of 15.6 will offer some updated package versions.

This means that you can lock in on a working configuration and run it for a long time with minimal maintenance and overhead.

“Stability”

Both Tumbleweed and Leap are “stable” in the sense that they pass quality control checks and aren’t prone to crashes etc… I like to use the word “reliable” for this quality of openSUSE. By “stability” in this context, I really refer to how often the major package versions do or do not change. Management

Management

The second dimension that you can consider is if you want to manage a read only file system, or a traditional file system. This boils down to deciding between traditional openSUSE and Micro.

Both versions support transactional updates, as described below.

Traditional

If you opt for a traditional install (as I do) then you manage the system with zypper (or whatever package management tool you prefer) and use zypper to install packages like applications, and to keep the system up to date. Zypper makes changes directly to the system by doing things like installing dependencies, etc…

If you are using a traditional SUSE flavor, you don’t typically need to reboot the system after running installations and updates (there are exceptions of course). You can also use repositories to install software packaged as RPMs to install directly on the system or use things like Flatpaks and containers, depending on your preference.

Before updating the system or installing software, it’s a good idea to take a snapshot so that you can roll back easily if you need to or want to. This is done with the tool Snapper. One neat thing is that, in the default configuration, when you run the zypper dup command, it takes a snapshot for you automatically.

Micro

“SUSE Linux Micro” is the Enterprise version, whereas “openSUSE Leap Micro” is the community Leap version, and “openSUSE MicroOS” is the community Tumbleweed version. For simplicity I will refer to them collectively as “Micro” here.

Micro flavors come with a read only root file system. This provides a lot of benefits in terms of safety, but it requires a different approach to managing the system.

If you try to use zypper to install, it won’t work because you can’t make changes directly to the filesystem. Rather, if you want to install an RPM, you need to create a transaction wherein Micro will create a new copy of the root filesystem, update that copy, and then reboot into it. If the reboot fails, no problem, it will fall back to the original. As such, you can’t really use zypper in the normal way, but rather apply transactional updates.

Micro is designed with Flatpak, Containers, and VMs in mind for running applications. The idea is that your applications are containerized and can be safely installed and updated without touching the root filesystem.

In this approach, your applications come with their dependencies bundled in, so there are fewer dependencies in the base system in the first place. This makes Micro smaller, but also means that there are fewer dependencies to be updated, so updating the base system is less frequent as well.

Micro also keeps a list of previous states, so you can easily rollback to a previous transaction point for the base OS.

Enterprise Support

SUSE’s Enterprise Support includes critical benefits such as:

Certifications such as CC EAL 4+, FIPS, etc… Dedicated support engineers available around the clock Level 3 Support Dependable, clearly documented, and long life cycles for releases

If you need, or think you might need to opt for Enterprise support but you want to start with openSUSE, then you should stick with Leap (either traditional or Micro). This is because Leap is built out of the same repositories that SUSE Linux Enterprise is built out of, and opting into SUSE Support can, in some cases, be as simple as installing some packages.

Conclusion

Like any healthy distro, the openSUSE community has seen a flowering of innovation as community members put together solutions based on their own interests. For example, the community also maintains a sort of “in between” version called Slowroll. There is also an image based on MicroOS that includes a full desktop experience, called Aeon, and lots of other options. Too much richness to cover here, but I tried to cover the essential decision points.

Want some links? Community supported “choose your version” site

Leap 15.5 (stable traditional version
Tumbleweed (rolling traditional version
openSUSE Leap Micro (stable read only file system version
MicroOS (rolling read only file system version


Recent posts