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.
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
And good resources on how to learn to use Toolbox properly?
Toolbox create Toolbox enter
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
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.
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!
that the thing, if it breaks, the roolback is there or simply rebase without merging /etc, so basically a factory reset
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).
What an horror ! What are you gonna do ? Use your working system ? That’s sad…
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
Arkane linux exist, it’s arch linux, and atomic using btrfs
Thanks! I had not heard about it.
It seems to only consider GNOME as the official DE and seem to not have the “blend” integrations of different distro.
Might not be for me but I appreciate the reply and it might help others.
Finally a real world manual.
Plug your USB in and spam that key while turning on your PC.
Aren’t a lot of these issues due to gtk not being as theme friendly as Qt?
It is my understanding that a lot of thought and care is put into the design language and appearance of applications and frameworks. However the same level of consideration is not usually afforded to skins and themes, which are often released an never updated again. This can cause usability issues and sometimes even breakages. Of course, people are free to do as they please with their computers.
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.
Screw that.
Yeah. My guess is that for every meticulously hand crafted ui, there’s 10 that just go with the default. If a user wants an icon pack where🤘means home, they’ll be perfectly fine with navigating your application.
Developers can always include an option to disable styling if that would severely break the ui. But personally, I’d rather use a application that looks roughly like every other one in the system, than one that’s so specifically designed that it doesn’t.
Have you tried Gradience?
Agreed. Been super boring and stable on Aurora.
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.
I’m playing with kinoite in a VM, though.
Depends what you break. Sure kernels are easy to fix like you mention, but what if you bork your display manager?
Can’t you run timeshift from a live usb? Never tried, but i believe its possible. Obviously more time consuming and bothersome, but possible.
I actually don’t know whether timeshift can just run easily from a live USB, but I don’t see why not.
But of course that also requires you to have installed and set up timeshift before (which is obviously a good idea)
It’s quite a different deal when the whole operating system it built around a timeshift-like concept.
I rebase quite often, its the better distrohopping.
Have a look at Fedora Discuss, interesting things there.
What does rebasing mean in this context? I try to google it, but all I get is git rebase.
Any articles about it that are worth reading? Or if you can explain, that would be neat. Thanks!
Its the same :D
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.
Thanks!
So, this is only available for Fedora users?
ostree based distros*, the default fedora don’t use ostree so you can’t rebase, bazzite is not fedora but they also use ostree, so you rebase there
I have so much to learn. Last time I was tracking distros and having fun with distro hopping was with Slackware 7, I think.
What is ostree? What is bazzite? Time to google stuff.
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!
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 viarpm-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.
you can unlock the file system, don’t remember how tho
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.
I don’t use PIA, but /opt and /etc are both r/w in Silverblue/Kionite
I’ll have to give that a try, then. Doesn’t work on Bazzite.
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.why not use fedora’s built-in openvpn client and just add the pia info? That should likely work. https://helpdesk.privateinternetaccess.com/guides/linux/linux-installing-openvpn-through-the-terminal
or built-in wireguard client? https://helpdesk.privateinternetaccess.com/guides/linux/alternative-setups-4/linux-manual-connection-scripts
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.
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.
you can unlock your /usr with rpm-ostree usroverlay
Oh, hmm. I’ll have to look at that. I didn’t know you could unlock the overlay for specific folders
feels like this post was sponsored by Anne Hathaway
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.