2009年8月28日 星期五

[ArchLinux] Clock displays wrong time.

昨天一口氣更新了7xxMB,結果重新開機之後,系統時間就瘋了,利用hwclock把硬體時間寫回去系統時間也沒有用,重新開機後就是快了8個小時,拜了一下估狗大神,才知道原來已經有解了。

其實也不算是bug啦,應該是說先前的bug,在這次的更新中修正了,所以原本為了躲bug而修改的設定反而造成了系統時間在更新之後整個錯亂。

解決的方法很簡單,修改rc.conf,把HARDWARECLOCK="local"的值改成localtime。
HARDWARECLOCK="localtime"
問題的根源在於rc.sysinit檔中,原本是檢查local,在昨天的更新之後,修正成去檢查localtime。
HWCLOCK_PARAMS="--hctosys"
if [ "$HARDWARECLOCK" = "UTC" ]; then
    HWCLOCK_PARAMS="$HWCLOCK_PARAMS --utc"
elif [ "$HARDWARECLOCK" = "localtime" ]; then
    HWCLOCK_PARAMS="$HWCLOCK_PARAMS --localtime"
else
    HWCLOCK_PARAMS=""
fi

Since a few days ago, clock an hour backwards on reboot