this post was submitted on 05 Jul 2024
64 points (94.4% liked)

Linux

46799 readers
1105 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 was thinking about going immutable for a long time and now I'm choosing a distro to hop to.
My question is: what are good immutable distros other than Fedora Silverblue spins, UBlue family and NixOS?
Maybe someone uses/used any? What is/was your experience with it?

you are viewing a single comment's thread
view the rest of the comments
[–] Kangy@lemmy.dbzer0.com 15 points 1 month ago (2 children)

Please don't hurt me but what's an "immutable" distro?

[–] Telorand@reddthat.com 21 points 1 month ago (1 children)

It's a distro that makes all but a few system directories immutable. This means you can't just install whatever you want in the same way you would install in a traditional Linux system.

This comes with some benefits:

  • Malicious and buggy software can't permanently fuck up your installation. Even root can't edit those directories.
  • Each system update replaces only the system layer, but you can rollback to the previous one if something breaks.
  • You can rebase to other images (like going from Fedora Kinoite to UBlue Aurora) with a simple command, and you don't need to reinstall anything or worry about backing up your /home directory.
  • Most software is installed via flatpaks or appimages, keeping a layer of separation between your system and your applications.
  • Distroboxes/Podman containers can handle a lot of additional software while keeping it safely containerized.
  • The system is generally reproducible, so the core of what you have is the core of what everybody else has.

Some drawbacks:

  • You can't install whatever you want however you want. There are some hard limitations on where files are allowed to go, and installing certain software that interacts with the kernel can be tricky (I'm currently trying to figure out the best way to install my VPN provider's client).
  • There's a definite learning curve to working with containers. It's not always as simple as "create container, install thing."
  • There's a definite learning curve to retraining yourself to think in layers/containers.

Some examples of modern immutable distros are:

  • Fedora Silverblue
  • Fedora Kinoite
  • Universal Blue Aurora
  • Universal Blue Bluefin
  • Universal Blue Bazzite
  • NixOS
  • BlendOS
[–] Kangy@lemmy.dbzer0.com 3 points 1 month ago

Thank you for the detailed explanation!

[–] SeekPie@lemm.ee 5 points 1 month ago (1 children)

As I understand it, it's read-only, so the updates you get are basically replacing your current ones but keeping your apps (like flatpaks) installed.

[–] Kangy@lemmy.dbzer0.com 3 points 1 month ago (1 children)
[–] pukeko@lemm.ee 7 points 1 month ago (1 children)

I think about it like this:

Layer 2b: ->> User applications (flatpak, nixpkgs, etc.)

Layer 2a: ->> User data (mutable, persistent no matter what your system layer is)

Layer 1: -> System (immutable/read-only/updated "atomically" meaning all at once) 

Layer 0: Hardware

Or, alternately, it's what macos has been doing with absolutely no fanfare for several versions now. That's not a knock, btw. It's an illustration that it can be completely transparent in use, though it may require some habit changes on linux.

[–] Kangy@lemmy.dbzer0.com 1 points 1 month ago

I see, that makes sense. Thank you!