3 ms·
> Can someone ELI5 what exactly is immutable in an OS? I'll do my best. An immutable OS has a set of core features which are updated with a way to roll-back if
by youainti 4y ago
> Can someone ELI5 what exactly is immutable in an OS?
I'll do my best. An immutable OS has a set of core features which are updated with a way to roll-back if the update fails. The idea is that the core doesn't generally get touched by users or even the administrators. All user or server software will be installed in some sort of container.
> Are all applications run as sandboxed containers or something?
Yes, for some definition of container. For example, Fedora Silverblue uses podman to install OCI containers for server work, toolbx (a wrapper around podman) to setup CLI tools with access to the home dir, and use flatpak for GUI applications.
> If so, do they natively support switching between multiple versions of, say python?
My understanding is that you can write your own bash aliases to do that.
> In-line Edit: if they do, awesome, how about drivers and say CUDA?
Typically your drivers are going to be managed by the "core" of the OS so you won't be swapping those out.
> More importantly, does it break the usual install scripts of packages and require special handling OR do things just work?
My understand is this depends on how you set things up.
- If you add something to the immutable core, it will come from a package manager.
- If you install a cli application in a container it will not update itself.
- Flatpak will provide updates.
- full on containers such as podman/docker do their own thing.