2009年9月19日土曜日

再起動後の時刻のずれ

前回に続いて時刻の調整についてです。「ntp」パッケージをインストールし、NTPサーバを設定してもPCを再起動すると大幅な時刻のずれが起こることがあります。
原因としてはハードウェアクロックの狂いが考えられます。内蔵電池が消耗している場合等もハードウェアクロックに狂いが生じますが、設定の違いから時刻がずれてしまうことがあります。
Debianの時刻合わせの流れは起動時に「ハードウェアクロック」より時刻を読み取り「システムクロック」に反映させ、狂いがあれば「ntp」により修整します。そして終了時に今度は「システムクロック」の時刻を「ハードウェアクロック」に書き出します。
このことから「ハードウェアクロック」と「システムクロック」は同じ時間設定でなければならないのですが、片方が「UTC」でもう一方が「ローカルタイム」の設定になっていたりすると大幅に時刻がずれてしまいます。(本来ずれた時間は「ntp」により修整されるのですが、あまりにずれが大きい場合はトラブルと判断され「ntp」による修整が行われません。したがって時刻はずれたままとなってしまいます)
このような症状を改善するためには「ハードウェアクロック」の設定を変更します。
以下「ハードウェアクロック」を「ローカルタイム」にする設定方法です。

$ gksu gedit /etc/default/rcS
開いたファイルの「UTC=」の部分が
UTC=yes となっていたら
UTC=no に書き換えます。

# /etc/init.d/ntp restart
「ntp」を再起動します。しばらくすると正しい時間に合わせてくれます。

# ntpq -p
ntpの動作確認をすることが出来ます。


上手く行かない場合は手動で時刻を合わせてから再び実行してみてください。

$ date
現在の日時を表示

# date -s "2009/09/10 20:30:00"
日時を設定(2009年9月10日 20時30分00秒に設定する場合)

# date -s "20:30"
時刻のみ合わせる場合は上記でも可。


# hwclock --systohc --localtime
「ハードウェアクロック」を現在の「システムクロック」に合わせて「ローカルタイム」に設定します。

$ gedit /etc/adjtime
「ハードウェアクロック」の確認をします。
3行目に「LOCAL」とあれば「ローカルタイム」で動作しています。

0 件のコメント:

コメントを投稿