Hey! I’m currently on Fedora Workstation and I’m getting bored. Nothing in particular. I’ve heard about immutable distros and I’m thinking about Fedora Kinoite. The idea is interesting but idk if it’s worth it. CPU and GPU are AMD. Mostly used for gaming.
There are many good comments here and from what I’ve read immutable seems best suited to the Enterprise IT environment where you don’t want the user fiddling with the system, and you want built in rollback and quick configuration. As well as user data protection.
But for Linux users at home I don’t see any massive advantage. Especially if you’re running a reliable distro like Mint or Debian, or better yet Linux Mint Debian Edition is the best of both worlds.
If you only turn the PC on to watch YouTube, read a document, scan and print, surf the web or game your system should be 100% ok. Unless you’re running Manjaro or Arch.
What I don’t like about the immutable approach is that it turns my PC into a dumb terminal locked by the distro Devs and updated at their will. It’s ok if I have read only on my Android phone because I don’t need to get into root etc. That’s a good place for immutable.
But I don’t want my Linux box at home to be a just an appliance that someone else essentially has control over.
That’s very much an Apple approach. Don’t let the user see or touch anything. They can just be content to change the wallpaper and add a widget. We’ll decide when and how the OS gets updated, what apps they can and cannot run etc.
Ultimately it infringes on user freedom and the very FOSS principles that set Linux apart from the rest.
In short, fine for Enterprise IT but no good for the average Linux user.
I think you are misunderstanding how immutable distros work. They can be just as configurable as regular distros and in the case of nixOS it is more configurable than popular distros. The point of immutability is to ensure that the system can’t be broken during when it is running by a bad update or install or by user making configuration errors as these are applied during reboot. If the system is broken then a earlier snapshot is booted so you always have a working system. You can setup a regular distro with this atomicity and snapshots but it is not as easy as using immutable distros. Yes tinkering and using native packages is harder in most immutable distros but immutables never were a catch all solution. Use what suits you. I was just a little upset that you claimed that immutables are not in the spirit of FOSS. You can even make your own images(base OS) in distros like fedora silverblue and update your system with those images instead of using what the maintainers provide. It is what uBlue uses
Thanks for the correction. 👍
Cheers. Hope you don’t shy away from trying immutable distros
I think I’ll spin up a VM and try one
You make a lot of good points, but I have to disagree on the “don’t let the user see or touch anything”. That’s very much not the way immutable distros behave (and I speak mostly about Fedora Silverblue here, I don’t have experience with other immutable systems): you can touch and change anything and often times you have mechanisms put in place by the distro developers to do exactly that. It’s just that the way you make changes is very different from classical distros, that’s all, but you can definitely customize and change whatever you want. I feel the comparison between immutable distros and Apple is really far off: Apple actively prevents users from making changes, while immutable Linux is the opposite – while there may be some technical limitations, the devs try to empower the user as much as possible.
Thanks for replying. It seems that my impression of immutable might be off. I’m glad to hear you actually can make changes.
I assume the must be some kind of core trust can’t be changed? Or does the immutable name refer simply to the ability to roll back?
The immutable part (again, only speaking about Silverblue, I don’t know about others) refers to the inability to make changes online (i.e. without rebooting), but you can eventually change whatever file you want. The way it works is you would make your changes in a copy of the current filesystem and at boot simply mount and use the copy. If something goes wrong, you just mount the original at next boot and you have rolled back.
Fantastic. Thanks for explaining that to me. That actually sounds very good and not at all restrictive. Cool. I can see why things are moving in that direction.
If you do a rollback, I assume your data remains? I assume you might need to reinstall apps which were not in the original? Or does it keep apps, data and settings across a restore?
In CoreOS (Silverblue),
/etc
,/var
and/home
(which is in fact a symlink towards/var/home
) are regular writable partitions, so your data, configs and personal files are not touched by the upgrade/rollback procedure.All the packages (and their dependencies) you’ve installed extra are also upgraded/rolledback when you do a system upgrade.
Fantastic. That’s cool. Thank you 🙏