]> git.sesse.net Git - bcachefs-tools-debian/blob - INSTALL.md
Disable pristine-tar option in gbp.conf, since there is no pristine-tar branch.
[bcachefs-tools-debian] / INSTALL.md
1 Getting started
2 ---------------
3
4 Build dependencies:
5
6  * libaio
7  * libblkid
8  * libclang
9  * libkeyutils
10  * liblz4
11  * libsodium
12  * liburcu
13  * libuuid
14  * libzstd
15  * pkg-config
16  * valgrind
17  * zlib1g
18
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)
21 is available.
22
23 Debian (Bullseye or later) and Ubuntu (20.04 or later): you can install these with
24
25 ``` shell
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 udev git build-essential \
29     python3 python3-docutils libclang-dev
30 ```
31
32 Fedora: install the "Development tools" group along with:
33 ```shell
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 \
37     findutils udev systemd-devel llvm-devel
38 ```
39
40 Arch: install bcachefs-tools-git from the AUR.
41 Or to build from source, install build dependencies with
42 ```shell
43 pacman -S base-devel libaio keyutils libsodium liburcu zstd valgrind llvm
44 ```
45
46 Then, just `make && make install`
47
48
49 Experimental features
50 ---------------------
51
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:
55
56 * libfuse3 >= 3.7
57
58 On Debian/Ubuntu (Bullseye/20.04 or later needed for libfuse >= 3.7):
59 ```shell
60 apt install -y libfuse3-dev
61 ```
62
63 On Fedora (32 or later needed for libfuse >= 3.7):
64 ```shell
65 dnf install -y fuse3-devel
66 ```
67
68 Arch:
69 ```shell
70 pacman -S fuse3
71 ```
72
73 Then, make using the `BCACHEFS_FUSE` environment variable (make clean first if
74 previously built without fuse support):
75
76 ```shell
77 BCACHEFS_FUSE=1 make && make install
78 ```