The difference between the UTC and TAI is a file that holds leapseconds. See the contents of /usr/share/zoneinfo/leap-seconds.list. systemd has(/should have?) no impact on this.
You need to configure NTP to include it (note: NTP v4.2.6 changed the way on how the leapfile is used). See the Ubuntu NTP manual section5 and the "leapfile" option. From the manual page for NTP:
leapfile leapfile
This command loads the NIST leapseconds file and initializes the leapsecond values for the next leapsecond time, expiration time and TAI offset. The file can be obtained directly from NIST national time servers using ftp as the ASCII file pub/leap-seconds.list.
The leapfile is scanned when ntpd processes the leapfile directive or when ntp detects that leapfile has changed. ntpd checks once a day to see if the leapfile has changed.
So that could be adding to /etc/ntpd.conf something like this:
update-leap will validate the file currently on the local system and if necessary, updates leap-second definition file. Ordinarily, the file is found using the "leapfile" directive in ntp.conf(5). However, an alternate location can be specified on the command line.
Mind that this breaks POSIX compliance as it will introduce times like "23:59:60".
The difference between the UTC and TAI is a file that holds leapseconds. See the contents of
/usr/share/zoneinfo/leap-seconds.list
. systemd has(/should have?) no impact on this.You need to configure NTP to include it (note: NTP v4.2.6 changed the way on how the leapfile is used). See the Ubuntu NTP manual section5 and the "leapfile" option. From the manual page for NTP:
So that could be adding to
/etc/ntpd.conf
something like this:See also the man page for update-leap.
Mind that this breaks POSIX compliance as it will introduce times like "23:59:60".