つい最近、CANDY殿のページにてntpdが閏秒に対応したことを知った。
http://www.bsddiary.net/doc/ntpd-leapseconds.html
簡潔でありながら、必要な情報は全て含まれているので非常にありがたい。
特に、『望ましい対処』は素人の私にはとても良い道標であった。
具体的には、
・ntp-4.2.5p151(これが最新だった)をインストールして、
・閏秒ファイル↓をとってきて、
ftp://time.nist.gov/pub/leap-seconds.3427142400
・/etc/ntp.confに以下の行を追加する。
leapfile /etc/ntp/leap-seconds.3427142400
これだけ。
閏秒未対応。
% ntpq -nc rl ybb-gw server=ybb-gw.mk.or.jp associd=0 status=04f5 leap_none, sync_uhf_radio, 15 events, clock_sync, version="ntpd 4.2.5p127@1.1770-o Wed Sep 3 17:29:46 GMT 2008 (1)", processor="i386", system="FreeBSD/5.2.1-RELEASE-p14", leap=00, stratum=2, precision=-16, rootdelay=0.000, rootdisp=1.063, refid=GPS_NMEA(1), reftime=cd02407e.3543918b Mon, Dec 29 2008 3:14:22.208, clock=cd024080.1164b689 Mon, Dec 29 2008 3:14:24.067, peer=38747, tc=6, mintc=3, offset=-0.076, frequency=-74.423, sys_jitter=0.015, clk_jitter=0.009, clk_wander=0.171
閏秒対応。起動時のlogにはこんなメッセージがでていた。ちゃんと認識したっぽいぞ。
ntpd[54170]: leap epoch 3439756800 expire 3455136000 TAI offset 34 from /etc/ntp/leap-seconds.3427142 400 ntpd[54170]: 0.0.0.0 0519 09 system event: leap_armed
閏秒の時はどんなlogがでるのかな?
% ntpq -nc rl lib-2 server=lib-2.mk.or.jp associd=0 status=0419 leap_none, sync_uhf_radio, 1 event, leap_armed, version="ntpd 4.2.5p151@1.1797-o Sun Dec 28 16:24:12 GMT 2008 (1)", processor="i386", system="FreeBSD/5.2.1-RELEASE-p14", leap=00, stratum=2, precision=-16, rootdelay=0.000, rootdisp=1.461, refid=GPS_NMEA(0), reftime=cd02405f.59184589 Mon, Dec 29 2008 3:13:51.348, clock=cd024080.12e68103 Mon, Dec 29 2008 3:14:24.073, peer=46613, tc=6, mintc=3, offset=0.009, frequency=-68.203, sys_jitter=0.015, clk_jitter=0.002, clk_wander=0.036, tai=33, leapsec=200901010000, expire=200906280000
以下の項目が追加されている。
tai=33, leapsec=200901010000,expire=200906280000
また、
clock_sync が、leap_armed に変わっている。
きっと閏秒を過ぎるとtai=34 に変わるのだろう。