The entire system for starting up MaraDNS daemons was set up back in the days when System V Init was the standard way to starting up services, long before
systemd was even a glint in Lennart Poettering and Kay Sievers’s eyes.
That in mind, I’m not surprised that some of MaraDNS has a hard time starting up with systemd.
The standard way to start up all MaraDNS services is to use the
Duende daemonizer to make the service in question a daemon. For example, from a fresh compile of MaraDNS, in the
tcp directory where zoneserver is compiled:
duende zoneserver -f ../doc/en/examples/example_mararc
So, I think the issue is that, here in 2020, we need to look in to getting things to work with systemd. At which point I am going to give you a rant:
There are a number of different distributions of Linux out there, and they each have their own way of starting up and managing processes. Things got so messy, DJB gave up and created his own daemonizer and setup for starting and starting Qmail and DJBdns so that things would be consistent distribution to distribution.
I won’t go that far, but I’m using CentOS 8 across the board here so if I go the route of getting everything to work with systemd, everything will work with CentOS 8’s version of systemd. Things may or may not work with Ubuntu or Debian.
In the meantime, just add
duende to the command line given to systemd so that Zoneserver is a sub-process of
duende was not there at first and there was a time Zoneserver was just a background job in Bash).