Skip to main content
Version: 4.0.8

Installation

Debian based distributions

Import the public key used to sign the packages

#optionally install dirmngr
#apt install dirmngr
#mkdir $HOME/.gnupg
#or sudo mkdir /root/.gnupg

gpg --no-default-keyring \
--keyring /usr/share/keyrings/saunafs-archive-keyring.gpg \
--keyserver hkps://keyserver.ubuntu.com \
--receive-keys 0xA80B96E2C79457D4

It will create a new keyring file /usr/share/keyrings/saunafs-archive-keyring.gpg and import the public key used to sign the packages.

note

At the time of writing, the use of apt-key is deprecated.

You can verify the keyring file by running the following command:

gpg --no-default-keyring \
--keyring /usr/share/keyrings/saunafs-archive-keyring.gpg \
--list-keys

Next, add our Debian/Ubuntu repository to the apt sources. Make sure that the command lsb_release is installed.

Ubuntu:

sudo tee /etc/apt/sources.list.d/saunafs.list <<EOF
deb [arch=amd64 signed-by=/usr/share/keyrings/saunafs-archive-keyring.gpg] https://repo.saunafs.com/repository/saunafs-ubuntu-22.04/ jammy main
EOF

Update the package list

sudo apt update

These packages are available on the Debian/Ubuntu repository:

  • saunafs-master – Master server
  • saunafs-chunkserver – Chunkserver
  • saunafs-client – Client (sfsmount)
  • saunafs-adm – Administration tools saunafs-admin
  • saunafs-cgi – SaunaFS CGI Monitor (deprecated)
  • saunafs-cgiserv – Simple CGI-capable HTTP server to run SaunaFS CGI Monitor (deprecated)
  • saunafs-metalogger – Metalogger server
  • saunafs-common – SaunaFS shared library, required by saunafs-master, saunafs-chunkserver and saunafs-metalogger
  • saunafs-dbg – Debugging symbols for all the SaunaFS binaries
  • saunafs-uraft - High Availability solution based on RAFT algorithm (from version 3.13)

Source installation

Obtain the source

git clone https://github.com/leil-io/saunafs.git

Go into the saunafs directory and create a build directory

cd saunafs
mkdir build

SaunaFS uses CMake as its build system. For a complete list of options check the developer's guide for building, but these are the three most important options for installing:

  • DCMAKE_BUILD_TYPE=RelWithDebInfo - Build for release with debug symbols
  • DCMAKE_INSTALL_PREFIX=/usr/local - Where to install when make install is called (default is /usr/local)
  • DENABLE_DOCS=ON - Build man docs

You might use the below commands to build SaunaFS:

cmake -B ./build \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local
-G 'Unix Makefiles' \
-DENABLE_DOCS=ON \
-DENABLE_CLIENT_LIB=ON \
-DENABLE_TESTS=ON \
-DENABLE_WERROR=ON

nice make -C ./build -j$(nproc)

Finally call make install:

sudo make install
note

When building from source using this method, the version will default to 4.0.0-devel. This default value is intended to avoid backward compatibility issues and to easily tag artifacts that are not officially built by our CI.