CentOS 5.4能正确处理闰秒吗?

显然,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 leapsecond fix”是相关的吗?

您的问题在红帽知识库中得到解答:

https://access.redhat.com/knowledge/articles/15145

概要:
RHEL 4和5的某些版本存在已知的潜在问题,这可能会导致内核在运行NTP的系统上午夜崩溃。 如果你打补丁高于5.4和4.8,你应该没问题(假设所有适当的相关文件被正确打补丁)。 或者,您可以select不运行NTP,但是您需要确保将tzdata数据文件更新到适当的级别。

底线,如果你在一个完全更新的系统,你不应该有任何问题。

更多信息请参阅Red Hat Bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=479765

您可以使用zdump命令validation是否应用了给定的闰秒更新。 在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盒子里,我没有find这个更新。 在当前的Ubuntu 11.10和Debian压缩盒子里,我find了。 因人而异。

更多关于这个(从Debian的PoV,但它应该主要适用于CentOS): http : //lists.debian.org/debian-user/2005/12/msg03343.html

只要你已经更新你的系统,应该没问题。 此外,NTP应确保一切都在控制之下。

除非已经安装了2012年3月发布的RHEL / CentOS勘误软件包“tzdata-2011n-2”或更高版本,否则您将不会在时区文件中看到2012年的闰秒。较早的软件包不知道,因为闰秒只有6个月的通知才能公布。 此外,要使用这些更新的文件,您的邮箱必须configuration为使用“正确的”时区,例如“right / America / New_York”。

如果您的系统正在运行ntpd,并且您的NTP上游服务器支持闰秒预发布,则ntpd将指示内核在适当的时间跳转一秒。 任何使用libc gettimeofday()的应用程序都会看到23:59:59.XXX UTC重复两次。

上游NTP服务器将在2012-06-30 00:00:00 UTC之后才会开始公布“跳跃指示器”,因为该协议不允许有任何通知。 如果上游参考时钟是感知到的(例如GPS),则ntpd应正确地将跳跃指示器级联到所有主机。 如果上游参考不能感知到(例如,每秒脉冲每秒的无线电时钟), 并且层1 ntpd操作员没有configuration“超短时间”文件。 如果您有参考时钟的混合,其中任何一个都可以提供跳跃指示。

如果您碰到闰秒错误并在服务器上遇到高负载,请停止ntp并使用ntpdate设置时间。请参阅此处