答案1
如果您的 Ubuntu 机器监听 NTP 并与互联网同步时间,系统将自动调整时间差异。
虽然您的计算机不一定知道发生了闰秒,但当 NTP 服务器将变化推送到整个互联网时,它会捕获并记录该事件。
如果您不想增加额外的一秒,您可以使用以下命令强制更新:
sudo ntpdate -s pool.ntp.org
这将自动执行地理定位,为您提供附近的服务器(减少延迟错误),Ubuntu 将根据您的时区进行调整(因此,如果服务器位于不同的时区,一切仍然没问题)。或者,您可以使用ntp.ubuntu.com
。
请注意,如果你运气不好,你使用的时间服务器都无法正确处理闰秒。这种情况不太可能发生,但有可能。手动检查已知的良好来源(模拟广播,可能时间是) 建议。
或者,如果您使用的是现代版本的 Ubuntu,则有一个名为 的内置实用程序timedatectl
。默认情况下,它会在启动时自动运行一次。因此,如果需要,快速重启可以强制同步。
答案2
闰秒由 Linux 内核自动处理,无需重启或 NTP 同步即可保持实际时间。如果你查看系统日志,你会看到类似以下内容
[263284.397894] Clock: inserting leap second 23:59:60 UTC
由于23:59:60
不是有效的 Linux 时间,您的时钟将达到00:00:00
,然后回退到23:59:59
。在那一秒内创建的任何对象(如文件)的日期可能不一致。
就 Linux 时间(相对于实际时间)而言,闰秒并不存在:
# date -d "2016-12-31 23:59:59" +%s
1483225199
# date -d "2017-01-01 00:00:00" +%s
1483225200