Installation

System Requirements

When choosing a system to run RTRTR on, make sure you have 1GB of available memory and 1GB of disk space.

Quick Start

Getting started with RTRTR is really easy by installing a binary package for either Debian and Ubuntu or for Red Hat Enterprise Linux (RHEL), CentOS and Rocky Linux. The NLnet Labs software package repository currently has packages available for the amd64/x86_64 architecture only. Alternatively, you can run with Docker or build from Cargo, Rust’s build system and package manager.

Our software package repository has binary packages available for Debian 9 (stretch), 10 (buster) and 11 (bullseye).

First update the apt package index:

sudo apt update

Then install packages to allow apt to use a repository over HTTPS:

sudo apt install \
  ca-certificates \
  curl \
  gnupg \
  lsb-release

Add the GPG key from NLnet Labs:

curl -fsSL https://packages.nlnetlabs.nl/aptkey.asc | sudo gpg --dearmor -o /usr/share/keyrings/nlnetlabs-archive-keyring.gpg

Now, use the following command to set up the main repository:

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/nlnetlabs-archive-keyring.gpg] https://packages.nlnetlabs.nl/linux/debian \
$(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/nlnetlabs.list > /dev/null

Update the apt package index once more:

sudo apt update

You can now install RTRTR with:

sudo apt install rtrtr

Configure RTRTR by editing /etc/rtrtr.conf and start it with:

sudo systemctl enable --now rtrtr

You can check the status of RTRTR with:

sudo systemctl status rtrtr

You can view the logs with:

sudo journalctl --unit=rtrtr

Updating

To update an existing RTRTR installation, first update the repository using:

sudo apt update

You can use this command to get an overview of the available versions:

sudo apt policy rtrtr

You can upgrade an existing RTRTR installation to the latest version using:

sudo apt --only-upgrade install rtrtr

Installing Specific Versions

Before every new release of RTRTR, one or more release candidates are provided for testing through every installation method. You can also install a specific version, if needed.

If you would like to try out release candidates of RTRTR you can add the proposed repository to the existing main repository described earlier.

Assuming you already have followed the steps to install regular releases, run this command to add the additional repository:

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/nlnetlabs-archive-keyring.gpg] https://packages.nlnetlabs.nl/linux/debian \
$(lsb_release -cs)-proposed main" | sudo tee /etc/apt/sources.list.d/nlnetlabs-proposed.list > /dev/null

Make sure to update the apt package index:

sudo apt update

You can now use this command to get an overview of the available versions:

sudo apt policy rtrtr

You can install a specific version using <package name>=<version>, e.g.:

sudo apt install rtrtr=0.1.1~rc2-1buster

Installing From Source

You need a C toolchain and Rust to install and run RTRTR. You can install RTRTR on any system where you can fulfil these requirements.

C Toolchain

Some of the libraries RTRTR depends on require a C toolchain to be present. Your system probably has some easy way to install the minimum set of packages to build from C sources. For example, this command will install everything you need on Debian/Ubuntu:

apt install build-essential

If you are unsure, try to run cc on a command line. If there is a complaint about missing input files, you are probably good to go.

Rust

The Rust compiler runs on, and compiles to, a great number of platforms, though not all of them are equally supported. The official Rust Platform Support page provides an overview of the various support levels.

While some system distributions include Rust as system packages, RTRTR relies on a relatively new version of Rust, currently 1.54 or newer. We therefore suggest to use the canonical Rust installation via a tool called rustup.

To install rustup and Rust, simply do:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Alternatively, visit the official Rust website for other installation methods.

You can update your Rust installation later by running:

rustup update

Building

The easiest way to get RTRTR is to leave it to Cargo by saying:

cargo install --locked rtrtr

The command will build RTRTR and install it in the same directory that Cargo itself lives in, likely $HOME/.cargo/bin. This means RTRTR will be in your path, too.