this post was submitted on 02 Jul 2024
17 points (90.5% liked)

Linux

7288 readers
223 users here now

Welcome to c/linux!

Welcome to our thriving Linux community! Whether you're a seasoned Linux enthusiast or just starting your journey, we're excited to have you here. Explore, learn, and collaborate with like-minded individuals who share a passion for open-source software and the endless possibilities it offers. Together, let's dive into the world of Linux and embrace the power of freedom, customization, and innovation. Enjoy your stay and feel free to join the vibrant discussions that await you!

Rules:

  1. Stay on topic: Posts and discussions should be related to Linux, open source software, and related technologies.

  2. Be respectful: Treat fellow community members with respect and courtesy.

  3. Quality over quantity: Share informative and thought-provoking content.

  4. No spam or self-promotion: Avoid excessive self-promotion or spamming.

  5. No NSFW adult content

  6. Follow general lemmy guidelines.

founded 1 year ago
MODERATORS
 

Does immutable distros something significant over btrfs snapshots?

Beacuse if you set up grub or refind to auto-load new snapshots, immutable distros starts to look like over-engineered complexity.

So, am I missing something here?

all 7 comments
sorted by: hot top controversial new old
[–] [email protected] 14 points 2 days ago* (last edited 2 days ago)

Btrfs snapshots + Snapper have been (somewhat) pioneered by openSUSE Tumbleweed. Yet, they see value in developing openSUSE Aeon (i.e. their attempt at an 'immutable' distro); otherwise they wouldn't be putting resources into it.

Hence, Btrfs snapshots is (at best) only able to fulfil some aspects we've come to expect from 'immutable' distros. But there's more to it than that.

One of the most simple (and, yet, perhaps most defining) feature that 'immutable' distros come with is atomic updates; i.e. updates either occur or not, there's no in-between messed up state caused by energy outage or whatsoever.

There's a lot more to it than that. To mention a few more:

  • reproducibility
  • declariative system management
  • (some) prevention of cruft accumulation, bit rot and configuration drift
  • better security related to read-only part of OS
  • a lot less undefined/hidden/unknown state

Not all 'immutable' distros possess these qualities. Nor are they aspired by all of them. Hence, lumping them up together is actually a blatant oversight that's been committed way too frequently.

Regardless, if you're interested, consider trying out Fedora Atomic^[1]^, NixOS or openSUSE Aeon for yourself and see what it's all about.


  1. Either through Fedora's own images or the ones provided by uBlue.
[–] [email protected] 11 points 2 days ago

Btrfs snapshots are already used in openSUSE microOS which is branded as immutable. And AshOS generalizes it for any kind of distro: https://github.com/ashos/ashos . I think it is nice middle-ground for regular distros, which does them more reliable.

But for me, immutables are more about separation between the base system and the apps, where the base is not only immutable, but image-based: ostree, A/B partitions, systemd-sysupdate. And the apps are distro-independent: flatpak, containers, and so on. So apps are upgraded independently from the system, and one doesn't need to upgrade the system just to have apps updated or vice versa. Btrfs snapshots doesn't solve anything here by itself.

[–] [email protected] 9 points 2 days ago

Depending on how it's done they aren't really comparable.

I'm not familiar with openSUSE's immutable distro, but Fedora bases their atomic variants on what are essentially glorified container images (meaning they include a kernel for example). Every single deployment of a given image will be identical to each other. Only certain directories are writeable so that configuration and user data can be modified independently of the base image.

You can also "overlay" your own/custom packages, which essentially installs them into the image. When updating, a new base image is pulled and your overlayed packages are installed into the base image again. With a "regular" distro, you are deriving from the default install as soon as you install packages or even uninstall default packages (which also works with atomic distros, but the package removal is overlayed).

It's not so much about the ability to rollback as it is about reproducibility across several machines. It's comparable to how iOS (and recently also macOS) and most Android variants work.

[–] [email protected] 2 points 1 day ago

They’re very different things. For example, my nix store is btrfs.

[–] [email protected] 1 points 2 days ago

I did not know about auto-load new snapshots, thank you!

[–] Kyouki 1 points 2 days ago

Really curious to this as well - hope someone can answer it with more knowledge.