19 In addition a recent Rust toolchain is required (rustc, cargo), either by using
20 [rustup](https://rustup.rs/) or make sure to use a distribution where rustc (>=1.65)
23 Debian (Bullseye or later) and Ubuntu (20.04 or later): you can install these with
26 apt install -y pkg-config libaio-dev libblkid-dev libkeyutils-dev \
27 liblz4-dev libsodium-dev liburcu-dev libzstd-dev \
28 uuid-dev zlib1g-dev valgrind libudev-dev git build-essential \
29 python3 python3-docutils libclang-dev
32 Fedora: install the "Development tools" group along with:
34 dnf install -y libaio-devel libsodium-devel \
35 libblkid-devel libzstd-devel zlib-devel userspace-rcu-devel \
36 lz4-devel libuuid-devel valgrind-devel keyutils-libs-devel \
40 Arch: install bcachefs-tools-git from the AUR.
41 Or to build from source, install build dependencies with
43 pacman -S base-devel libaio keyutils libsodium liburcu zstd valgrind
46 Then, just `make && make install`
52 Experimental fuse support is currently disabled by default. Fuse support is at
53 an early stage and may corrupt your filesystem, so it should only be used for
54 testing. To enable, you'll also need to add:
58 On Debian/Ubuntu (Bullseye/20.04 or later needed for libfuse >= 3.7):
60 apt install -y libfuse3-dev
63 On Fedora (32 or later needed for lbifuse >= 3.7):
65 dnf install -y fuse3-devel
73 Then, make using the `BCACHEFS_FUSE` environment variable (make clean first if
74 previously built without fuse support):
77 BCACHEFS_FUSE=1 make && make install