Install guides

We’re going to use dnf for RHEL-like Linux. However, you may use yum instead.
We’re going to use apt for RHEL-like Linux. However, you may use apt-get instead.
Remember to run apt update before installing any packages with apt.

Bash & sed (Mac OS)

$ brew install gnu-sed

Verify the installation:

$ gsed --version
Make sure you have bash version 5.0.0+ installed. Otherwise, follow the steps below.
$ brew install bash
$ sudo ln -s /opt/homebrew/bin/bash /usr/local/bin/bash

Verify the installation:

$ bash --version
GNU bash, version 5.3.0(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2025 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

C/C++ Compilers & Make, CMake

Mac OS
$ brew install gcc make cmake
Debian-like Linux
$ apt install build-essential cmake
RHEL-like Linux
$ dnf install make gcc gcc-c++ cmake

To verify the installation run these commands:

$ gcc --version
gcc (GCC) 14.3.1 20250808 (Red Hat 14.3.1-1)
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ g++ --version
g++ (GCC) 14.3.1 20250808 (Red Hat 14.3.1-1)
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ make --version
GNU Make 4.4.1
Built for x86_64-redhat-linux-gnu
Copyright (C) 1988-2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$ cmake --version
cmake version 3.31.11

CMake suite maintained and supported by Kitware (kitware.com/cmake).

JDK

Get hardware architecture

Run uname -m:

  • x86_64 is x64

  • aarch64 and arm64 is Arm 64

Go to the Oracle website and download a Compressed Archive (.tar.gz) file (Find the one built for your platform).

$ sudo tar xvf jdk-<DESCRIPTION>_bin.tar.gz -C /opt
jdk-25.0.3/LICENSE
jdk-25.0.3/README
jdk-25.0.3/bin/jar
jdk-25.0.3/bin/jarsigner
jdk-25.0.3/bin/java
jdk-25.0.3/bin/javac
jdk-25.0.3/bin/javadoc
jdk-25.0.3/bin/javap
jdk-25.0.3/bin/jcmd
jdk-25.0.3/bin/jconsole
jdk-25.0.3/bin/jdb
jdk-25.0.3/bin/jdeprscan
jdk-25.0.3/bin/jdeps
jdk-25.0.3/bin/jfr
jdk-25.0.3/bin/jhsdb
...

Add these lines to the end of ~/.zshrc or ~/.bashrc file:

JAVA_HOME=/opt/jdk-25.0.3 # Use your version!!!
PATH="$PATH:$JAVA_HOME/bin"

Verify the installation:

$ java -version
java version "25.0.3" 2026-04-21 LTS
Java(TM) SE Runtime Environment (build 25.0.3+9-LTS-195)
Java HotSpot(TM) 64-Bit Server VM (build 25.0.3+9-LTS-195, mixed mode, sharing)
$ javadoc --version
javadoc 25.0.3

Git

Mac OS
$ brew install git
Debian-like Linux
$ apt install git
RHEL-like Linux
$ dnf install git

Verify the installation:

$ git --version
git version 2.53.0

Docker

Install:

Linux
$ curl -sSL https://get.docker.com/ | sudo sh
$ sudo usermod -aG docker "$USER"
$ newgrp docker
$ sudo service docker restart
Mac OS

Verify the installation:

$ docker run --rm hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

To check that multiplatform build is supported, run this command:

$ docker buildx ls --no-trunc
NAME/NODE     DRIVER/ENDPOINT   STATUS    BUILDKIT   PLATFORMS
default*      docker
 \_ default    \_ default       running   v0.29.0    linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/arm64, linux/riscv64, linux/ppc64, linux/ppc64le, linux/s390x, linux/mips64le, linux/mips64, linux/loong64, linux/arm/v7, linux/arm/v6

Make sure linux/amd64 and linux/arm64 are present. Otherwise, install binfmt-support and run this command:

$ docker run --privileged --rm tonistiigi/binfmt --install all

Shellcheck

Get hardware architecture

Run uname -m:

  • x86_64 is x64

  • aarch64 and arm64 is Arm 64

Go to the latest project release and download a .tar.gz archive (Find the one built for your platform).

$ tar xvf shellcheck-<DESCRIPTION>.tar.gz -C /tmp
shellcheck-v0.11.0/LICENSE.txt
shellcheck-v0.11.0/README.txt
shellcheck-v0.11.0/shellcheck
$ sudo mv /tmp/shellcheck*/shellcheck /usr/local/bin/

Verify the installation:

$ shellcheck --version
ShellCheck - shell script analysis tool
version: 0.11.0
license: GNU General Public License, version 3
website: https://www.shellcheck.net

Node & Asciidoctor

Mac OS
$ brew install node asciidoctor
Debian-like Linux
$ apt install npm asciidoctor
RHEL-like Linux
$ dnf install nodejs asciidoctor

Verify the installation:

$ npm --version
10.9.4
$ asciidoctor --version
Asciidoctor 2.0.26 [https://asciidoctor.org]
Runtime Environment (ruby 3.4.8 (2025-12-17 revision 995b59f666) +PRISM [x86_64-linux]) (lc:UTF-8 fs:UTF-8 in:UTF-8 ex:UTF-8)

Fenrir

Debian-like Linux

Download fenrir-<VERSION>.noarch.deb from https://github.com/1BAH/fenrir/releases/latest. Then run apt install fenrir-<VERSION>.noarch.deb.

RHEL-like Linux

Download fenrir-<VERSION>.noarch.rpm from https://github.com/1BAH/fenrir/releases/latest. Then run dnf install fenrir-<VERSION>.noarch.deb (or yum).

Other
$ git clone https://github.com/1BAH/fenrir.git /tmp/frir
$ cd /tmp/frir/src/main/fenrir/cli
$ sudo ./install-fenrir

Verify the installation:

$ fenrir i
  _____               _
 |  ___|__ _ __  _ __(_)_ __
 | |_ / _ \ '_ \| '__| | '__|
 |  _|  __/ | | | |  | | |
 |_|  \___|_| |_|_|  |_|_|

------------------------------------------------------------------
Current settings:
    * Remote: https://github.com/1BAH/fenrir-tests
    * Current task: -
    * Blocking: 0
    * Execution mode: 111 (Inline-Host-Docker)
------------------------------------------------------------------
Run settings:

------------------------------------------------------------------
fenrir 2026.0+1, 2026
@1BAH