最近系统时间老出问题,在网上找到一篇比较好的文章.
http://blog.youkuaiyun.com/bitscro/article/details/2935119 (发现这位仁兄也是转载的,原出处没有链接,唉,对不起原作者了)
1.问题:
整完/usr的挂载点后,出现了一个奇怪的现象,原来正确的系统时钟现在出故障了,提前了8个小时。
鼓掌现象具体表现为:每次启动系统,ubuntu会用BIOS的时间+8后作为系统时钟,同时会把新的时间重新同步到BIOS中。所以每启动一次,时间就会快进8小时。很是怪异。网上一通google才搞定。原因是因为/usr的挂载时间被滞后了,由于/etc/localtime(时区信息)是连接到/usr/share/zoneinfo/下的某个设定好的时区文件。在系统获取时区信息时/usr尚未挂载,所以系统始终就错了。
修复办法很简单:
1.rm/etc/localtime(取消原来的符号连接)
2.把/usr/share/zoneinfo/下的某个设定好的时区文件copy到/etc/localtime.
3.重新启动,故障消除。
2.相关概念:
UTC(UniversalTimeCoordinated)=GMT(GreenwichMeanTime)hwclock:queryandsetthehardwareclock(RTC)
hwclock通过/etc/default/rcS的UTC(=yes/no)来认定BIOS时钟是UTC还是localtime。
3.问题
我现在有两个系统,一个是Gentoo 2006.0,一个是 Ubuntu Dapper,两个系统之间的时间不同步。在Gentoo下配置时区的方法如下:
1.ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2.修改/etc/conf.d/clock,将其中的CLOCK配置为"local",即:CLOCK="local"
这也是Gentoo下正确的时区配置方法,因此能够认为gentoo的配置没有问题,问题出在Ubuntu上。
google了一下发现:Ububtu在默认情况下认为BIOS中的时间是UTC时间,而我的Gentoo在如上的配置下认为BIOS中的时间是本地时间,因此就产生了不同步的问题,相差八个小时,解决的方法也很简单:
在Ubuntu下修改/etc/default/rcS 文档,将 UTC=yes 改为 UTC=no 即可。
注:Ubuntu下也是把/etc/localtime链接到/usr/share/zoneinfo/Asia/Shanghai。(缺失文件从其他电脑复制)
4.查看,修改命令
一、时区
1. 查看当前时区
date -R
2. 修改设置时区
方法(1)
tzselect
方法(2) 仅限于RedHat Linux 和 CentOS
timeconfig
方法(3) 适用于Debian
dpkg-reconfigure tzdata
3. 复制相应的时区文件,替换系统时区文件;或者创建链接文件
cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime
在中国可以使用:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
二、时间
1、查看时间和日期
date
2、设置时间和日期
将系统日期设定成1996年6月10日的命令
date -s 06/22/96
将系统时间设定成下午1点52分0秒的命令
date -s 13:52:00
3. 将当前时间和日期写入BIOS,避免重启后失效
hwclock -w