this post was submitted on 06 May 2024
53 points (85.3% liked)

Linux

48655 readers
435 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 25 points 7 months ago* (last edited 7 months ago) (1 children)

This is pretty complex and I wanted to write a post about it, will follow.

While OpenSUSE's model may look similar to Fedora's Atomic Desktops, it is not.

In short:

Fedora Atomic uses rpm-ostree for managing all installed RPM packages. This is basically git for binaries, meaning your system is 100% the system that Fedora tests and pushes to their servers.

Then you have the ability to add and remove RPM packages, which will be transparent (rpm-ostree status) and reversible (rpm-ostree reset).

This means

  • you can modify the system and install or uninstall any RPM you want
  • these changes will always be applied fresh to your system, meaning you will always start fresh and apply exactly them.
  • this means the entropy (amount of randomness, how much your system diverges from their system) is very little and transparent. "I cant reproduce on my system" is gone
  • you can switch (rebase) ostree remotes, also with support for container images like uBlue uses. This means you can have various upstream configurations with different goals, like Aurora/Bluefin, Bazzite etc
  • you can still reset your system to 100% upstream, to make sure you have reproducible bugs, or to find a broken package

Most of these things are not possible on OpenSUSEs model. To my understanding they basically just use zypper but with BTRFS snapshots. So you normally update the system, but into a new snapshot to the updates dont affect the current one.

But there is no way to reset or rebase, this means from day 1 there is a chance that your system is not the same as upstream.

They try to tackle that by advising to not install any RPMs which is pretty hillarious. If you use a good RPM distribution model like rpm-ostree, installing or even removing packages is no problem because A: you see the changes transparently and B: you can always reset.


As good as their efforts may be, their reproducible builds, their services, their YaST etc. Their "immutable variants" are not the same and way worse.

You can also see that by the adoption of rpm-ostree I would say. OpenSUSE has microOS and Aeon, which dont share a common name and are separate projects. Kalpa, the KDE Plasma variant, is officially unmaintained.

Fedora has

  • Atomic Desktops: GNOME, KDE, Sway, Budgy
    • uBlue: Bluefin, Aurora, Bluefin-DX, Aurora-DX, Bazzite (and all its variants), dozens of base images for various hardware and desktops
    • all the uBlue community images including secureblue
  • coreOS and IOT, which are a bit different
  • possibly future CentOS and RHEL adaption of the model
[–] [email protected] 9 points 7 months ago* (last edited 7 months ago)

I wasnt aware of how bad this situation was actually.

It started by me asking in their forum "where do I need to place a repo to add external RPMs"?

Because on Atomic Fedora the dnf repo add command doesnt work, but the repos can be placed in the same dir and work the same. So I assumed this worked on "the OpenSUSE equivalent" the same.

Instead of getting the needed answer (assuming that their model worked just as well as Fedoras) they told me

  • installing RPMs causes random changes to the system that are not reversible (yes they are, on Fedora)
  • installing RPMs is not supported, only Flatpaks (which dont support user namespace creation for process isolation in browsers, so not an option here)
  • the only RPMs that should be installed are drivers etc. So they advise something they dont support, lol
  • they supposedly hate Fedora?

I still dont know where such a repo would be placed, and why they would support installing RPMs on the "chaotic" traditional variants, while they dont on their "more stable" "immutable" variants.

Well yes I know. Because their model is not any better in solving the mentioned problems.

I mean, by logic, a better package manager should improve stability when installing system packages. You shouldnt need to install Flatpaks or Distrobox containers only on "immutable" distros, but especially on traditional, messy ones.

Because these traditional distros dont have measurements to revert the permanent changes that sometimes occur when installing, changing or upgrading packages.

If your OS is so unreliable that you only support installing Flatpak, then the package management is crap.