电脑技术学习

Linux 每次启动时钟日期就多了 8 小时

dn001
计算机系统有两个时钟,一个是;BIOS,或者CMOS,或者说“硬件时钟”,还有一个就是“系统(操作系统)时钟”,
如果这两个时钟的设置上有问题,或者Linux;的时钟配置文件不正确的话,就会产生系统时钟差;8;小时的问题。


让我们先查看;/etc/sysconfig/clock;的内容:
[root@www;/root]#;cat;/etc/sysconfig/clock;
ZONE=Asia/Shanghai;;/usr/share/zoneinfo;下面的文件。
UTC=false;;;硬件时钟是否为;UTC;或者说;GMT;时钟。
ARC=false;;如果是在;Alpha;机器上,则设置为;true;。
把硬件时钟设置为;UTC;的好处就是他能自动设置夏时制,缺点时,在安装有多重操作系统启动的机器上,在另外的操作
系统上时钟会错误。

Linux;的时钟设置文件为:/etc/localtime;,实际上这个文件是;/usr/share/zoneinfo;目录下对应文件的符号连接。
假设我们所处的地区位于上海,那么只要运行以下的命令就可以设置时区了。

ln;-sf;/usr/share/zoneinfo/Asia/Shanghai;/etc/localtime

Linux;启动时,其中的一个脚本(/etc/rc.d/rc.sysinit)会运行;/sbin/hwclock;程序,把当前的硬件时钟复制为系统
时间。hwclock;假定硬件时钟已经设置为本地时钟,除非带有;--utc;参数。脚本文件会读取;/etc/sysconfig/clock;文
件的设置,因此我们不需要修改脚本,直接修改这个配置文件就可以了,根据需要把其中的;UTC;行,设置为;true;或
者;false。

设置硬件时钟时,首先使用;date;命令("date;MMDDhhmmYYYY.ss");设置好系统时钟,然后使用;"/sbin/hwclock;--systohc";
把硬件时钟设置为和当前系统时间一致。

如果你在某些应用下面的时间是错误的,那么你在运行;Red;Hat;Linux;5.0;或;5.1,解决的办法是建立;/usr/lib/zoneinfo;
到;/usr/share/zoneinfo;的符号连接:

ln;-s;/usr/share/zoneinfo;/usr/lib/zoneinfo

小结:时钟设置的问题本身比较简单,但是它涉及到几个基本的配置文件:

/etc/rc.d/rc.sysinit;
/etc/sysconfig/clock
/etc/localtime
/usr/share/zoneinfo

对初学者来说,确实需要一定的基本功才可以对以上的几个文件了如指掌。但是仔细阅读;hwclock;的;man;手册,相信这些
问题都能迎刃而解。

标签: linux