Here is the possibly outdated state of that time
General
BTRFS CLI Interface
btrfs-progs
official userpace utilities
BTRFS Assistant
Tool for doing many BTRFS actions graphically
It requires snapper
and offers a GUI for it.
butter-manager
Tool for managing snapshots, balancing filesystems and upgrading the system safetly.
Backups & Snapshots
btrbk
Backup utility using BTRFS
Snapper
General system snapshot utility with BTRFS support, used in OpenSUSE Tumbleweed by default. There are also plugins for Fedoras dnf and for Arch pacman.
Timeshift
System restore tool for Linux. Creates filesystem snapshots using rsync+hardlinks, or BTRFS snapshots. Supports scheduled snapshots, multiple backup levels, and exclude filters. Snapshots can be restored while system is running or from Live CD/USB.
Currently maintained by LinuxMint, even though they dont use BTRFS by default, it works better there.
- ArchWiki
- Debian Wiki
- thelinuxcode
- linuxconfig
- Mir Rahed Uddin’s Guide
- Its FOSS Guide
- [DE] Linuxcommunity Guide
libtuikit / transactional-update
Used in OpenSUSE microOS and the Desktop variants.
provides an application and library to update a Linux operating system in a transactional way, i.e. the update will be performed in the background while the system continues running as it is. Only if the update was the successful as a whole the system will boot into the new snapshot.
Available as a library for other distros.
Yet Another BTRFS Snapshotter
Alternatives don’t supports customized of snapshot location, (e.g. Arch recommended layout). Adhering to such layouts, and rolling back using them, sometime involve non-obvious workarounds. The motivation for yabsnap was to create a simpler, hackable and customizable snapshot system.
btrfs-autosnap
There are 2 separate projects with that name
grub-btrfs
Set BTRFS snapshots as boot options
[btrfs-sxbackup])https://github.com/masc3d/btrfs-sxbackup)
Incremental btrfs snapshot backups with push/pull support via SSH
Small CLI tools
btrfsd - tiny Btrfs maintenance daemon
Btrfsd is a lightweight daemon that takes care of all Btrfs filesystems on a Linux system.
It can:
- Check for detected errors and broadcast a warning if any were found, or optionally send an email
- Perform scrub periodically if the system is not on battery
- Optionally schedule balancing operations as well
dupreremove
Tools for deduplicating file systems
compsize
Takes a list of files on a btrfs filesystem and measures used compression types and effective compression ratio
Used in flatpak-dedup-checker
btdu
sampling disk usage profiler for btrfs For multiple reasons, classic disk usage analyzers such as
ncdu
cannot provide an accurate depiction of actual disk usage. (btrfs compression in particular is challenging to classic analyzers, and special tools must be used to query compressed usage.)
btrfs-list
Helps listing directories
btrfs-fuse
A read-only btrfs implementation using FUSE (Filesystem in Userspace). Although btrfs is already in mainline Linux kernel, there are still use-cases for such read-only btrfs implementation:
btrfs debugger
The btrfs debugger (pronounced “buttered”).
btrd is a REPL debugger that helps inspect mounted btrfs filesystems. btrd is particularly useful in exploring on-disk structures and has full knowledge of all on-disk types.
ntfs2btrfs
a tool which does in-place conversion of Microsoft’s NTFS filesystem to the open-source filesystem Btrfs, much as btrfs-convert does for ext2. The original image is saved as a reflink copy at image/ntfs.img, and if you want to keep the conversion you can delete this to free up space.
Consists of a Windows and a Linux executable. Does not work on the primary drive.
WinBTRFS
filesystem driver for Windows
Partition managers with support
- KDE-Partitionamanger
- GNOME-Disks
- blivet-gui (Fedora Anaconda setup)
- gparted ?
Data recovery
When having deleted or corrupted data on a BTRFS partition, these tools can help:
Testdisk?
- photorec?
Scalpel?
R-Linux
Freeware, not FOSS? Not related to R and “R-Studio” is also not related to RStudio
BTRFS bindings
These allow you to do BTRFS actions in many programming languages
https://github.com/knorrie/python-btrfs
https://github.com/kdave/btrfsmaintenance
Okay I will add a “btrfs bindings” section 🫠