2. Installation¶
2.1. Hardware requirements¶
Loop is packaged for a set of supported operating system platforms (see Supported platforms). Any machine (real or virtual) with one of these platforms can be used to run Loop.
DNS hardware requirements have traditionally been quite modest. For many installations, servers that have been pensioned off from active duty can perform admirably as DNS servers. For serving a handful of static zones with low traffic, even low-performance machines may be sufficient. If the server's operational duties are larger, then a suitably performant machine can be selected.
Loop's nameserver is multi-threaded, allowing utilization of multiprocessor systems for installations that need it.
The memory of the server has to be large enough to fit the cache and zones loaded off disk. The max-cache-size option of named.conf(5) can be used to limit the amount of memory used by the cache, at the expense of reducing cache hit rates and causing more DNS traffic. It is still good practice to have enough memory to load all zone and cache data into memory --- the best way to determine this for a given installation is to watch the nameserver in operation. After a few weeks the nameserver process should reach a relatively stable size where entries are expiring from the cache as fast as they are being inserted.
We aren't able to recommend specifications in this document as it would be outdated quickly. It is best to profile the usage patterns and prepare a hardware configuration accordingly.
Error
TODO: Add a link to Loop support for help with hardware configuration.
Error
TODO: Add a link to a tuning section.
2.2. Supported platforms¶
Loop is written to run on POSIX operating systems. The following platforms are supported by Loop version 1.99.15.20260531075356.32922aefed:
Red Hat Enterprise Linux 10 (x86_64)
Red Hat Enterprise Linux 10 (aarch64)
Red Hat Enterprise Linux 9 (x86_64)
Red Hat Enterprise Linux 9 (aarch64)
Fedora Linux 44 (x86_64)
Fedora Linux 44 (aarch64)
Fedora Linux 43 (x86_64)
Fedora Linux 43 (aarch64)
Debian 13 "Trixie" (amd64)
Debian 13 "Trixie" (arm64)
Debian 13 "Trixie" (riscv64)
Debian 12 "Bookworm" (amd64)
Debian 12 "Bookworm" (arm64)
Ubuntu 26.04 LTS "Resolute Raccoon" (amd64)
Ubuntu 26.04 LTS "Resolute Raccoon" (arm64)
Ubuntu 26.04 LTS "Resolute Raccoon" (riscv64)
Ubuntu 24.04 LTS "Noble Numbat" (amd64)
Ubuntu 24.04 LTS "Noble Numbat" (arm64)
Ubuntu 24.04 LTS "Noble Numbat" (riscv64)
Ubuntu 22.04 LTS "Jammy Jellyfish" (amd64)
Ubuntu 22.04 LTS "Jammy Jellyfish" (arm64)
Packages for current versions of FreeBSD will be added in the future.
Note
For information about Loop's version numbering, see Version numbering scheme. For information about Loop's branches and EOL dates, see Version branches.
2.3. RPM platforms¶
Note
Users of Red Hat Enterprise Linux clones such as Rocky Linux and AlmaLinux can use the Red Hat Enterprise Linux packages of the corresponding version and follow the corresponding installation instructions.
2.3.1. Red Hat Enterprise Linux 10 (x86_64)¶
To install Loop version 1.99.15.20260531075356.32922aefed on Red Hat Enterprise Linux
10 (x86_64), follow these steps as the root user.
First, install the akira-release RPM package that will add the
akira-epel and akira-epel-testing DNF repositories to
your system, as well as associated GPG keys used to verify signed RPM
packages from these repositories:
# dnf install https://download.banu.com/packages/akira/1.99/epel/10/x86_64/akira-release-1.99.15.20260531075356.32922aefed-1.el10.noarch.rpm
Then, install the loop RPM package that will install the Loop
software and documentation:
# dnf install loop
Then, if you wish to run the nameserver, configure named
suitably by editing /etc/loop/named.conf, and then run
it:
# systemctl enable --now named
2.3.2. Red Hat Enterprise Linux 10 (aarch64)¶
To install Loop version 1.99.15.20260531075356.32922aefed on Red Hat Enterprise Linux
10 (aarch64), follow these steps as the root user.
First, install the akira-release RPM package that will add the
akira-epel and akira-epel-testing DNF repositories to
your system, as well as associated GPG keys used to verify signed RPM
packages from these repositories:
# dnf install https://download.banu.com/packages/akira/1.99/epel/10/aarch64/akira-release-1.99.15.20260531075356.32922aefed-1.el10.noarch.rpm
Then, install the loop RPM package that will install the Loop
software and documentation:
# dnf install loop
Then, if you wish to run the nameserver, configure named
suitably by editing /etc/loop/named.conf, and then run
it:
# systemctl enable --now named
2.3.3. Red Hat Enterprise Linux 9 (x86_64)¶
To install Loop version 1.99.15.20260531075356.32922aefed on Red Hat Enterprise Linux
9 (x86_64), follow these steps as the root user.
First, install the akira-release RPM package that will add the
akira-epel and akira-epel-testing DNF repositories to
your system, as well as associated GPG keys used to verify signed RPM
packages from these repositories:
# dnf install https://download.banu.com/packages/akira/1.99/epel/9/x86_64/akira-release-1.99.15.20260531075356.32922aefed-1.el9.noarch.rpm
Then, install the loop RPM package that will install the Loop
software and documentation:
# dnf install loop
Then, if you wish to run the nameserver, configure named
suitably by editing /etc/loop/named.conf, and then run
it:
# systemctl enable --now named
2.3.4. Red Hat Enterprise Linux 9 (aarch64)¶
To install Loop version 1.99.15.20260531075356.32922aefed on Red Hat Enterprise Linux
9 (aarch64), follow these steps as the root user.
First, install the akira-release RPM package that will add the
akira-epel and akira-epel-testing DNF repositories to
your system, as well as associated GPG keys used to verify signed RPM
packages from these repositories:
# dnf install https://download.banu.com/packages/akira/1.99/epel/9/aarch64/akira-release-1.99.15.20260531075356.32922aefed-1.el9.noarch.rpm
Then, install the loop RPM package that will install the Loop
software and documentation:
# dnf install loop
Then, if you wish to run the nameserver, configure named
suitably by editing /etc/loop/named.conf, and then run
it:
# systemctl enable --now named
2.3.5. Fedora Linux 44 (x86_64)¶
To install Loop version 1.99.15.20260531075356.32922aefed on Fedora Linux
44 (x86_64), follow these steps as the root user.
First, install the akira-release RPM package that will add the
akira-fedora and akira-fedora-testing DNF repositories to
your system, as well as associated GPG keys used to verify signed RPM
packages from these repositories:
# dnf install https://download.banu.com/packages/akira/1.99/fedora/44/x86_64/akira-release-1.99.15.20260531075356.32922aefed-1.fc44.noarch.rpm
Then, install the loop RPM package that will install the Loop
software and documentation:
# dnf install loop
Then, if you wish to run the nameserver, configure named
suitably by editing /etc/loop/named.conf, and then run
it:
# systemctl enable --now named
2.3.6. Fedora Linux 44 (aarch64)¶
To install Loop version 1.99.15.20260531075356.32922aefed on Fedora Linux
44 (aarch64), follow these steps as the root user.
First, install the akira-release RPM package that will add the
akira-fedora and akira-fedora-testing DNF repositories to
your system, as well as associated GPG keys used to verify signed RPM
packages from these repositories:
# dnf install https://download.banu.com/packages/akira/1.99/fedora/44/aarch64/akira-release-1.99.15.20260531075356.32922aefed-1.fc44.noarch.rpm
Then, install the loop RPM package that will install the Loop
software and documentation:
# dnf install loop
Then, if you wish to run the nameserver, configure named
suitably by editing /etc/loop/named.conf, and then run
it:
# systemctl enable --now named
2.3.7. Fedora Linux 43 (x86_64)¶
To install Loop version 1.99.15.20260531075356.32922aefed on Fedora Linux
43 (x86_64), follow these steps as the root user.
First, install the akira-release RPM package that will add the
akira-fedora and akira-fedora-testing DNF repositories to
your system, as well as associated GPG keys used to verify signed RPM
packages from these repositories:
# dnf install https://download.banu.com/packages/akira/1.99/fedora/43/x86_64/akira-release-1.99.15.20260531075356.32922aefed-1.fc43.noarch.rpm
Then, install the loop RPM package that will install the Loop
software and documentation:
# dnf install loop
Then, if you wish to run the nameserver, configure named
suitably by editing /etc/loop/named.conf, and then run
it:
# systemctl enable --now named
2.3.8. Fedora Linux 43 (aarch64)¶
To install Loop version 1.99.15.20260531075356.32922aefed on Fedora Linux
43 (aarch64), follow these steps as the root user.
First, install the akira-release RPM package that will add the
akira-fedora and akira-fedora-testing DNF repositories to
your system, as well as associated GPG keys used to verify signed RPM
packages from these repositories:
# dnf install https://download.banu.com/packages/akira/1.99/fedora/43/aarch64/akira-release-1.99.15.20260531075356.32922aefed-1.fc43.noarch.rpm
Then, install the loop RPM package that will install the Loop
software and documentation:
# dnf install loop
Then, if you wish to run the nameserver, configure named
suitably by editing /etc/loop/named.conf, and then run
it:
# systemctl enable --now named
2.4. Debian and Ubuntu platforms¶
2.4.1. Debian 13 "Trixie" (amd64)¶
To install Loop version 1.99 on Debian
13 "Trixie" (amd64), follow these steps as
the root user.
First, copy the OpenPGP key that apt uses to verify the
release's deb package checksums into /usr/share/keyrings/:
# curl -o /usr/share/keyrings/akira-archive-keyring.gpg https://download.banu.com/packages/akira/1.99/trixie/13/amd64/akira-archive-keyring-2024-12-10.gpg
Then, add the Akira apt network package repository for your platform:
# echo "deb [signed-by=/usr/share/keyrings/akira-archive-keyring.gpg] https://download.banu.com/packages/akira/1.99/debian/trixie/amd64/ /" > /etc/apt/sources.list.d/akira-trixie-amd64.list
Then, install the loop deb package that will install the Loop
software and documentation:
# apt install loop
Then, if you wish to run the nameserver, configure named
suitably by editing /etc/loop/named.conf, and then run
it:
# systemctl enable --now named
2.4.2. Debian 13 "Trixie" (arm64)¶
To install Loop version 1.99 on Debian
13 "Trixie" (arm64), follow these steps as
the root user.
First, copy the OpenPGP key that apt uses to verify the
release's deb package checksums into /usr/share/keyrings/:
# curl -o /usr/share/keyrings/akira-archive-keyring.gpg https://download.banu.com/packages/akira/1.99/trixie/13/arm64/akira-archive-keyring-2024-12-10.gpg
Then, add the Akira apt network package repository for your platform:
# echo "deb [signed-by=/usr/share/keyrings/akira-archive-keyring.gpg] https://download.banu.com/packages/akira/1.99/debian/trixie/arm64/ /" > /etc/apt/sources.list.d/akira-trixie-arm64.list
Then, install the loop deb package that will install the Loop
software and documentation:
# apt install loop
Then, if you wish to run the nameserver, configure named
suitably by editing /etc/loop/named.conf, and then run
it:
# systemctl enable --now named
2.4.3. Debian 13 "Trixie" (riscv64)¶
To install Loop version 1.99 on Debian
13 "Trixie" (riscv64), follow these steps as
the root user.
First, copy the OpenPGP key that apt uses to verify the
release's deb package checksums into /usr/share/keyrings/:
# curl -o /usr/share/keyrings/akira-archive-keyring.gpg https://download.banu.com/packages/akira/1.99/trixie/13/riscv64/akira-archive-keyring-2024-12-10.gpg
Then, add the Akira apt network package repository for your platform:
# echo "deb [signed-by=/usr/share/keyrings/akira-archive-keyring.gpg] https://download.banu.com/packages/akira/1.99/debian/trixie/riscv64/ /" > /etc/apt/sources.list.d/akira-trixie-riscv64.list
Then, install the loop deb package that will install the Loop
software and documentation:
# apt install loop
Then, if you wish to run the nameserver, configure named
suitably by editing /etc/loop/named.conf, and then run
it:
# systemctl enable --now named
2.4.4. Debian 12 "Bookworm" (amd64)¶
To install Loop version 1.99 on Debian
12 "Bookworm" (amd64), follow these steps as
the root user.
First, copy the OpenPGP key that apt uses to verify the
release's deb package checksums into /usr/share/keyrings/:
# curl -o /usr/share/keyrings/akira-archive-keyring.gpg https://download.banu.com/packages/akira/1.99/bookworm/12/amd64/akira-archive-keyring-2024-12-10.gpg
Then, add the Akira apt network package repository for your platform:
# echo "deb [signed-by=/usr/share/keyrings/akira-archive-keyring.gpg] https://download.banu.com/packages/akira/1.99/debian/bookworm/amd64/ /" > /etc/apt/sources.list.d/akira-bookworm-amd64.list
Then, install the loop deb package that will install the Loop
software and documentation:
# apt install loop
Then, if you wish to run the nameserver, configure named
suitably by editing /etc/loop/named.conf, and then run
it:
# systemctl enable --now named
2.4.5. Debian 12 "Bookworm" (arm64)¶
To install Loop version 1.99 on Debian
12 "Bookworm" (arm64), follow these steps as
the root user.
First, copy the OpenPGP key that apt uses to verify the
release's deb package checksums into /usr/share/keyrings/:
# curl -o /usr/share/keyrings/akira-archive-keyring.gpg https://download.banu.com/packages/akira/1.99/bookworm/12/arm64/akira-archive-keyring-2024-12-10.gpg
Then, add the Akira apt network package repository for your platform:
# echo "deb [signed-by=/usr/share/keyrings/akira-archive-keyring.gpg] https://download.banu.com/packages/akira/1.99/debian/bookworm/arm64/ /" > /etc/apt/sources.list.d/akira-bookworm-arm64.list
Then, install the loop deb package that will install the Loop
software and documentation:
# apt install loop
Then, if you wish to run the nameserver, configure named
suitably by editing /etc/loop/named.conf, and then run
it:
# systemctl enable --now named
2.4.6. Ubuntu 26.04 LTS "Resolute Raccoon" (amd64)¶
To install Loop version 1.99 on Ubuntu
26.04 LTS "Resolute Raccoon" (amd64), follow these steps as
the root user.
First, copy the OpenPGP key that apt uses to verify the
release's deb package checksums into /usr/share/keyrings/:
# curl -o /usr/share/keyrings/akira-archive-keyring.gpg https://download.banu.com/packages/akira/1.99/resolute/26.04 LTS/amd64/akira-archive-keyring-2024-12-10.gpg
Then, add the Akira apt network package repository for your platform:
# echo "deb [signed-by=/usr/share/keyrings/akira-archive-keyring.gpg] https://download.banu.com/packages/akira/1.99/ubuntu/resolute/amd64/ /" > /etc/apt/sources.list.d/akira-resolute-amd64.list
Then, install the loop deb package that will install the Loop
software and documentation:
# apt install loop
Then, if you wish to run the nameserver, configure named
suitably by editing /etc/loop/named.conf, and then run
it:
# systemctl enable --now named
2.4.7. Ubuntu 26.04 LTS "Resolute Raccoon" (arm64)¶
To install Loop version 1.99 on Ubuntu
26.04 LTS "Resolute Raccoon" (arm64), follow these steps as
the root user.
First, copy the OpenPGP key that apt uses to verify the
release's deb package checksums into /usr/share/keyrings/:
# curl -o /usr/share/keyrings/akira-archive-keyring.gpg https://download.banu.com/packages/akira/1.99/resolute/26.04 LTS/arm64/akira-archive-keyring-2024-12-10.gpg
Then, add the Akira apt network package repository for your platform:
# echo "deb [signed-by=/usr/share/keyrings/akira-archive-keyring.gpg] https://download.banu.com/packages/akira/1.99/ubuntu/resolute/arm64/ /" > /etc/apt/sources.list.d/akira-resolute-arm64.list
Then, install the loop deb package that will install the Loop
software and documentation:
# apt install loop
Then, if you wish to run the nameserver, configure named
suitably by editing /etc/loop/named.conf, and then run
it:
# systemctl enable --now named
2.4.8. Ubuntu 26.04 LTS "Resolute Raccoon" (riscv64)¶
To install Loop version 1.99 on Ubuntu
26.04 LTS "Resolute Raccoon" (riscv64), follow these steps as
the root user.
First, copy the OpenPGP key that apt uses to verify the
release's deb package checksums into /usr/share/keyrings/:
# curl -o /usr/share/keyrings/akira-archive-keyring.gpg https://download.banu.com/packages/akira/1.99/resolute/26.04 LTS/riscv64/akira-archive-keyring-2024-12-10.gpg
Then, add the Akira apt network package repository for your platform:
# echo "deb [signed-by=/usr/share/keyrings/akira-archive-keyring.gpg] https://download.banu.com/packages/akira/1.99/ubuntu/resolute/riscv64/ /" > /etc/apt/sources.list.d/akira-resolute-riscv64.list
Then, install the loop deb package that will install the Loop
software and documentation:
# apt install loop
Then, if you wish to run the nameserver, configure named
suitably by editing /etc/loop/named.conf, and then run
it:
# systemctl enable --now named
2.4.9. Ubuntu 24.04 LTS "Noble Numbat" (amd64)¶
To install Loop version 1.99 on Ubuntu
24.04 LTS "Noble Numbat" (amd64), follow these steps as
the root user.
First, copy the OpenPGP key that apt uses to verify the
release's deb package checksums into /usr/share/keyrings/:
# curl -o /usr/share/keyrings/akira-archive-keyring.gpg https://download.banu.com/packages/akira/1.99/noble/24.04 LTS/amd64/akira-archive-keyring-2024-12-10.gpg
Then, add the Akira apt network package repository for your platform:
# echo "deb [signed-by=/usr/share/keyrings/akira-archive-keyring.gpg] https://download.banu.com/packages/akira/1.99/ubuntu/noble/amd64/ /" > /etc/apt/sources.list.d/akira-noble-amd64.list
Then, install the loop deb package that will install the Loop
software and documentation:
# apt install loop
Then, if you wish to run the nameserver, configure named
suitably by editing /etc/loop/named.conf, and then run
it:
# systemctl enable --now named
2.4.10. Ubuntu 24.04 LTS "Noble Numbat" (arm64)¶
To install Loop version 1.99 on Ubuntu
24.04 LTS "Noble Numbat" (arm64), follow these steps as
the root user.
First, copy the OpenPGP key that apt uses to verify the
release's deb package checksums into /usr/share/keyrings/:
# curl -o /usr/share/keyrings/akira-archive-keyring.gpg https://download.banu.com/packages/akira/1.99/noble/24.04 LTS/arm64/akira-archive-keyring-2024-12-10.gpg
Then, add the Akira apt network package repository for your platform:
# echo "deb [signed-by=/usr/share/keyrings/akira-archive-keyring.gpg] https://download.banu.com/packages/akira/1.99/ubuntu/noble/arm64/ /" > /etc/apt/sources.list.d/akira-noble-arm64.list
Then, install the loop deb package that will install the Loop
software and documentation:
# apt install loop
Then, if you wish to run the nameserver, configure named
suitably by editing /etc/loop/named.conf, and then run
it:
# systemctl enable --now named
2.4.11. Ubuntu 24.04 LTS "Noble Numbat" (riscv64)¶
To install Loop version 1.99 on Ubuntu
24.04 LTS "Noble Numbat" (riscv64), follow these steps as
the root user.
First, copy the OpenPGP key that apt uses to verify the
release's deb package checksums into /usr/share/keyrings/:
# curl -o /usr/share/keyrings/akira-archive-keyring.gpg https://download.banu.com/packages/akira/1.99/noble/24.04 LTS/riscv64/akira-archive-keyring-2024-12-10.gpg
Then, add the Akira apt network package repository for your platform:
# echo "deb [signed-by=/usr/share/keyrings/akira-archive-keyring.gpg] https://download.banu.com/packages/akira/1.99/ubuntu/noble/riscv64/ /" > /etc/apt/sources.list.d/akira-noble-riscv64.list
Then, install the loop deb package that will install the Loop
software and documentation:
# apt install loop
Then, if you wish to run the nameserver, configure named
suitably by editing /etc/loop/named.conf, and then run
it:
# systemctl enable --now named
2.4.12. Ubuntu 22.04 LTS "Jammy Jellyfish" (amd64)¶
To install Loop version 1.99 on Ubuntu
22.04 LTS "Jammy Jellyfish" (amd64), follow these steps as
the root user.
First, copy the OpenPGP key that apt uses to verify the
release's deb package checksums into /usr/share/keyrings/:
# curl -o /usr/share/keyrings/akira-archive-keyring.gpg https://download.banu.com/packages/akira/1.99/jammy/22.04 LTS/amd64/akira-archive-keyring-2024-12-10.gpg
Then, add the Akira apt network package repository for your platform:
# echo "deb [signed-by=/usr/share/keyrings/akira-archive-keyring.gpg] https://download.banu.com/packages/akira/1.99/ubuntu/jammy/amd64/ /" > /etc/apt/sources.list.d/akira-jammy-amd64.list
Then, install the loop deb package that will install the Loop
software and documentation:
# apt install loop
Then, if you wish to run the nameserver, configure named
suitably by editing /etc/loop/named.conf, and then run
it:
# systemctl enable --now named
2.4.13. Ubuntu 22.04 LTS "Jammy Jellyfish" (arm64)¶
To install Loop version 1.99 on Ubuntu
22.04 LTS "Jammy Jellyfish" (arm64), follow these steps as
the root user.
First, copy the OpenPGP key that apt uses to verify the
release's deb package checksums into /usr/share/keyrings/:
# curl -o /usr/share/keyrings/akira-archive-keyring.gpg https://download.banu.com/packages/akira/1.99/jammy/22.04 LTS/arm64/akira-archive-keyring-2024-12-10.gpg
Then, add the Akira apt network package repository for your platform:
# echo "deb [signed-by=/usr/share/keyrings/akira-archive-keyring.gpg] https://download.banu.com/packages/akira/1.99/ubuntu/jammy/arm64/ /" > /etc/apt/sources.list.d/akira-jammy-arm64.list
Then, install the loop deb package that will install the Loop
software and documentation:
# apt install loop
Then, if you wish to run the nameserver, configure named
suitably by editing /etc/loop/named.conf, and then run
it:
# systemctl enable --now named
2.5. Problems with SELinux¶
On some Linux distributions that have SELinux enabled, you may notice errors when running the named service such as:
Aug 10 07:59:06 rpi3 audit[14591]: AVC avc: denied { create } for pid=14591 comm="loop-worker-0" name="tmp-dW3tOeMfdD" scontext=system_u:system_r:named_t:s0 tcontext=system_u:object_r:var_lib_t:s0 tclass=file permissive=0
Aug 10 07:59:06 rpi3 audit[14591]: AVC avc: denied { read write open } for pid=14591 comm="loop-worker-0" path="/var/lib/loop/tmp-dW3tOeMfdD" dev="mmcblk0p3" ino=258270 scontext=system_u:system_r:named_t:s0 tcontext=system_u:object_r:var_lib_t:s0 tclass=file permissive=0
Aug 10 07:59:07 rpi3 audit[14591]: AVC avc: denied { rename } for pid=14591 comm="loop-worker-0" name="tmp-dW3tOeMfdD" dev="mmcblk0p3" ino=258270 scontext=system_u:system_r:named_t:s0 tcontext=system_u:object_r:var_lib_t:s0 tclass=file permissive=0
Aug 10 07:59:07 rpi3 audit[14591]: AVC avc: denied { unlink } for pid=14591 comm="loop-worker-0" name="managed-keys.loop" dev="mmcblk0p3" ino=258227 scontext=system_u:system_r:named_t:s0 tcontext=system_u:object_r:var_lib_t:s0 tclass=file permissive=0
These errors occur because SELinux, when using the targeted policy,
runs the program with path /usr/sbin/named confined in the
named_t security context. It limits the directories where the
named process can write to. This can be verified by running
the command:
$ ps axZ | grep named
system_u:system_r:named_t:s0 14591 ? Ssl 0:01 /usr/sbin/named -u loop
The Loop package doesn't (and shouldn't) do anything to solve this issue
automatically as it would be a hack. The SELinux policies for programs
such as /usr/sbin/named are installed by a different package
called selinux-policy-targeted, and are not handled by the Loop
package.
You can workaround this issue by either configuring SELinux to run in permissive mode, or by editing the targeted policy to remove the Loop programs from it.
We will rename named in a future release, or have this issue resolved in the distro packages, upon which this issue should not occur anymore.
2.6. Upgrading¶
Please read the release notes before upgrading to a newer version of Loop --- see the chapter titled Release notes.