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?

  • poki
    link
    fedilink
    English
    arrow-up
    14
    ·
    edit-2
    5 months 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.
  • kenkenken@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    12
    ·
    5 months 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.

  • narc0tic_bird@lemm.ee
    link
    fedilink
    English
    arrow-up
    9
    ·
    5 months 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.

  • Kyouki@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    5 months ago

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