I’ve been running Tumbleweed for a few years now. It’s great, but it’s not 100% autopilot, updates often require manual intervention (resolving small problems) or updates try to add 50 packages I don’t need (recommends) all the time despite them not being in a pattern. I’ve been looking for a distro on which I could set up automatic updates and forget mostly about it, while still having recent packages; reliability and peace of mind while being on the bleeding edge. Due to having an NVIDIA GPU, LTS distros are a no-go. I’ve debated on the following
- Debian: packages too old, ideal for my server though.
- Ubuntu 24.04: Plasma 6 not available until next release. Snap is still a problem.
- Fedora/Ublue: DNF is painfully slow. Immutable variants are interesting but download full GBs worth of images
- Arch: insanely fast package manager, but can require manual intervention. Automatic updates aren’t recommended for arch. It also lacks my printer driver on the repos (only available on the AUR). One of the only distros that can truly satisfy my minimalist itch.
- KDE Neon: Snaps, no nvidia graphics
- NixOS: Never tried it but apparently the unusual file structure causes many problems
So I ended up trying again OpenSUSE Kalpa. I had completely forgotten about it, and I really like the concept. It’s like the Fedora immutable variants, but instead of downloading whole GBs of images, it creates BTRFS snapshots between normal zypper updates. So you can have the benefits of offline updates without having to wait at boot or at shutdown. Just like silverblue, the concept is to try to install everything through flatpak/distrobox and avoid adding anything unnecessary to the base, so that system updates can be snappy and unproblematic.
I was really tired of opening my laptop, updating everything and then rebooting. I just want to open my pc, have all updates automatically applied in the background through systemd units so that the next time I boot, I have an updated system. No “updating” during next boot. I finally found a distro perfect for me in that regard, and for everyone else who’s tired of babysitting their linux desktops, you should give a shot to Kalpa/Aeon.
Snapshots are a lot more flexible. You can make any modifications to your system without issue. Layering packages on image based distros is slow and annoying, to the point UBlue OS was born out of that annoyance.
Speed of package managers did matter in my original search, because my workflow was to open my pc, update everything, reboot, start working. But with Kalpa snapshots, my updates are started in the background then silently and promptly applied on next reboot, I don’t even have to think about it. It’s like offline updates but without the wait.
Ublue does more
I’m not that knowlegable why ublue was created in the first place but ublue has incredible advantages besides not having to layer packages. You can create your own custom distro and ship it to many comouters without major knowledge, time or effort. Can you do the same with opensuse’s?
Layering packages shall be annoying. As with other installs, you do it once. Because it’s annoying you do it only if it is important. You do not layer random malware downloaded from the internet. You shall not tinker with the system, that’s why it is immutable. If you want to tinker, use a traditional installation method, or simply use distrobox
Ublue is indeed fantastic tech, I don’t deny that. For my own purposes, I would have to spend too much time curating my own custom OS if I used it, so I prefer Kalpa.
This is due to the fact that Kalpa is a traditionally package-managed OS. On image based Atomic Fedora there is a base image, and the overlays are always added on top.
If these overlays are always the same, like ublues “hardware enablement” then it makes way more sense to use the base image and apply these changes once. Doing that workload once, minimizing randomness between users and doing unstable stuff like proprietary NVIDIA drivers, rpmfusion, custom kernels etc. on a single repo. The issues will occur there and can be fixed centrally.
The slow process it not ostree, but doing the changes on every update. But tbh when updates are automatic it doesnt matter than much anymore.
The issue is the lack of any versioning and control. It works “without issue” just as it works on traditional distros, it works until suddenly you have strange errors, devs tell you “I cant reproduce this here and btw modifying the base OS is not a supported use case” (it actually isnt) and as there is no way to revert the “issueless changes” you need to fix them manually or reinstall the OS.
That sounds like a painful workflow.
Updating and rebooting before using is basically just paranoia. And Atomic Fedora now has automatic updates (by default, was just a settings switch before).
Note that automatic updates have many issues which ublue fixed in their ublue-update
@boredsquirrel @swooosh not having to reboot would make this finally useable to me!
rpm-ostree --apply-live dosomething
I havent tested that, but I also think nonatomic ostree is already really great and I want to try to only do that for some time.
Note that this is will not create a snapshot afaik so if an update breaks, it breaks. But installing a package might be worth it.
Edit: seems to only work for installs?