Bug#1065567: timedatectl does not recognize ntpsec

Michael Biebl biebl at debian.org
Wed Mar 6 18:22:12 GMT 2024


On Wed, 6 Mar 2024 12:53:47 -0500 Jeffrey Walton <noloader at gmail.com> wrote:
> Package: systemd
> Version:  255.4-1
> Tags: sid
> 
> It looks like Systemd's timedatectl does not recognize ntpsec. Using
> it results in 'NTP service: n/a':
> 
> $ timedatectl
>                Local time: Wed 2024-03-06 12:35:32 EST
>            Universal time: Wed 2024-03-06 17:35:32 UTC
>                  RTC time: Wed 2024-03-06 17:35:32
>                 Time zone: America/New_York (EST, -0500)
> System clock synchronized: yes
>               NTP service: n/a
>           RTC in local TZ: no
> 
> According to <https://wiki.debian.org/DateTime#Installing_NTP>, ntpsec
> is an option for Debian 11 and below; and default for Debian 12 and
> above.
> 
> I searched for an upstream bug at <https://github.com/systemd/systemd>
> (is that the right place?), but there were no relevant hits. See
> <https://github.com/systemd/systemd/issues?q=is%3Aissue+ntpsec>.
> 
> Also see <https://lists.debian.org/debian-user/2024/03/msg00145.html>.
> That's the debian-users mailing list discussion with GW's comment.

If an NTP service want's to be recognized by timedated, it needs to ship 
a config snippet in /usr/lib/systemd/ntp-units.d/
See man systemd-timedated


> LIST OF NETWORK TIME SYNCHRONIZATION SERVICES
>        systemd-timesyncd will look for files with a ".list" extension in ntp-units.d/ directories. Each file is parsed as a list of unit names, one per
          ^
           this is a typo, should be systemd-timedated [1]
>        line. Empty lines and lines with comments ("#") are ignored. Files are read from /usr/lib/systemd/ntp-units.d/ and the corresponding directories
>        under /etc/, /run/, /usr/local/lib/. Files in /etc/ override files with the same name in /run/, /usr/local/lib/, and /usr/lib/. Files in /run/
>        override files with the same name under /usr/. Packages should install their configuration files in /usr/lib/ (distribution packages) or
>        /usr/local/lib/ (local installs).
> 
>        Example 1. ntp-units.d/ entry for systemd-timesyncd
> 
>            # /usr/lib/systemd/ntp-units.d/80-systemd-timesync.list
>            systemd-timesyncd.service
> 
>        If the environment variable $SYSTEMD_TIMEDATED_NTP_SERVICES is set, systemd-timesyncd will parse the contents of that variable as a
>        colon-separated list of unit names. When set, this variable overrides the file-based list described above.


systemd-timesyncd and chrony do this properly.

# apt-file search /usr/lib/systemd/ntp-units.d/
chrony: /usr/lib/systemd/ntp-units.d/50-chrony.list
systemd-timesyncd: /usr/lib/systemd/ntp-units.d/80-systemd-timesync.list


I've CCed the ntpsec maintainers.
If they have interest in shipping such an integration, then we can 
reassign the bug report. Otherwise I'll just close it, as there is 
nothing we can do on the systemd side

Regards,
Michael

[1] https://github.com/systemd/systemd/pull/31658
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-systemd-maintainers/attachments/20240306/e82226d4/attachment.sig>


More information about the Pkg-systemd-maintainers mailing list