I am looking to setup a relatively stable desktop. I’ve used Debian and Arch primarily for the last 10 or so years but, while Arch has been stable for me for the last year, I’ve had enough issues in the past to be hesitant to use it for this scenario. I setup Debian but noticed some issues that I suspect are due to the age of the software in the repos so I’m considering Fedora.
One standard that’s served me well was using BTRFS with grub-btrfs and timeshift to make snapshots available on boot for fallback purposes. I’m not opposed to replacing timeshift with snapper but it seems the grub-btrfs implementation with Fedora may pose some challenges based on what I’ve read going back to v39 release. I am also open to systemd boot.
What does the Fedora community tend to use for making btrfs snapshots available on boot? I see there’s a refind-btrfs that may do this but wanted to get some input from the community before sinking time into yet another deployment.
The other thing I want to do with this deployment is to containerize apps using Distrobox in order to help system stability and maintain separate config states. An example of this would be to have 3 deployments of a browser. One for standard browsing, one for personal stuff, and one for administrative tasks.
On Debian, this seemed to work OK but I had some weird issues. When initiating the exported apps from a keyboard shortcut in XFCE, the system would lock up. This is despite copying the working command from the launcher. I also had a lockup during a browsing session. I was using an arch and a fedora container to run Chromium and Chrome respectively. I’m hoping the more up-to-date packages the Fedora offers (the Fedora image available in Debian’s Distrobox was v39) may provide a more consistent experience but would appreciate any input on this approach as well.
You do not have to use grub-btrfs here. Fedora reserves 3 kernels respectively out out box (you can adjust it according to your needs). In case there is an issue with the kernel, you can easily boot with a previous one. There is a couple of things to consider before putting /boot into btrfs partition, I think you can have a look at this: Will Fedora use Btrfs for /boot in the future?. I use snapper and btrfs-assistant, everything works normally. If you want to back up /boot, use rsync for that.
But that only boots into the previous kernel, right? You get the old kernel along with the current state of /usr and the rest of the root partition - rather than rebooting into a full historic snapshot, which is what OP probably wants to achieve here.
For fallback purposes you could take a look to Fedora’s atomic offerings as well.
Do you need such a powerful separation as provided by containers? What about browser profiles? Or even separate installations of the same browser/flavor (e.g. Firefox RPM as provided in the base install, then a Flatpak version of Firefox - if you’re happy with browsers as Flatpaks - and then Librewolf).
Yes, you can only use the previous installed kernels, but I think it is better than restoring the full system in order to use an older kernel, you can use snapper to restore the root and home partitions. The way Fedora configures grub is a little bit different than others, so grub-btrfs requires a bit work to implement. But I think it is not a rocket science, just a few minutes to tweaks the config of grub-btrfs.
I ended up setting it up with grub-btrfs and I don’t know what others were talking about. Sure, it isn’t just “flip a switch” but with proper subvolume setup and use of snapper had no issues with this.
I did simplify my browser deployment to local installs of chrome and chromium. I may containerize some things in the future but for now this is fine.
It is good to know the default behavior of maintaining a few kernels is present and I notice that in the grub menu so that’s nice to have when it’s needed.
Thanks all for the input. The performance and experience with Fedora has been quite good. I may even move away from Debian for everything except some of my long-running server vms. I’m pretty happy with this Fedora setup. Thanks again for the helpful guidance, it’s greatly appreciated.