我不知道如何解决这个问题。在我的/ etc / TIMEZONE文件中,TZ变量具有正确的值(加拿大/东部),但仍显示-1小时滞后。我还应该在哪儿看?
答案 0 :(得分:3)
您应该检查硬件时钟是什么。 我建议这样做:
$ date -u -s“05:00”
星期四,2010年4月29日星期五05:00:00 UTC
$ rtc -c('-c'参数正确设置DST)
$ date
2010年4月29日星期四02:00:11 ART
此致
Leandro的。
答案 1 :(得分:1)
您的机器是否已更新? 2007年北美的DST处理方式发生了变化。在我的Solaris 10上,我有:
-bash-3.00 $ ls -l / usr / share / lib / zoneinfo / Canada / Eastern -rw-r - r-- 2 root bin 1252 2008年7月14日/ usr / share / lib / zoneinfo / Canada / Eastern -bash-3.00 $ openssl md5 / usr / share / lib / zoneinfo / Canada / Eastern MD5(/ usr / share / lib / zoneinfo / Canada / Eastern)= 82980b1345aab5a97d90307edfefb6da
您是使用NTP自动设置时间还是手动设置?
沃尔克
答案 2 :(得分:1)
当您实际登录主机时,shell会话中设置了什么时区?
如果shell会话中的时区与/ etc / TIMEZONE不匹配,那么您可能需要重新启动才能使时区更改生效。
如果shell会话中的时区正确,但实际时间错误,则系统时钟关闭或时区定义文件以某种方式出错。您可以运行“date -u”来获取UTC时间,这将帮助您确定实际时钟是否错误。
答案 3 :(得分:0)
这是要编辑的正确文件。 所需的唯一其他步骤是重新启动。需要重新启动的原因是init
进程在启动时读取TZ的值,并且所有其他进程都继承此值。据我所知,如果不进行完全重启,就无法使更改生效。
另外,请确保将/etc/TIMEZONE
符号链接到/etc/default/init
。例如:
[root@server:/etc]ls -l /etc/ | grep TIMEZONE
lrwxrwxrwx 1 root root 14 Jul 7 2008 TIMEZONE -> ./default/init