Bugzilla – Bug 1218586
ddclient service failing to start with default settings
Last modified: 2024-01-25 15:23:50 UTC
A fresh install of ddclient on my MicroOS system is failing to start the service with the following message: # systemctl status ddclient × ddclient.service - A Perl Client Used To Update Dynamic DNS Loaded: loaded (/usr/lib/systemd/system/ddclient.service; enabled; preset: disabled) Active: failed (Result: exit-code) since Sun 2024-01-07 20:49:14 CET; 23s ago Process: 11539 ExecStartPre=/bin/touch /var/cache/ddclient/ddclient.cache (code=exited, status=216/GROUP) CPU: 2ms Jan 07 20:49:14 magnet systemd[1]: Starting A Perl Client Used To Update Dynamic DNS... Jan 07 20:49:14 magnet (touch)[11539]: ddclient.service: Failed to determine supplementary groups: No such process Jan 07 20:49:14 magnet (touch)[11539]: ddclient.service: Failed at step GROUP spawning /bin/touch: No such process Jan 07 20:49:14 magnet systemd[1]: ddclient.service: Control process exited, code=exited, status=216/GROUP Jan 07 20:49:14 magnet systemd[1]: ddclient.service: Failed with result 'exit-code'. Jan 07 20:49:14 magnet systemd[1]: Failed to start A Perl Client Used To Update Dynamic DNS. # journalctl -xeu ddclient.service Jan 07 20:56:02 magnet systemd[1]: Starting A Perl Client Used To Update Dynamic DNS... ░░ Subject: A start job for unit ddclient.service has begun execution ░░ Defined-By: systemd ░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel ░░ ░░ A start job for unit ddclient.service has begun execution. ░░ ░░ The job identifier is 1643. Jan 07 20:56:02 magnet (touch)[13555]: ddclient.service: Failed to determine supplementary groups: No such process Jan 07 20:56:02 magnet (touch)[13555]: ddclient.service: Failed at step GROUP spawning /bin/touch: No such process ░░ Subject: Process /bin/touch could not be executed ░░ Defined-By: systemd ░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel ░░ ░░ The process /bin/touch could not be executed and failed. ░░ ░░ The error number returned by this process is ERRNO. Jan 07 20:56:02 magnet systemd[1]: ddclient.service: Control process exited, code=exited, status=216/GROUP ░░ Subject: Unit process exited ░░ Defined-By: systemd ░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel ░░ ░░ An ExecStartPre= process belonging to unit ddclient.service has exited. ░░ ░░ The process' exit code is 'exited' and its exit status is 216. Jan 07 20:56:02 magnet systemd[1]: ddclient.service: Failed with result 'exit-code'. ░░ Subject: Unit failed ░░ Defined-By: systemd ░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel ░░ ░░ The unit ddclient.service has entered the 'failed' state with result 'exit-code'. Jan 07 20:56:02 magnet systemd[1]: Failed to start A Perl Client Used To Update Dynamic DNS. ░░ Subject: A start job for unit ddclient.service has failed ░░ Defined-By: systemd ░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel ░░ ░░ A start job for unit ddclient.service has finished with a failure. ░░ ░░ The job identifier is 1643 and the job result is failed.
This doesn't sound like an Aeon bug at all, dynamic DNS is the sort of thing used by servers and routers sure..but a Desktop OS? Can you please explain how this is relevant to Aeon?
I am using the non-desktop MicroOS distribution, but I couldn't select this from the list of OS's when opening this bug. So I chose Aeon as the closest match.
Reassigning properly then
That's not a MicroOS specific problem, but either the ddclient service file has to restrict security settings, SELinux forbids the access or the system is broken and /bin/touch does really not exist.
/bin/touch does exist, so it must be one of the other reasons: # ll /bin/touch -rwxr-xr-x. 1 root root 92480 Oct 9 08:36 /bin/touch
I managed to fix the issue by removing the following line from the ddclient.service file: SupplementaryGroups=maildrop I do not have the maildrop group, nor do I need mail notification from ddclient. I also had to change the location of the ddlient.cache file from /var to /run with the following modifications in the service file because /var is read only: ExecStartPre=/bin/touch /run/ddclient/ddclient.cache ExecStart=/usr/sbin/ddclient -cache /run/ddclient/ddclient.cache $DDCLIENT_OPTIONS To me this seems like a packaging bug in MicroOS, but it might also be a bug in upstream ddclient. That's probably better for someone else to decide.