Background:

Typically when I’m trying something new on Linux, I search for an online guide that doesn’t assume I’m already an expert and looks like it should be easy enough for a pleb like myself to follow. Whatever it is I’m trying to do, it usually takes me multiple tries to get it right. Sometimes, when I’m venturing into new territory, I’ll derp around in a VM so I can take snapshots and then revert to the last good snapshot when something inevitably goes wrong. This approach works well for me most of the time.

But every now and then, I don’t want to use a VM, I want to use a spare laptop that I have lying around, “bare metal” if you will. It just feels more… authentic? My hesitation w/ practicing on spare laptops is that when I mess it up, the only way I know how to start over with a clean slate is to reinstall the OS and try again. This approach is not ideal b/c I mess up a lot - this is a fact of my life - and reinstalling the OS after every mistake takes a lot of time, to the point that I just stop persuing whatever project I was working on.

Question:

Is this a good use case for btrfs? How easy is it for a pleb like myself to take snapshots and then roll back to the previous state after jacking up a config file in /home or /etc or something?

  • moonpiedumplings@programming.dev
    link
    fedilink
    English
    arrow-up
    5
    ·
    23 hours ago

    Yes, but there is something important to remember.

    By default, most Linux installs put there kernels in /boot, which is not on the btrfs partition. This is not an issue on distros that keep multiple kernel versions, but it can cause issues on distros that only provide one kernel version (Arch and Arch based distros).

    Because the kernels are not stored on the btrfs partition, they are not restored by btrfs snapshots. And if the rest of the system, including kernel modules, are a mismatched version due to restoration, then it means your system is unbootable.

    A simpler fix is to install ArchLinux’s linux-tls package, which is the stable version of Linux that doesn’t update constantly.

    But what I do to get around this, I put /boot on the btrfs partition, and /boot/efi is the seperate efi partition where grub is installed. Then, kernels are restored when I restore a snapshot.