Installation: Zonemaster-CLI
Table of contents
- Overview
- Prerequisites for CPAN installation
- Local installation
- Post-installation sanity check
- Using Zonemaster-CLI
- Global cache
- What to do next?
Overview
Zonemaster-CLI provides a CLI (command line interface) to Zonemaster. To install follow the instructions below. An alternative to installing Zonemaster-CLI is to run it under Docker. See Using the CLI for run it under Docker.
Prerequisites for CPAN installation
Before installing Zonemaster::CLI from CPAN, you should install Zonemaster::Engine, unless you are to install on Debian using pre-built packages (see below).
Note: Zonemaster::Engine and Zonemaster::LDNS are dependencies of Zonemaster::CLI. Zonemaster::LDNS has a special installation requirement, and Zonemaster::Engine has a list of dependencies that you may prefer to install from your operating system distribution (rather than CPAN). We recommend following the Zonemaster::Engine installation instruction.
Prerequisite for FreeBSD is that the package system is updated and activated (see the FreeBSD section of Zonemaster::Engine installation).
For details on supported versions of Perl and operating system for Zonemaster::CLI, see the declaration of prerequisites.
Local installation
Installation on Rocky Linux
-
Install dependencies:
sudo dnf install --assumeyes perl-JSON-XS perl-Try-Tiny perl-Test-Deep perl-Mojolicious
sudo cpanm --notest JSON::Validator
Note: Test::Deep and Mojolicious are indirect dependencies. They are dependencies of JSON::Validator.
-
Install Zonemaster::CLI
sudo cpanm --notest Zonemaster::CLI
Installation on Debian and Ubuntu
Using pre-built packages is the preferred method for Debian and Ubuntu.
Installation from pre-built packages
-
Add Zonemaster packages repository to repository list
curl -LOs https://package.zonemaster.net/setup.sh sudo sh setup.sh
-
Install Zonemaster CLI
sudo apt install zonemaster-cli
-
Update configuration of "locale"
sudo perl -pi -e 's/^# (da_DK\.UTF-8.*|en_US\.UTF-8.*|es_ES\.UTF-8.*|fi_FI\.UTF-8.*|fr_FR\.UTF-8.*|nb_NO\.UTF-8.*|sv_SE\.UTF-8.*)/$1/' /etc/locale.gen sudo locale-gen
After the update,
locale -a
should at least list the following locales:da_DK.utf8 en_US.utf8 es_ES.utf8 fi_FI.utf8 fr_FR.utf8 nb_NO.utf8 sv_SE.utf8
Installation from CPAN
-
Install dependencies:
sudo apt-get install locales libmodule-install-perl libtry-tiny-perl libjson-validator-perl
-
Install Zonemaster::CLI:
sudo cpanm --notest Zonemaster::CLI
-
Update configuration of "locale"
sudo perl -pi -e 's/^# (da_DK\.UTF-8.*|en_US\.UTF-8.*|es_ES\.UTF-8.*|fi_FI\.UTF-8.*|fr_FR\.UTF-8.*|nb_NO\.UTF-8.*|sv_SE\.UTF-8.*)/$1/' /etc/locale.gen sudo locale-gen
After the update,
locale -a
should at least list the following locales:da_DK.utf8 en_US.utf8 es_ES.utf8 fi_FI.utf8 fr_FR.utf8 nb_NO.utf8 sv_SE.utf8
Installation on FreeBSD
-
Become root:
su -l
-
Install dependencies available from binary packages:
pkg install gmake p5-JSON-XS p5-Locale-libintl p5-Try-Tiny p5-JSON-Validator
-
Install Zonemaster::CLI:
cpanm --notest Zonemaster::CLI
Post-installation sanity check
Run the zonemaster-cli command:
zonemaster-cli --test basic zonemaster.net
The command is expected to take a few seconds and print some results about the delegation of zonemaster.net.
Also, verify that the manual page is properly installed:
man zonemaster-cli
Using Zonemaster-CLI
See Using the CLI for an overview on how to use zonemaster-cli
after
installation.
Global cache
If Zonemaster-CLI is to be used for large batches, global cache can improve performance. See Global cache in Zonemaster-Engine.
What to do next?
- For a web GUI, follow the Zonemaster::Backend and Zonemaster::GUI installation instructions.
- For a JSON-RPC frontend, follow the Zonemaster::Backend installation instruction.