I tried Silverblue for about an hour. Got pretty sick of "Changes queued for next boot. Run 'systemctl reboot' to start a reboot" real quick. I don't see how this is an improvement.
You should be installing software with stuff like flatpak, toolbox or distrobox. If you treat the immutable image as a mutable one there really isn't an improvement except for less of a chance of instability of updating/changing software that's running in memory already.
Yes, though keep in mind containers aren't like VMs so the hardware isn't virtualized or anything. The root system and everything in it is still immutable as well. In usage, it doesn't matter for the container but it isn't changing the root since what is writable to the container is outside of the root.
Using containers this way is the way Silverblue was intended to be used for by the user and pretty much any other immutable distro of note.
Yeah - I'm quite familiar with containers. I just don't see the value they're adding here. Maybe for experimental things or "project-specific" stuff. but otherwise don't you just end up maintaining a container same as you would your "host OS" in a non-immutable distro?
Your immutable OS stays stable. For example, running a sudo pacman -Syu with a bunch of stuff from AUR in your Arch container for example will not bring down your OS or otherwise make it unstable. The immutable image you first install has been tested and it is the same image as the testers -- same with the upgrades and updates, so long as you don't overlap the image with rpm-ostree in this case.
Immutability keeps your OS stable and if something does happen to go wrong, you just roll it back.
If that isn't something you need/want then that's not something you need/want.
It's definitely not - I've just been trying to understand the problem it solves for others though and see if it is something I would be interested in.
From what I can tell I can get all of the advantages in a "mutable" distro (flatpak, distrobox, etc.) without the overly-complex "immutable host" stuff.
I honestly don't get the fear of "some random update ruins your OS". Perhaps because I'm not an Arch user.
I am an Arch user and I still don't get it either. When Arch borks something it's rarely catastrophic. At worst it's throw in the live USB, mount your drive and fiddle. And if you are going in as an Arch user, fiddling is something you sign up for.
I can do that in Ubuntu... I'll admit I simply don't see the point. Immutable distro users seem paranoid about "some random update messing up their base OS" for some reason and I guess this suits their purpose. I just don't see that as a problem.
Most people aren't system administrators and they end up with broken computers for the most basic tasks. It's one of the major reasons why people hate using Linux desktops.
And even if you're an experienced sysadmin you can't account for the entropy that accumulates on traditional OSes. 18.04 -> 20.04 -> 22.04 doesn't end up being the same as a 22.04 clean install. This is a huge problem, especially for people who don't know how to manage linux systems. And the people who do manage systems at scale don't want that behavior either.
But day to day I'm in an ubuntu container and using "normal" package management, I just don't do it on the host.
If you kept a basic minimal Ubuntu host it would be trivial to maintain. And you can still do your "toolbox" stuff on top of it. No weird immutable stuff needed.
I just don't see the point. You want new users to understand containers. And to keep track of all the containers they maintain - possibly with different distros and using different things. And remember the difference between them and what is installed in each. Or just maintain one big container which is exactly what they would do normally anyway.
If you want it to be then it can. The risk of a failed update is vastly overblown.
You don’t need to understand containers unless you’re using the system for development – which in Linux land means containers.
Oh but you do. 1 hour into using Silverblue I was chastised by other users for "using it like any other Linux distro" when I started installing things into the "base" system with rpm-ostree. "Don't you know you should be doing that in a container?" I was asked.
I was just installing command-line utilities. Which I'm apparently supposed to do in a toolbox or other container which allows me to have... a mutable distro where I can do all the things I do in a "normal" OS. And which will require updating separately from the host OS. And which don't quite work right for everything because they're containers? Like you can't install httpd in one.
A reproducible system, delivered in a working state where anything you add is overlayed on top without effecting that system. Branches you can move between Fedora numbered versions as well as going Kinoite to Silverblue, while keeping the same stuff you layered on it.