Hello, I’ve been a long time Linux user but I had a 5 years break and I am coming back to it now.
I’ve been trying several Linux distributions in the past week, installing the packages and configuring them as I need with several different orders of success.
My last case was an Ubuntu installation that I was very happy with and pretty close to call it setup and done, until I installed virtualbox and restarted the system only to find it bricked.
Obviously I could try to drop into one of the terminals on ctrl + alt + Fx and fix it, but I wonder if I could be smarter about it and be more prepared for this kind of situation.
One of the starting points I think would be having a separate home partition from the rest of the system. I used to have it in the past and it was great.
But then what’s next? What are the best FS I could pick for each type of partition? A performant one to keep the code and package manager cache, a journaling/snapshop based one for system, another type for game data, etc etc.
What if I would like to have a snapshot of working version of my system backed up somewhere ready to restore as simple as simple as possible?
How do you configure your systems in order to quickly recover from an unexpected bricking without growing some more white hairs, and squeezing as much performance vs feature for each of your use case?
Use Virtmanager, its native on the Kernel (KVM) and doesnt need weird Kernel modifications.
So Ubuntu is really old regarding this. The solution you are looking for is BTRFS, standard on Fedora and Opensuse. It allows snapshots (that both systems automatically create afaik), and this is a specific capability of that filesystem, as these snapshots can be created while using it.
Its really powerful and somewhat magic, as you see no performance lack.
Isolating your home, maybe. Isolating /var
could also be nice if you use Flatpaks.
Or just get an immutable System, if you need weird packages use Distrobox/Toolbox, if you want system mods try Ublue.it or layer/remove a few packages, and be happy with Flatpaks for the rest.
To answer your question, Opensuse and Fedora do the snapshots automatically. Just enable offline updates to use this feature more reliably (afaik).
I personally broke Linux Mint, Kubuntu, KDE Neon and Fedora KDE, so I switched to Kinoite.
On servers I like to have /var on its own partition. Partially as a habit from the olden days of using FreeBSD in the 90’s, but also because that means that / will mostly be left with things that don’t really change. I’ve had to clean out clogged up / too many times. So in effect, my partion schema for a typical production server looks like this:
/ ext4
/local xfs
/global usually beegfs or nfs, but sometimes a local xfs.
/var ext4
/home ext4