]> git.sesse.net Git - bcachefs-tools-debian/blob - INSTALL.md
Upload to unstable
[bcachefs-tools-debian] / INSTALL.md
1 Getting started
2 ---------------
3
4 Build dependencies:
5
6  * libaio
7  * libblkid
8  * libkeyutils
9  * liblz4
10  * libsodium
11  * liburcu
12  * libuuid
13  * libzstd
14  * pkg-config
15  * valgrind
16  * zlib1g
17
18 In addition a recent Rust toolchain is required (rustc, cargo), either by using
19 [rustup](https://rustup.rs/) or make sure to use a distribution where rustc (>=1.65)
20 is available.
21
22 Debian (Bullseye or later) and Ubuntu (20.04 or later): you can install these with
23
24 ``` shell
25 apt install -y pkg-config libaio-dev libblkid-dev libkeyutils-dev \
26     liblz4-dev libsodium-dev liburcu-dev libzstd-dev \
27     uuid-dev zlib1g-dev valgrind libudev-dev git build-essential \
28     python3 python3-docutils
29 ```
30
31 Fedora: install the "Development tools" group along with:
32 ```shell
33 dnf install -y libaio-devel libsodium-devel \
34     libblkid-devel libzstd-devel zlib-devel userspace-rcu-devel \
35     lz4-devel libuuid-devel valgrind-devel keyutils-libs-devel \
36     findutils
37 ```
38
39 Arch: install bcachefs-tools-git from the AUR.
40 Or to build from source, install build dependencies with
41 ```shell
42 pacman -S base-devel libaio keyutils libsodium liburcu zstd valgrind
43 ```
44
45 Then, just `make && make install`
46
47
48 Experimental features
49 ---------------------
50
51 Experimental fuse support is currently disabled by default. Fuse support is at
52 an early stage and may corrupt your filesystem, so it should only be used for
53 testing. To enable, you'll also need to add:
54
55 * libfuse3 >= 3.7
56
57 On Debian/Ubuntu (Bullseye/20.04 or later needed for libfuse >= 3.7):
58 ```shell
59 apt install -y libfuse3-dev
60 ```
61
62 On Fedora (32 or later needed for lbifuse >= 3.7):
63 ```shell
64 dnf install -y fuse3-devel
65 ```
66
67 Arch:
68 ```shell
69 pacman -S fuse3
70 ```
71
72 Then, make using the `BCACHEFS_FUSE` environment variable (make clean first if
73 previously built without fuse support):
74
75 ```shell
76 BCACHEFS_FUSE=1 make && make install
77 ```