Skip to content

Installing Finch on Linux

Prerequisites

To get started with Finch on Linux, the development machine must meet the following prerequisites.

  • Linux Kernel v4.x+

To determine the kernel version of your Linux machine, you can run the following command:

uname -r

So long as the first number is greater than 4, Finch is supported. The next sections will cover how to install Finch based on which Linux distribution you are using, along with generic installation options.

Amazon Linux

Finch is packaged in the standard Amazon Linux repositories. That means, installing Finch is as easy as installing any other Amazon Linux package:

AL2023

$ sudo dnf install runfinch-finch
$ sudo amazon-linux-extras enable docker
$ sudo yum install runfinch-finch

After running this command, you will have a finch program in your PATH, and you can navigate to the Verifying Finch install page to proceed. Navigate to the Optional Components page to configure Finch optional components.

Generic

For distributions which do not have packages built for them, installing Finch requires downloading and installing dependencies, as well as creating filesystem paths needed by Finch.

Some distributions will distribute some of these packages themselves (for example, Fedora has a containerd package), but this guide assumes that none of Finch's dependencies are available via package managers. If the dependencies are available and installed via package managers, some of these steps may be skipped.

The goal of these steps is to setup your system to mimic the configuration found in the finch.spec file in the runfinch/finch repository.

  1. Download the Finch Linux binary archive corresponding to your system's architecture from the Releases tab, and extract it using a command like tar Cxzvvf /usr/local ./bin
  2. Download the Finch Daemon Linux binary archive corresponding to your system's architecture from their Releases tab, and extract it using a command like tar Cxzvvf /usr/local/bin <archive_name> ./finch-daemon
  3. Download the latest nerdctl-full archive release corresponding to your system's architecture from their Releases tab, and extract it using a command like tar Cxzvvf /usr/local <archive_name>
  4. Setup filesystem:
  5. Config:
    1. sudo mkdir -p /etc/finch/nerdctl
    2. sudo cp ./contrib/packaging/rpm/nerdctl.toml /etc/finch/nerdctl/
    3. sudo mkdir -p /etc/finch/buildkit
    4. sudo cp ./contrib/packaging/rpm/buildkitd.toml /etc/finch/buildkit/
  6. Runtime dependencies
    1. sudo mkdir -p /usr/libexec/finch
    2. sudo mkdir -p /var/lib/finch/buildkit
    3. sudo mkdir -p /var/lib/finch/nerdctl
    4. ln -sf /usr/local/bin/nerdctl /usr/libexec/finch/nerdctl
    5. ln -sf /usr/local/bin/buildctl /usr/libexec/finch/buildctl
    6. ln -sf /usr/local/bin/finch-daemon /usr/libexec/finch/finch-daemon
  7. Run system services using a service manager, like systemd, or directly. Example systemd service files can be found in the following locations:
  8. containerd
  9. buildkit
  10. finch-daemon

After completing this setup, you will have a finch program in your PATH, and you can navigate to the Verifying Finch install page to proceed. Navigate to the Optional Components page to configure Finch optional components.