【发布时间】:2009-01-13 16:29:46
【问题描述】:
我不知道如何解决这个问题。在我的 /etc/TIMEZONE 文件中,TZ 变量具有正确的值(加拿大/东部),但仍然显示 -1 小时滞后。我还应该去哪里看?
【问题讨论】:
我不知道如何解决这个问题。在我的 /etc/TIMEZONE 文件中,TZ 变量具有正确的值(加拿大/东部),但仍然显示 -1 小时滞后。我还应该去哪里看?
【问题讨论】:
您应该检查您的硬件时钟是多少。 我建议这样做:
$ 日期 -u -s "05:00"
UTC 时间 2010 年 4 月 29 日星期四上午 5:00:00
$ rtc -c('-c' 参数正确设置夏令时)
$ 日期
2010 年 4 月 29 日星期四 02:00:11 AM ART
问候,
莱安德罗。
【讨论】:
您的机器是否已安装最新补丁? 2007 年北美的 DST 处理发生了变化。在我的 Solaris 10 上,我有:
-bash-3.00$ ls -l /usr/share/lib/zoneinfo/Canada/Eastern -rw-r--r-- 2 根 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 自动设置时间还是手动设置时间?
沃尔克
【讨论】:
当您实际登录主机时,您的 shell 会话中设置了哪个时区?
如果您的 shell 会话中的时区与 /etc/TIMEZONE 不匹配,那么您可能需要重新启动以使时区更改生效。
如果你的 shell 会话中的时区是正确的,但实际时间是错误的,那么要么系统时钟关闭,要么时区定义文件有误。您可以运行“date -u”来获取UTC时间,这将帮助您确定实际时钟是否错误。
【讨论】:
这是要编辑的正确文件。 唯一需要的其他步骤是重新启动。需要重启的原因是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
【讨论】: