LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 9831|回复: 13

我说我的机器时间怎么不对,原来是这样。。。

[复制链接]
发表于 2003-2-16 12:22:22 | 显示全部楼层 |阅读模式
看了人家的贴子才知道。

发信人: minifat (mars), 信区: Linux      
标  题: linux中的时间与时区设置(zz)
发信站: BBS 水木清华站 (Sun Dec 22 19:53:15 2002), 转信

我在安装linux中遇到这样的问题, 我用tzselect选择了时区.
用户登录以后,发现时间不对, 我用env发现TZ没有设置,我在用户
的.bash_profile中手工增加了TZ="Asia/ChongQing";export TZ.这
下用户的时间正确了,但问题出现了,我收邮件时发现发信时间不对
了。

  然后我首先去到/etc/sysconfig中修改clock这个文件,原来是
UTC=0改为UTC=1.重启发现发信时间正常了,但用户时间又不对了。
好奇怪!UTC是什么,与时区TZ有什么关联?

原来Linux中的时间有两种:UTC和localtime.UTC是指世界时,
它表示从1970.1.1 0:00以来的时间。而localtime是指本地时间。
在/etc/sysconfig/clock中UTC=1是指将使用UTC时间,UTC=0表示使
用localtime.

  如何设置呢?首先进你机器的CMOS看一下CMOS的时间,如果是本
地时间,则在clock中设置UTC=0,并且不用设TZ。如果是UTC时间,则
设UTC=1, 并设TZ环境变量的值(在/etc/login.defs中)。

  看一下你的/etc/rc.d/init.d/setclock这个脚本,其实它是在
机器启动时执行这样的命令:

  根据/etc/sysconfig/clock中的设置:

UTC=0执行的是:

  hwclock --hctosys --localtime

UTC=1执行的是:

  hwclock --hctosys --utc
--
Looking  At the Star


※ 来源:·BBS 水木清华站 smth.edu.cn·[FROM: 166.111.60.15]
发表于 2003-2-16 15:35:15 | 显示全部楼层
好贴,既知其然又知其所以然!
 楼主| 发表于 2003-3-18 16:34:33 | 显示全部楼层
虽然是很早以前就看了人家的贴子,可到了今天才算把时间给搞好了

过程很简单。在debian中/etc/rcS.d好像是在每次启动的时候都会运行的。我找到了S18hwclock这个符号链接(不知道它联到哪里去了 ),看看里面的内容如下:

WARNING:     if your hardware clock is not UTC/GMT, this script(hwclockset.sh) must know the local time zone.This information is stored in /etc/localtime. This might be a problem is your /etc/localtime is a symlink to something in /usr/share/zoneinfo AND /usr isn't in the root partition! The workaround is to define TZ either in /etc/default/rcS, or in the proper place below.


我也不想去设TZ了,所以就想把 localtime的信息改一下就行了。我的localtime是个符号链接(以前肯定是联错了),而且我的/usr就在root分区上。这下就好办了。进入/usr/share/zoneinfo/Asia把里面的Shanghai链接到/etc/localtime,注消,登陆,哈哈,时间就对了:cool:
发表于 2004-11-2 17:21:57 | 显示全部楼层
我在vmware里面按章的Debian也出现了这样的问题
我看了ls -l /etc/localtime
链接是指到/usr/share/zoneinfo/Asia/Shanghai 的
但是,时间慢慢就慢下来了。奇怪了。
windows中的时间就没有变。
发表于 2004-11-2 17:32:11 | 显示全部楼层
呵呵,vmware里的时间慢慢的会慢下来可能和平时没有将虚拟机关机,而让它保存现状有关:)
发表于 2004-11-2 17:52:49 | 显示全部楼层
我在vmware中用的linux,用了ntp每到整点自动从time.windows.com校正时间,但是那天晚上linux的系统不知怎的,时间跑得超慢,早上5点了上面显示的时间竟然才1点多,晕倒,又一晚上没睡觉!
发表于 2005-11-6 17:18:05 | 显示全部楼层
我的localtime的时间和伦敦时区一致,也就是硬件时钟的正确时间
怎样才能使上海时区和硬件时钟保持一致那 ?
ps:我怎么在deb下找不到/etc/sysconfig/这个目录啊 ?
回复 支持 反对

使用道具 举报

发表于 2005-11-8 10:17:42 | 显示全部楼层
vmware用的是哪个版本,有些版本对2.6内核的linux时钟会有慢的问题,好象是需要重新编译内核(编译将需要修改源码),这个问题我在esx 2.5中遇到过,通过重新内核就解决了。(vmware网站上有相关的说明)
回复 支持 反对

使用道具 举报

发表于 2005-11-8 11:11:54 | 显示全部楼层
我在AIX中还遇到过一次非常荒唐的情况
TZ变量标准值应该是UTC+8
结果那台机器的TZ变量竟然不知道被谁改成了
TZ=UTC+86ZM0
(估计他是把下一行的某些字符弄上来了)
结果得到了比UTC早86个小时的时间……
系统上的websphere和db2总是范毛病,找了2天没找到原因,结果无意间发现了系统时间差得很厉害,一检查才发现……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-8 13:26:43 | 显示全部楼层
Post by mantou
我在vmware里面按章的Debian也出现了这样的问题
我看了ls -l /etc/localtime
链接是指到/usr/share/zoneinfo/Asia/Shanghai 的
但是,时间慢慢就慢下来了。奇怪了。
windows中的时间就没有变。


关于vmware,参见这个帖子

http://www.linuxsir.cn/bbs/showthread.php?t=205826
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表