SpliceFS GitHub

Install SpliceFS

Set up the package repository with one command, then install with your package manager.

Every command is safe to run again. A second run repairs what is broken and changes nothing that works.

Packages are built for x86-64 and arm64.

Step 1: Set up the repository

curl
curl --proto '=https' --tlsv1.2 -fsSL https://packages.splicefs.org/setup.sh -o ~/splicefs-setup.sh &&
  sudo sh ~/splicefs-setup.sh
wget
wget -qO ~/splicefs-setup.sh https://packages.splicefs.org/setup.sh &&
  sudo sh ~/splicefs-setup.sh

Already root? Leave out sudo.

The script registers the SpliceFS package repository and its signing key on your system. It installs no package and takes no arguments. It is safe to run again.

It is downloaded completely before it runs. To check it first, compare its SHA-256 with the one in the packages repository on GitHub:

Shell
sha256sum ~/splicefs-setup.sh

Works on Debian, Ubuntu, RHEL, Rocky Linux, AlmaLinux, Amazon Linux, openSUSE and Alpine, on x86-64 and arm64.

Step 2: Install

When the script is done, it prints the commands for your system. They refresh the package index, then install the server and the client, one line each. Run the line you need, or both.

The commands are the last three lines of your system's block under Manual setup below.

On Alpine, run them as root.

Manual setup

Instead of step 1, add the repository yourself. Each block sets it up and ends with the commands of step 2.

Debian and Ubuntu

Shell
# Add the SpliceFS signing key:
sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl --proto '=https' --tlsv1.2 -fsSL https://packages.splicefs.org/keys/splicefs.asc -o /etc/apt/keyrings/splicefs.asc
sudo chmod a+r /etc/apt/keyrings/splicefs.asc

# Add the repository to apt sources:
sudo tee /etc/apt/sources.list.d/splicefs.sources >/dev/null <<'EOF'
Types: deb
URIs: https://packages.splicefs.org/server/apt https://packages.splicefs.org/client/apt
Suites: stable
Components: main
Signed-By: /etc/apt/keyrings/splicefs.asc
EOF

# Update the package index, then install the server, the client, or both:
sudo apt-get update
sudo apt-get install splicefs-server    # the server
sudo apt-get install splicefs-client    # the client

RHEL, Rocky Linux, AlmaLinux and Amazon Linux

Shell
# Add the SpliceFS signing key:
sudo install -m 0755 -d /etc/pki/rpm-gpg
sudo curl --proto '=https' --tlsv1.2 -fsSL https://packages.splicefs.org/keys/splicefs.asc -o /etc/pki/rpm-gpg/RPM-GPG-KEY-splicefs
sudo chmod a+r /etc/pki/rpm-gpg/RPM-GPG-KEY-splicefs
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-splicefs

# Add the repository:
sudo tee /etc/yum.repos.d/splicefs.repo >/dev/null <<'EOF'
[splicefs-server]
name=SpliceFS server
baseurl=https://packages.splicefs.org/server/rpm/$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-splicefs

[splicefs-client]
name=SpliceFS client
baseurl=https://packages.splicefs.org/client/rpm/$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-splicefs
EOF

# Update the package index, then install the server, the client, or both:
sudo dnf makecache
sudo dnf install splicefs-server    # the server
sudo dnf install splicefs-client    # the client

openSUSE Leap

Shell
# Add the SpliceFS signing key:
sudo install -m 0755 -d /etc/pki/rpm-gpg
sudo curl --proto '=https' --tlsv1.2 -fsSL https://packages.splicefs.org/keys/splicefs.asc -o /etc/pki/rpm-gpg/RPM-GPG-KEY-splicefs
sudo chmod a+r /etc/pki/rpm-gpg/RPM-GPG-KEY-splicefs
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-splicefs

# Add the repository:
sudo tee /etc/zypp/repos.d/splicefs.repo >/dev/null <<'EOF'
[splicefs-server]
name=SpliceFS server
baseurl=https://packages.splicefs.org/server/rpm/$basearch
enabled=1
autorefresh=1
gpgcheck=1
repo_gpgcheck=1
pkg_gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-splicefs

[splicefs-client]
name=SpliceFS client
baseurl=https://packages.splicefs.org/client/rpm/$basearch
enabled=1
autorefresh=1
gpgcheck=1
repo_gpgcheck=1
pkg_gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-splicefs
EOF

# Update the package index, then install the server, the client, or both:
sudo zypper refresh
sudo zypper install splicefs-server    # the server
sudo zypper install splicefs-client    # the client

Alpine

Run these as root.

Shell
# Add the SpliceFS signing key:
apk add curl
curl --proto '=https' --tlsv1.2 -fsSL https://packages.splicefs.org/keys/splicefs.rsa.pub \
  -o /etc/apk/keys/splicefs.rsa.pub

# Add the repositories:
mkdir -p /etc/apk/repositories.d
printf '%s\n' https://packages.splicefs.org/server/alpine https://packages.splicefs.org/client/alpine \
  > /etc/apk/repositories.d/splicefs.list

# Update the package index, then install the server, the client, or both:
apk update
apk add splicefs-server    # the server
apk add splicefs-client    # the client

After the install

The service starts when the package is installed. Nothing has to be configured first: a server runs with no shares and a client with no mounts. Add yours as files, then reload the service: