Survive any Linux catastrophe with a Btrfs snapshot – these GUIs make it easy

0
1
Survive any Linux catastrophe with a Btrfs snapshot – these GUIs make it easy


Jack Wallen/ZDNET

ZDNET’s key takeaways

  • Snapshots are a great way to restore a Linux system.
  • The Btrfs filesystem includes snapshots by default.
  • Instead of using the command line, make it simple with one of these GUIs.

If you’ve used Windows, you may be familiar with the System Restore tool. This tool creates snapshots — restore points that allow you to revert your PC’s state to a previous point in time.

Say, for example, you’ve installed a piece of software that made several changes to the operating system, and all of a sudden, things are not working as expected. You then uninstall the software, but your PC still isn’t behaving properly. Maybe it’s become very slow, or maybe it keeps freezing, causing you to have to reboot.

Also: This free Windows 11 tool can rescue your PC when things go wrong – here’s how

With System Restore, you can roll back your operating system to a point before you installed that software, restoring it to proper working order.

That’s what snapshots can do for you. They are an important aspect of backups, helping ensure that you always have a working system (with rollbacks) and up-to-date data (with backups).

With Linux, there is a particular file system that has built-in system rollbacks. That system is Btrfs. Although Btrfs isn’t the default filesystem on all Linux distributions, it is the default on distributions like Fedora, openSUSE, and Garuda Linux. 

I’m won’t dive too deep into Btrfs snapshots, because the inner workings can get very complex. This is why I wanted to highlight the best GUI apps for creating and using Btrfs snapshots.

Also: 5 command line backup tools every Linux user should use for desktops and servers

However, I do want to help you understand this on a rudimentary level.

What is a snapshot?

First, let’s look at what a file system comprises. Essentially, a filesystem is made up of “blocks” that contain stored data, and a table that keeps track of which files are stored in which blocks. There are two types of blocks:

  • Blocks referenced in the table are considered used.
  • Blocks that aren’t referenced in the table are considered empty.

A snapshot is a complete copy of that table at a moment in time, with the specific used and unused blocks precisely mapped. If something were to happen to a system, you could then roll the table back to when it was working as expected. Each snapshot includes a table and all blocks associated with that table.

Also: 8 things you can do with Linux that you can’t do with MacOS or Windows

Think of a snapshot as a photo of your desk, taken when the desk is perfectly arranged. If anything gets out of place, you could refer to that photo and move everything back to its precise position.

You could manage snapshots from the command line, but trust me, you don’t want to do that. Instead, try one of these three GUIs.

1. Btrfs Assistant

Btrfs Assistant

Btrfs Assistant is the most widely used and accepted GUI for managing snapshots. This app is fairly simple to use: launch the app, configure the snapshot, and then schedule it.

Although Btrfs Assistant isn’t quite as simple as the other tools on this list, it offers advanced features you might eventually need, such as Balance (optimizes space allocation and device distribution), Scrub (a data-validation tool), and Defrag (reduces file fragmentation due to its copy-on-write design).

With Btrfs Assistant, you can create multiple configurations, each with different settings. You can also customize snapshot retention and enable timeline snapshots for hourly, daily, weekly, monthly, yearly, and numbered. Finally, you can enable Snapper cleanup and Snapper boot (the ability to boot directly into a Btrfs file system snapshot managed by Snapper and recover a broken Linux system or test a previous state without losing data). 

Also: The 5 best Linux alternatives to Windows in 2026 (that aren’t Mint)

Consider Btrfs Assistant as your first choice because it’s widely used, actively developed, and more robust than the others. Btrfs Assistant can be installed from most standard Linux repositories.

2. Butter

Butter

Butter is what happens when you strip Btrfs Assistant of its advanced features to simplify it and make it easier to understand and use. Butter is basic, but it works. If you don’t want to mess with so many options and just want a GUI that makes it easy to create snapshots, go with Butter.

Butter allows you to name a snapshot, select a location to house the snapshot, select a subvolume (an independent file/directory hierarchy that behaves like a separate partition or mountable volume), and enable/disable read-only. Once you’ve created the snapshot, you can schedule it by creating a schedule rule (a retention policy) that defines how many snapshots to retain. 

Also: Can MainstreamOS finally make Linux a household name? I tried it to find out

Butter is about as easy as it gets for Btrfs snapshots, so if simple is what you’re looking for, this is what you want.

You can install Butter from the standard Ubuntu repository (sudo apt install btrfs-progs), but on Fedora, you must install it from its COPR repository, first with the command:

sudo dnf copr enable zhangyuannie/butter

And then with:

sudo dnf install butter

3. Timeshift

Timeshift

Timeshift works with both Btrfs and Ext (via RSYNC). The caveat to Timeshift is that it was designed for an Ubuntu-like subvolume layout. Because of this, you can only use Timeshift on Ubuntu-based distributions.

Timeshift lies somewhere in between Btrfs Assistant and Butter. It uses a handy wizard to help you set up the snapshot and lets you select the directories to include. Once the wizard is complete, you can go into the snapshot settings to customize options such as location, schedule, users, filters, and date format.

Also: How I configure DNS on Ubuntu Linux distros via the command line – it’s easier than you think

The problem with Ubuntu-based distributions is that none default to Btrfs. Instead, you have to select Btrfs during an advanced installation.

That said, if you do go with a Btrfs installation on Ubuntu, Timeshift is a great option and can be installed from the standard repositories.