時間が9時間進む(hwclock,rcS)

テスト中の環境で時間が9時間進んで表示されてしまいました。(VMWare:Debian(etch))

# date
Mon Feb 11 18:46:41 JST 2008

Debian(etch)の場合、起動時にハードウェアクロック(BIOS)とシステムクロックを合わせるため 「/etc/init.d/hwclockfirst.sh」が実行されます。

「/etc/init.d/hwclockfirst.sh」を見ると、ハードウェアークロック(BIOS)が UTCであるかローカルタイムであるかの設定は、「/etc/default/rcS」に記述されていることが わかります。

ローカルタイムを使用するようにするには、「/etc/default/rcS」を 次のように修正します。

# vi /etc/default/rcS

UTC=no

システム終了時には、システムクロックをハードウェアークロック(BIOS)として反映しているようなので、 シャットダウン後ハードウェアークロックを修正する必要もあります。

hwclockの確認

hwclockが、UTCかローカルタイムのどちらを使用したかを知る方法として、「/etc/adjtime」を 見る方法があります。

hwclockコマンドを実行すると、「/etc/adjtime」が作成されるので、 「/etc/adjtime」の3行目にLOCALとあれば、ローカルタイムで、UTCとあればUTCでの設定となります。

hwclockのオプション

例:
# hwclock --hctosys --localtime
--hctosys
システムクロックを現在のハードウェアクロックに合わせる。
--systohc
ハードウェアクロックを現在のシステムクロックに合わせる。
--utc
ハードウェアクロックがUTCであることを示す。
--localtime
ハードウェアクロックがローカルタイムであることを示す。