Build dependencies:
- libaio
- libblkid
- libclang
- libkeyutils
- liblz4
- libsodium
- liburcu
- libuuid
- libzstd
- pkg-config
- valgrind
- zlib1g
Debian (Bullseye or later) and Ubuntu (20.04 or later): you can install these with
apt install -y pkg-config libaio-dev libblkid-dev libkeyutils-dev \
liblz4-dev libsodium-dev liburcu-dev libzstd-dev \
uuid-dev zlib1g-dev valgrind libudev-dev udev git build-essential \
python3 python3-docutils libclang-dev debhelper dh-pythonStarting from Debian Trixie and Ubuntu 23.10, you will additionally need:
apt install -y systemd-devFedora: install build dependencies either with dnf builddep bcachefs-tools or with:
dnf install -y @c-development libaio-devel libsodium-devel \
libblkid-devel libzstd-devel zlib-devel userspace-rcu-devel \
lz4-devel libuuid-devel valgrind-devel keyutils-libs-devel \
findutils udev systemd-devel llvm-developenSUSE: install build dependencies with:
zypper in -y libaio-devel libsodium-devel libblkid-devel liburcu-devel \
libzstd-devel zlib-devel liblz4-devel libuuid-devel valgrind-devel \
keyutils-devel findutils udev systemd-devel llvm-develArch: install bcachefs-tools-git from the AUR. Or to build from source, install build dependencies with
pacman -S base-devel libaio keyutils libsodium liburcu zstd valgrind llvmThen, just make && make install
Experimental fuse support is currently disabled by default. Fuse support is at an early stage and may corrupt your filesystem, so it should only be used for testing. To enable, you'll also need to add:
- libfuse3 >= 3.7
On Debian/Ubuntu (Bullseye/20.04 or later needed for libfuse >= 3.7):
apt install -y libfuse3-devOn Fedora (32 or later needed for libfuse >= 3.7):
dnf install -y fuse3-develArch:
pacman -S fuse3openSUSE:
zypper in -y fuse3-develThen, make using the BCACHEFS_FUSE environment variable (make clean first if
previously built without fuse support):
BCACHEFS_FUSE=1 make && make install