this post was submitted on 27 May 2024
50 points (91.7% liked)
Linux
48340 readers
394 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
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
This was my issue with your original comment - I'm aware most of the work on features like these is based on immutable distros, but just being immutable doesn't mean it will have those features.
When it comes to reproducibility and declarative system management, I think you're right that they're only available in immutable distros.
The security benefit of a read-only filesystem isn't very significant IMO, and for some immutable distros, interesting parts (to attackers, like /etc for example) are mutable anyway.
And I don't use any snapshot solution currently, but don't most of them only store the parts that change between snapshots? According to the Arch Wiki, Snapper's "default settings will keep 10 hourly, 10 daily, 10 monthly and 10 yearly snapshots". This doesn't seem like much of an advantage for immutable distros, really.
I disagree with this though. "Better" is very subjective - I for one consider being able to have an up to date system that can have parts of it updated without rebooting to be much nicer than using something like rpm-ostree, even if it is safer to use in theory (I can't remember the last time I had an issue when installing a package; rebooting to apply an install atomically will likely make no difference to me other than wasting my time). I know I can use containers to get around this, but once again, this just adds to the hassle.
Thanks for the quick reply!
As alluded by the following in my previous comment:
So, to conclude this point; yes, an immutable distro is not required to come with all those features by strict virtue of its immutability.
Arguably, our talk might have resolved a lot earlier if in your original comment;
, you had replaced "immutable" by "atomic". To be clear, the "immutable" in "immutable distro" is not the correct adjective if we want to be descriptive. That's probably why you chose to give the (current) definition of "immutable distro" rather than "being immutable" when prompted. Hence, the name "immutable distro" is continuously being redefined and rehashed based on the distros that are represented by them. The popular definition for "immutable distro" right after SteamOS 3.0 was released, was very different from the definition you gave it earlier. Which was again very different when we had only NixOS and Guix System as our points of references. Just like how I mentioned to not have any qualms with your earlier definition, I likely wouldn't have any qualms with earlier shifts of the definition. Therefore, I'd argue, the notion of "immutable distro" is perhaps best defined by the distros that it represents. And currently, within the discourse, Fedora Atomic is its flag bearer. Hence, why a lot of other comments found under this post make assumptions based on that as their point of reference. But, I see Fedora Atomic merely as an iteration of NixOS but image-based (Colin Walters has even reported to be inspired by NixOS). And, the other (notable) immutable distros are heading that way. (And some, like blendOS, might already have come very close to that vision already.)
It may not be very significant, but it is significant enough that even Qubes OS (with their excellent model) aspires to it. Btw, I never implied or said that security became perfect (quite the opposite actually) just by virtue of becoming immutable. Instead, I only said it improved*. Finally, I suppose it's worth mentioning that e.g. Fedora Atomic does track the changes to
/etc
, keeps a pristine copy of/etc
and allows you to flush/etc
.No space occupied on your machine is better than some space occupied on your machine. I only said it's better, its significance is definitely up to debate though.
To be clear, I didn't intend to imply that literally all consequences are better. With "consequences", I actually implied the points that were mentioned in the comment you first replied to; rock solid system even with relatively up to date packages, possibility to enable automatic updates in background without fearing breakage, (quasi) factory reset feature, setting up a new system in just a fraction of the time required otherwise.
Let's not disregard NixOS and Guix System 😅. Furthermore, I understand the frustration. Thankfully, even in Fedora Atomic, there's a plethora of alternative package managers you can use to suit your needs; AppImage, Flatpak, Guix, Homebrew, Nix etc. Besides, I don't think you install new software every single day. FWIW, systemd does offer the soft-reboot functionality; though, the biggest problem for me personally is restarting all the programs that were open. So yeah... Though, this might be an issue of the past with the upcoming
systemd-sysext
.This criticism is absolutely fair. I know you felt compelled to said this only due to a misinterpretation of what I meant with "consequences". Nevertheless, I am totally with you that the 'Fedora Atomic'-model is not perfect. And, perhaps, never will be. For all we know, it will coexist with traditional distributions perpetually.