配置 systemd NTP 以设置 TAI 偏移

配置 systemd NTP 以设置 TAI 偏移

“新”内核版本(自 Linux 2.6.26 以来)支持台湾时钟,但 Ubuntu(在我的情况下是 18.04 LTS)上的 systemd 实现似乎忽略了它。

如何配置 systemd NTP 以保持 TAI 偏移更新且正确?

答案1

UTC 和 TAI 之间的差异是一个保存闰秒的文件。请参阅 的内容/usr/share/zoneinfo/leap-seconds.list。systemd 对此没有(/应该没有?)影响。

您需要配置 NTP 以包含它(注意:NTP v4.2.6 改变了 leapfile 的使用方式)。请参阅Ubuntu NTP 手册第 5 部分和“leapfile”选项。来自 NTP 手册页:

跳跃文件leapfile

此命令加载 NIST 闰秒文件并初始化下一个闰秒时间、到期时间和 TAI 偏移的闰秒值。可以使用 ftp 以 ASCII 文件形式直接从 NIST 国家时间服务器获取该文件pub/leap-seconds.list

当 ntpd 处理 leapfile 指令或者当 ntp 检测到 leapfile 已经改变时,就会扫描 leapfile。ntpd 每天检查一次,查看 leapfile 是否已经改变。

因此这可能会增加/etc/ntpd.conf如下内容:

leapfile /usr/share/zoneinfo/leap-seconds.list

另请参阅手册页更新飞跃

update-leap 将验证本地系统上的当前文件,并在必要时更新闰秒定义文件。通常,使用 ntp.conf(5) 中的“leapfile”指令可以找到该文件。但是,也可以在命令行上指定备用位置。

请注意,这会破坏 POSIX 兼容性,因为它会引入“23:59:60”这样的时间。

相关内容