星期三, 三月 29, 2006

再谈debian下启动时时间自动增加8个小时的问题


本以为在在debian下解决时间同步的问题问题已经解决了,但在几天后重启机器时发现问题依旧。晕,me都要疯了。要知道时间不对会给me带来多少麻烦:系统日志的时间错乱、apache2的log文件也是时间错乱,而me用awstats对网站访问进行跟踪分析更是因为时间错位而丢掉了很多访问记录,总之是大大的不便甚至是n多的错误。
再次埋头去看rcS.d。发现了两个hwclock相关的脚本,一个带first,另外一个直接就是hwclock。顾名思意,前者是首次运行时执行的,后者是常规调用的,但是在debian启动时应该也执行了一道的。vi进去看看,好大一堆东西,其中还涉及到了对/etc/default/rcS文件的调用。在rcS文件中发现了一个UTC变量,而脚本中好像用了很多次UTC变量。man hwclock后模模糊糊知道了问题是咋回事儿。
debian系统中,时间分为两种,一种是硬件时间,也就是cmos时间,另外一个则是debian的系
统时间,就是操作系统使用的时间。linux内核在启动时首先从cmos读取硬件时间并据此设定系统时间,这时候要对时间的形式进行判断并做相应处理。时间的形式有两种,一种是全球通用时间,也就是UTC,另外一种就是本地时间。这两者的关系是UTC+时区时差=本地时间。在hwclock命令中的开关分别是?utc和?localtime。并且hwclock命令有个默认属性,那就是如果前次调用了?utc,那么下次进行任何操作(如读取、写入或者显示时间)时默认就是utc选项了。
大约明白了是怎么一回事儿就好办了。
查阅rcS文件,里面对UTC变量默认是no,改为yes。然后重新执行了一道
/etc/init.d/hwclockfirst.sh
start,显示时钟设置成功,本地时间为……,比当前的实际时间快了8个小时。不要紧,用ntpdate和internet服务器进行一次同步,然后hwclocl -w。呵呵,这下应该好了。
关闭debian,并断开电源(此步要紧,以前本以为成功结果还是不行就是因为测试方法不对,因为me那时候每次都是运行reboot的)。
再次启动,
ok。时间显示正常。世界终于清静咯。

Technorati Tags: , , , , ,


--
Posted by heart5 to 后花园堤 at 3/11/2006 11:50:45 下午


--
──────────────────────────
共享专区
──────
网志的经济价值分析(The economic weight of blogs)
http://heart5.blog-journals.com/2006/03/economic-weight-of-blogs.html

浑然天成(Sculpture made by the nature)
http://heart5.blog-journals.com/2006/03/sculpture-made-by-nature.html
──────
后花园堤【域名转向】
http://garden.321.cn 【长期有效】

http://heart5.blog-journals.com

没有评论: