Fedora Silverblue is the most frustrating distro so far
So I took the plunge and installed Fedora Silverblue because of all that immutable buzz. And it's the most frustrating change I have made in almost 20 years of my distrohopping.
After installing Silverblue I configured it as usual. I installed necessary flatpaks, played with toolbox and distrobox, installed codecs, configured my bluetooth keyboard and other stuff in /etc and /var. Applied some useful tweaks I found on the web and... well... everything works. Nothing to do anymore. No issues. Nothing breaks, no dependency hell, everything runs smooth. I have nothing to tweak, tinker or configure anymore. So frustrating.
Every update is just... meh. Smooth, new, fresh system not affected by my stupid tweaking and breaking. Booooring.
I don't have to distrohop anymore. If I want other distros I can just install them in distrobox. Other versions of apps? Something from AUR perhaps...? No problem. What's the point of distrohopping now? Other DEs? I just rebase my system to other images with almost any DE or WM I want without losing data or messing everything up (damn you, UBlue!).
I don't even have to reinstall the damn thing cause every time I update the system or rebase it to another image it's like reinstalling it.
Silverblue killed distrohopping for me. Really frustrating.
You got me so good. Been using fedora for a few years now and I've been hesitant to hop to silverblue but now, after reading your issues with it I might just have to stay away. I can't imagine a world of painless updates and rebasing smoothly. If I don't have things to troubleshoot what else am I gonna do on my PC!
Oh man. I'm so sorry for your loss. May your system break at some vague point in the future in a way that is nigh impossible to diagnose and that no one else seems to have experienced. Godspeed, you unwillingly content penguin!
I'm honestly so trolled, I hate change & hate the idea that something might be better than my existing Arch install. I hate that security, reliability, and flexibility are improved. I cope by reminding myself that I'm very low on disk space right now, for the needed extra partitions
If you have a spare homelab machine Fedora does an immutable build called IoT (they branded it wrong it's just a barebones install appropriate for servers also).
I'm a bit behind on these immutable distros and have a small question. People keep saying you can just switch to another image if you want to switch desktop environments. But how does this solve the problem of the config files of the various DEs (GTK rc files or other theme stuff) messing with each other in the home directory? Because this was always a pain in the ass in normal distros
I've switched between Plasma, Cosmic, Sway, and Hyprland without any conflicts. For the Plasma 5->6 transition it did change my config in a way that broke Plasma 5 when I rolled back, so problems are possible.
But how does this solve the problem of the config files of the various DEs (GTK rc files or other theme stuff) messing with each other in the home directory?
Your files are a mutable part, they stick around for rebase and rollback. (I believe /etc also.) If it's only files in a home directory you could try a different DE by making a new user. But yeah I don't think it has a built-in solution for something like that.
yeah, home directory is mutable, but you can simply create another user, the /etc is also mutable(the system do a diff of it every update) but you can see every file that changed there(compared with the remote image) using ostree, or create another deploy where you discart your /etc, so, if you discart your /etc, and create another user, you have fresh install, without needing to reinstall using a pendrive etc
I don't support that some want to push their own theme. Just use the provided theme. You may create your own custom theme but that should be able to be used everywhere. App icons can be part of a theme.
It's a command provided by the OS to distrotop between ublue distros. You can basically hop between silverblue, Kionite and Bazzite with a single command.
Rebasing refers to an OSTree remote which is like a git repo, but with binaries and producing bootable systems. There are some differences there.
The idea is: there is a remote that has the exact wanted configuration, your system mirrors it. All the package manager does is similar to git pull.
If you rebase, you switch the upstream remote, and your system gets the diffs, downloads them.
The cool thing is, that these updates are atomic, so you stay on the current system and the rebased one is only set as the system you boot in after a reboot. You can still sudo ostree admin pin 0 before rebasing, and your current system will be saved forever to switch back to.
Note that /etc is writable so you might still accumulate duplicate or redundant configs.
Love the irony, but this is painting a little too good a picture
Every update is just… meh. Smooth, new, fresh system not affected by my stupid tweaking and breaking
Most times yes, but major updates usually cause some trouble, like from 39 to 40, you couldn't do it without uninstalling the codecs for Firefox. Firefox that is installed by default as an RPM, because the Flatpak Firefox doesn't yet have 100% compatibility with all the features that work with the RPM, so as a user you're pretty much led to get yourself stuck in this hole, not too difficult to fix in the end, but still a pain to find out and fix.
Everything else is 100% true! And I think it will be always hard to beat as an implementation of immutability (second place only to NixOS imo), A/B partitioning doesn't hold a candle to OSTree
Doesn't Bazzite have the base image modified to have the codecs included already? I think that's probably why you didn't experience any disruption there
Full hardware accelerated codec support for H264 decoding.
you couldn’t do it without uninstalling the codecs for Firefox
what happened is rpm-fusion was lagging behind the official fedora repos, so, you could have just waited, or enabled the automatic update and forget about it
Is that so? From the issue I read there was no way around it because the two images are fundamentally incompatible once you layer that package, you had to remove the layered package, it seemed from the discussion that they might have "fixed" the base image at some point as a pull request was opened on Pagure. I waited a bit for it to go upstream, but nothing happened for a long time and just went thorugh with the manual intervention, and actually, now that I check it again, the maintainer siosm commented that they can't accept the PR
AAMOF, I install Fedora Kinoite (Like silverblue but KDE plasma) to people coming from windows, first GNU/Linux Experience.Practically unbreakable. does its work.
I'm still getting things set for Silverblue to be my baremetal hypervisor distro on my laptop. And by that, I mean giving up on Incus, setting up libvirt, and... everything is working like it should. I wasn't expecting that. Now, I've got to find something else to do with my time.
What'd you dislike about Incus that libvirt does easier? I'm on a similar trajectory as you. I have Incus on Debian but I am transitioning to IoT for that machine. I kinda like Incus. I want to attach USB devices to a couple of my containers, it was a learning curve but eventually worked out alright.
For me, I think it's just not ready for non-Debian distros yet. The docs and packages just aren't up to parity. I like a lot about Incus and its general direction but libvirt and virt-manager are fully functional at the moment. Passing through devices with virt-manager is dead easy.
Two days ago my Mint system got borked by a kernel update. I booted from the grub menu with the prior kernel, and rolled back with Timeshift. Pretty painless. You don't need Atomic/immutable distros for that sort of reliability.
But well, if that helps, look at the bright side: while it's true that it'll almost never give you problems, I think it's true that the time the problems will happen, they will be pretty hard to solve, so it might break very bad. That's great, isn't it?
Don't tell me that this thing just cannot breaks. If that was even possible, that'd be tremendously evil.
bro, trust me i tried to break it, i booted without kernel parameters, my system didn't even had a root partition, shit was craze, and it didn't have a /home, rolled back just fine
-rebase from different fedora versions, i couldn't even login because of kernel versions(yeah even trying to login as root didn't work)
but, i read a history that happened a bug in ostree, in the early days, and the devs needed to ask the users to fix it manually, but was when in the start of silverblue
That really sucks, sorry to hear that man.
It seems honestly pretty bad and I really have to stay away from this distro.
Only RedHat could have conceived something this evil. Of course is RedHat, who else could it have been?
But...!
but, i read a history that happened a bug in ostree, in the early days, and the devs needed to ask the users to fix it manually, but was when in the start of silverblue
This. This is really giving me hope.
It kind of confirms what I was saying too.
You see?
It almost never breaks. But when it breaks, oh man! It breaks very hard indeed.
Never give up mate, that thing is gonna break somehow, sooner or later. It has to.
Now you have a standard Fedora command line system that shares your home folder but otherwise has its own filesystem.
There's more options (like using other distro's), but it's really not complicated.
To install CLI stuff that needs to access your host system's root files, use rpm-ostree (but if you need a lot of that, use a non-immutable distro instead).
I actually use neither anymore. My stuff I actually want to work with is in home and I have no need to tinker on this system, cause it just works.
TL;DR Don't (unless your needs are really basic or you really don't want to layer more packages)
Distrobox ftw, its website is pretty good to find all its features and it has a neat GUI BoxBuddy too! And also the generic Pods can be useful for more advanced needs.
Extra tip: if you have more time to spend on learning, I think Nix Home Manager will actually be the better solution in the long run, no need to worry about containers breaking in some way after system updates with scattered solutions that are hard to understand and remember, also you get to bring your configuration anywhere
After beginning to wrap my head around atomic immutable OSes, I can't believe they're not the standard for most servers. i can't believe Debian doesn't have an official atomic and immutable version yet, seems exactly like the kind of stability they aim for
I'm in the same boat, Kinoite (or rather my own blue build of it) killed my distro-hopping. But fans of Arch might be interested in the upcoming immutable arch-based OS: BlendOS
If installing the surface kernel (kind of necessary for my Surface Go 1) and installing a few appimages didn’t look so difficult, I guess I would already be on Silverblue.
I’m kind of the opposite of OP and just having nightmares about breaking my system 😅
That’s why I’m doing clonezilla backup but I think the custom kernel would be a problem if I reinstall on another non-Surface computer. Maybe I should just go back to the normal kernel before doing a backup..
I've been running Bazzite based on silverblue on my desktop for remote gaming and dockering. Everything was amazing until I started doing some mid-level docker stuff because of the rigidity of the distro.
Podman largely works but since it's rootless it won't have access to mounted drives easily due to SELinux.
Mounting a drive automatically wasn't intuitive either and I ended up editing the /etc/fstab manually.
Setting up a swapfile was also tedious, I needed more than 8GB so I made a 32GB swapfile but I still had to run a sudo command on startup since I'm not really confident with creating a systemd service on an immutable distro.
All in all I should have just gone for Nobara or a regular Fedora but that's because I have a really edge use-case.
That being said I still highly recommend it. It's stable, easy to "rebase-hop" and everything just works well and it's very stable. I'd recommend it for pretty much anyone unless you're going to do some heavy self hosting with multiple HDs.
I had an entirely different experience with Bazzite. It would not boot to Wayland after an update, so I had to boot to xorg, reboot, and then wayland would work, until the last update where Wayland just wouldn't work anymore, so I ended up going back to Fedora Workstation.
Bazzite has been smooth sailing about 80% of the time for me. The rest of the 20% were due to either plasma or runner crashing, requiring me to perform a hard reset using the power button. And then it magically atarted working again. I've also had my home folder become read-only on occasion. Very strange.
I don't fully understand how silverblue and kinoite are different, but I feel this way with base Fedora KDE. I've never broken it even a little bit when that used to be common with Ubuntu based distros for whatever reason.
Silverblue and Kionite are both Ublue distros, one has gnome and other KDE. One nice thing is that you can just swap between gnome and KDE without breaking anything via rebasing.
I wrote a thing about this earlier: Fedora has apparently been infected with an advertising department. Their website has a lot of branding and buzzwords and wanketeering and very few technical details. It never says the word Gnome anywhere. You just have to know "Workstation" and "Silverblue" mean Gnome.
They are both official Fedora Atomic Images. Universal Blue is another team that makes alternative Fedora Atomic Images like Bluefin, Aurora, and Bazzite.
Installed Aurora the other day (distro based on kinoite) and could not make my bank software run... It is a "local" (ie, only used by banks in my country) software only available for Ubuntu that requires a systemd service. Tried a lot and couldn't get it to work. The service started, but the browser accused it was not installed.
I'm guessing the service wants to edit something it can't edit on Silverblue. So the software is simply incompatible with your OS (as stated in the documentation)
Only thing I haven't figured out, yet, is how to install the Private Internet Access client. It uses a .run install script, and it fails when installing via rpm-ostree (tries to write to /etc) and doesn't like being installed in a Distrobox (needs systemd).
But yeah, I'm currently looking at some other options for my main system to drop Windows, and I'm always comparing to Fedora Atomics, now.
Any program with an install script makes assumptions about your system, if it doesn't work it just isn't compatible.
Either modify the script, package the software for your distro or find out if someone else has done it.
My first instinct would be to look if it's in the AUR and install it inside an Arch Toolbox.
Yeah, third-party Linux VPN clients are pretty screwed on silverblue, and probably always will be. Especially since when installed in a container, they require being ran in a rootful container with selinux labeling disabled to enable direct access to /dev/net/tun, and as you’ve quickly found out, most of those weird bash based installers haven’t adapted. It’s best to use generic VPN configs through your DE atm.
I do use OVPN. PIA didn't have a standalone WG config apart from their client when I last checked, so I'll have to look at that second article and see if it's workable, because the other issue is ease of use (I'm not the only one using it, you see).
Thanks for the info, though! Might solve my last hangup.
Wouldn't help, because any changes I make would be wiped out on the next update (plus it kind of defeats the purpose of an immutable system). I don't want to go down that road, primarily because the maintenance needs to be as easy as clicking a button (I'm not the only user, so ease of use is necessary).
The better option would be to have it live in the filesystem overlay, but I can't seem to get that to work. It's possible that it could be a flatpak, as ProtonVPN has their client as a flatpak, but PIA doesn't seem all that interested in throwing any bones to Linux users.