Hi, I discovered this program only recently, even though I have been
using btrfs on many volumes for about ten years, I find it a very simple
and quick way to identify the cause of possible space problems. Big
thanks to his developer.
Many complain about btrfs space problems, partly some things should be
improved in btrfs (and they are doing it, like recently with automatic
reclaim) but mostly it's due to user choices/usage and poor or bad
maintenance.
From what I've seen the problems you can have with space issues are
caused by snapshots (underestimating the space), increase space used
(underestimated) given by defragmentation with snapshots, free but
allocated space (you can easily see it with btrfs fi usage and solve it
with balance) and finally an excess of what in btdu is defined as
"unreachable" for which I have not found a good enough method outside of
btdu.
As I have recently noticed the enormous fragmentation of some files in
some cases can lead the files to occupy much more than the actual space,
not freeable even with balance if not after a defragmentation, I have
seen cases in which they have come to occupy even double or triple the
space.
So I think btdu would be a must have for an optimal btrfs support.
I took a very quick look, even though I wouldn't have enough time to
maintain this package too and I have zero knowledge of Dlang.
About dipendencies of btdu seems are showed here (or I'm wrong?):
https://github.com/CyberShadow/btdu/blob/master/dub.sdl
I don't understand if are missed in Debian, emsi_containers seems
present (https://tracker.debian.org/pkg/dcontainers), about ae, btrfs
and ncurses (for dlang) seems missed but I'm not sure.
dh-dlang, dub and various essential Dlang packages was removed from
testing (caused by ldc, another dlang package).
What is the level of support for dlang build packages in Debian?
Probably this information would be useful to someone who wants to see
ifpackage btdu.