Hi, I want to do an “awesome things” list with BTRFS tools
Help me gather them?
BTRFS CLI Interface
btrfs-progs official userpace utilities
BTRFS Assistant
Tool for doing many BTRFS actions graphically
btrbk
Backup utility using BTRFS
snapper
General system snapshot utility with BTRFS support, used in OpenSUSE Tumbleweed
butter-manager
Tool for managing snapshots, balancing filesystems and upgrading the system safetly.
btrfs-list
Helps listing directories
Partition managers with support
- kde-partitionamanger
- gnome-disks?
- blivet?
- gparted?
Nice list.
Depending on your package manager, there are very handy
snapper
plugins that do automated pre/post snapshots for package installation/removal.For Arch-based systems is
snap-pac
, and Fedora has one too (although I can’t remember the name).Thanks, added it
Tools I use:
-
Timeshift for snapshots (and automatic snapshots after package upgrades)
-
BTRFS assistant for helping with BTRFS maintenance
Does timeshift also use BTRFS features, or just the normal method?
Timeshifts main reason to use is BTRFS functionality. It’s a fantastic tool, but I only used it previously on EXT4, in which case it defaults to slow rsync method. I really like the software, but on my new install decided against using it (I’m on EXT4 yet again). https://github.com/linuxmint/timeshift And while I post this reply, just noticed that Linux Mint is maintaining it now. The old repo is in archive mode: https://github.com/teejee2008/timeshift
Really interesting project.
Yes I also thought it would be focused on non-BTRFS, especially as Mint doesnt use BTRFS either, right?
You mean the default filesystem? I actually never used Mint and don’t think it’s the default, but most likely an option at install time. Maybe they plan on switching as the default in the future.
May I ask why you switched back to ext4?
I never used BTRFS at all. At the moment I do not feel comfortable using BTRFS yet and wait until its proven over long time and ironed out even the weirdest edge cases.
Edit: Don’t misunderstand me. I know its relative stable now, but reading here and there about the problems makes me very uncomfortable to switch from the battle tested EXT4. I really like its features and evaluated last year to use BTRFS as my system drive. Ultimately decided against it for now. I plan on using it, and clicked this post for this reason, to learn more about it.
Maintaining btrfs is more work than maintaining ext4, which basically doesn’t need any. I.e. running btrfs scrub is important to keep performance up. Monthly scrubs are good because they don’t take as long if done regularly.
Btrfs balance can free up some space, but otherwise isn’t important on SSDs.
I think BTRFS is especially problematic on Fedora Atomic desktops.
Afaik the OSTree snapshots use BTRFS deduplication, also the zstd compression helps reduce storage usage and increase SSD use.
But as the entire system partitions are read only, you cant balance, scrub etc them.
This is a big issue I think, I will open a Fedora Discussion post about this.
Afaik the OSTree snapshots use BTRFS deduplication […]
Note: OSTree will transparently take advantage of some BTRFS features if deployed on it. [1]
Interesting, I didn’t know OSTree takes advantage of BTRFS features.
On my current system I use ext4 instead of btrfs which I regret specifically because of the missing transparent compression and reflink copy.
Timeshift uses BTRFS snapshots (CoW subvolumes). It also does some hardlinking stuff for other filesystems, but on BTRFS the entire thing just works a bit better.
More tools I forgot to mention: duperemove to deduplicate extents, and compsize to show how effectively filesystem compression is working.
-
SUSE & openSUSE also have a great documentation about the snapper snapshot tool which is also available in many distributions:
Snapper Documentation
Arch wiki already in there XD
True :D but my link goes directly to the snapper section of the wiki^^.
Okay, you wonwe have the same link, stop confusing me XD
There is R-Linux for recovering deleted files, altough it doesn’t support btrfs it can recover data from btrfs drives(if anyone knows something better please let me know as I have a drive that completely wiped itself).
Is that R-Linux and R-Studio something different from R the language and RStudio the GUI for it? Damn this is confusing.
I have no idea. R-Linux is what the package on the AUR is called and it doesn’t require a license unlike R-Studio from the site.
I like btdu which is essentially ncdu, but works in a way that is useful even if advanced btrfs features (CoW, compression etc.) are used.
Added it
Okay I will add a “btrfs bindings” section 🫠
I’m not saying this to start a fight, but as a person who used btrfs for a situation it was not suited for: there need to be some tools for migrating off btrfs here.
Ok you know one?
Not that I was aware of a couple of years ago. I ended up copying to a different media, reformatting and copying back and accepting the loss of the snapshots.
I would like to recommend Yabsnap as an alternative to Snapper. It’s made for Arch, tested on Fedora and might work on other distros. But it needs more eyes and testers!
Edit: thank you for the list! It’s very nice to see what is available for btrfs
Added it
I’ve used btrfs-autosnap for a while on Arch and it’s brilliant. Whenever you install or remove something with pacman it creates a btrfs snapshot of your subvolumes and if you have grub-btrfs install too they get added to Grub menu. Very handy.
You can define which subvolumes you want snapshotted and how many snapshots of each you want to keep. Which means it also removes the oldest snapshot when a new is created if it gets over the keep amount.
Added it