Chinaunix首页 | 论坛 | 博客
  • 博客访问: 579743
  • 博文数量: 142
  • 博客积分: 10016
  • 博客等级: 上将
  • 技术积分: 1835
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-10 14:30
个人简介

工作中~

文章分类

全部博文(142)

文章存档

2009年(25)

2008年(117)

我的朋友

分类: LINUX

2009-03-06 09:18:30

Linux中使用两种时间:世界时间(GMT)和本地时间(Local Time)。世界时间即格林尼治时间。而各个时区用户根据所在的时区(Time Zone)与国际时间的差值来获得本地时间。比如中国在东8区(CST +8:00),所以本地时间比国际时间快8小时。

Debian下设置时区的命令是tzconfig。

Linux 在每次启动时会加载BIOS的时间,并在退出时把时间写回BIOS。默认情况下,Linux认为BIOS里的时间是世界时间(UTC)。因此它读入世界时间然后根据用户所在时区计算出本地时间。对于中国而言,就是加上8小时。这种机制在多系统环境中会产生问题:因为Windows只认识本地时间,所以你在 Windows里设置的时间(会写回BIOS)在Linux环境中被认为是世界时间,从而导致Linux本地时间比正确时间快了8小时(对于中国而言)。 如果你在Linux里把本地时间减去8小时来修正(世界时间相应的也会被减去8),又会导致Windows里的时间慢了8小时(因为Linux在退出时会 将修改后的世界时间写回BIOS)

解决办法:
编辑文件/etc/default/rcS,把其中的UTC=yes选项改为UTC=no(即让Linux认为BIOS里的是本地时间)。
然后ntpdate time.nist.gov校对时间。
最后hwclock -w写入BIOS就完成了。
最后就是一个CST的问题,因为有很多不同的意义,所以最好设置时区的时候选择香港时间。

阅读(5053) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~