显然,IERS 已经宣布今年 6 月 30 日午夜将出现闰秒。
CentOS/RHEL 5.4 是否已正确更新以支持/过渡以及更新的 NTP 系统?我的印象是它需要更新的 tzdata 包,但不确定。
更新:
我检查了 tzdata 包的更改日志并注意到以下情况:
* Tue Feb 27 2007 Petr Machata <[email protected]> - 2007c-1
- Upstream 2007c
- Pulaski County, Indiana, switched back to eastern time.
- Turkey switches at 01:00 standard time, not at 01:00 UTC.
- Upstream 2007b
- Changes to the commentary in "leapseconds".
- Resolves: #230089
* Tue Aug 22 2006 Petr Machata <[email protected]> - 2006j-1
- Upstream 2006j
- Honduras stopped observing DST on Monday at 00:00
- America/Bermuda will follow the US's lead next year
- America/Moncton will use US-style rules next year
- New Zone America/Blanc-Sablon, for Canadians who observe AST all
year
- New zone: America/Atikokan instead of America/Coral_Harbour
- New zones: Europe/Jersey, Europe/Guernsey, Europe/Isle_of_Man
- Historical changes
- Commentary updates
- Upstream 2006i
- localtime.c fixes
- Upstream 2006h
- zic leapsecond fix
这与“zic闰秒修复”有关吗?
答案1
您的问题已在 Red Hat 知识库中得到解答:
https://access.redhat.com/knowledge/articles/15145
摘要:
RHEL 4 和 5 的某些版本存在一个已知潜在问题,可能会导致运行 NTP 的系统内核在午夜崩溃。如果您已打上高于 5.4 和 4.8 的补丁,则应该没问题(假设所有相关文件都已正确打上补丁)。或者,您可以选择不运行 NTP,但您需要确保已将 tzdata 数据文件更新到适当的级别。
底线是,如果您使用的是完全更新的系统,那么您就不会遇到任何问题。
更多信息请参阅 Red Hat Bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=479765
答案2
您可以使用 zdump 命令验证是否已应用给定的闰秒更新。在 CentOS 上,这是
/usr/sbin/zdump -v right/UTC
您正在寻找类似于以下内容的行:
right/UTC Sat Jun 30 23:59:60 2012 UTC = Sat Jun 30 23:59:60 2012 UTC isdst=0 gmtoff=0
tzdata 包的更新日志中应该提到这一点:
rpm -q --changelog tzdata | less
在一个补丁很差的 CentOS 5.7 机器上,我不是找到此更新。在当前的 Ubuntu 11.10 和 Debian squeeze boxes 上,我找到了它。YMMV。
有关更多信息(从 Debian PoV 来看,但它应该主要适用于 CentOS): http://lists.debian.org/debian-user/2005/12/msg03343.html
答案3
只要您更新了系统,就应该没问题。此外,NTP 应确保一切都在掌控之中。
答案4
如果你遇到了闰秒错误,并且你的服务器负载过高,只需停止 ntp 并使用 ntpdate 设置时间,参见这里