Atomic Desktops introduction

From Pengwings
Revision as of 01:17, 13 February 2026 by Theleruby (talk | contribs)

What are Atomic Desktops?

Linux distros are essentially made up of a bunch of open-source packages installed by a package manager. To update the system, you normally ask the package manager to update all the installed packages, and it does its best to comply. However, occasionally this can go wrong (e.g. due to broken/corrupt/conflicting packages). If this happens you can end up with the system in a bricked or unbootable state that can be hard to recover from. While it's not very common, it does happen, and this is not really ideal for the average random user who just wants a stable machine that works.

The atomic desktop idea is a new way of deploying Linux which attempts to avoid this sort of problem. Instead of installing the OS directly to your hard drive and updating the packages live, instead the operating system is deployed as an immutable OSTree image (similar to a docker image, but for the whole operating system). A portion of the system is kept separate from the image so that you can write your personal data there.

Updates are done atomically as a series of commits, where each version of the OS is a new OSTree image. Either the update completely succeeds or it completely fails; if it fails then the update doesn't get applied. If the user wants to install packages, these need to be layered on top of the image, which essentially creates a new sub-image with those packages layered. You then have to reboot into the new image in order to start using the layered packages.

The system normally retains the previous known good image in addition to the latest one. This allows you to perform a rollback in the event of a system update causing a boot failure. You can also pin specific images in order to keep them for future emergencies. The image you want to boot can be selected from grub.

Installing packages and other software on Fedora Atomic Desktops

The package manager for the Fedora Atomic Desktops is technically the same as the regular version of Fedora (dnf). However, most functions are unavailable from dnf directly, because the OS image is immutable. The tool that fills the gap is called rpm-ostree which layers packages using dnf libraries.

As an alternative to layering packages, you can choose to install programs into user-writeable locations. This is done using things like Flatpaks (downloadable programs which run in a self-contained sandbox, downloaded from the website Flathub) and AppImages (full program images containing all files and dependencies for the program, behaving a bit like a static exe). Flatpaks have the advantage of being installable from a distro-specific app store tool (e.g. Bazaar) and can be updated easily via GUI, similar to the Apple App Store, Google Play or WinStore. AppImages don't have this luxury usually and you have to update them by hand.

Sometimes the Flatpaks or AppImages don't work as well as the packages from dnf so it's not always viable to use them, in this case you might want to layer the packages instead. See also Rpm-ostree layering vs flatpaks.