1 suse 处理闰秒
1.1
运行
ntp
的系统
在任何
suse linux
环境下,如果正确配置
ntp
作为
ntp
客户端,使用
ntp
守护进程来同步本地实际与
ntp
服务器的
情况,
suse linux
的内核会自动考虑到闰秒所带来的影响。在闰秒修正的最后一天,
NTP
服务器会通知
ntp
客户
端,在时间
23:59:59 UTC
将会有一个闰秒发生,内核会对这额外的一秒进行删除操作,并在内核打印如下
log
:
log
:
"Clock: inserting leap second 23: 59: 60 UTC".
内核对闰秒进行正常处理后,系统的计算时钟应该如下,内核将会出现两次
59
秒
2008-12-31 23:59:59 UTC
2008-12-31 23:59:59 UTC
2009-01-01 00:00:00 UTC
1.2
未运行
ntp
的系统
默认情况下,不使用
NTP
同步其计时的
Linux
系统不会修正闰秒,且这些系统报告的时间与修正闰秒后的
UTC
时间有一秒钟的差别。闰秒发生后应手动重置时钟。(注:对于使用硬件时钟的系统,由于硬件时钟的准确性
差,所以是否会修正闰秒,没有实际的意义。)
对于这种系统如果期望能正确修正系统的闰秒,可以通过下面的方法:
可以将
系统
mezone
更新到包括
2016
闰秒处理的最新版本,将
/usr/share/zoneinfo/right
目录层级中的正确文
件复制到
/etc/localme
,并将时钟重置到正确的本地时间,以便将这些系统配置可正确报告时间。
/usr/share/zoneinfo/right
中的文件包含自该世纪开始,从
1970
年
1
月
1
日
00:00:00 UTC
发生的所有闰秒修正的
本地时间信息。
/usr/share/zoneinfo
中的其他时区文件未添加闰秒修正。
例如:如果某个系统位于东八区,您可以将其重新配置为通过运行以下命令报告闰秒修正时间,并将时钟重设
为东八区时间:
cp /usr/share/zoneinfo/right/Asia/Shanghai /etc/localme
注意:
/usr/share/zoneinfo/right
时区包,不要与
NTP
服务同时使用。
2 Linux 内核 bug 与闰秒关系
首先必须明确闰秒跟内核的
bug
没有直接必然联系,当闰秒发现时,内核需要对闰秒进行处理,某些
SLES
版
本(
SLES11
)内核进行处理的代码部分存在
bug
从而造成当闰秒发生时,可能造成系统挂死。存在内核
bug
的
第 2 页共 14 页
评论