1

我不知道如何解决这个问题。在我的 /etc/TIMEZONE 文件中,TZ 变量具有正确的值(加拿大/东部),但仍然显示 -1 小时滞后。我还应该去哪里寻找?

4

4 回答 4

3

你应该检查你的硬件时钟是什么。我建议这样做:

  • 正确设置 UTC 时间。即(示例中为凌晨 5 点):

$ 日期 -u -s "05:00"

UTC 时间 2010 年 4 月 29 日星期四 05:00:00 AM

  • 相应地设置硬件时钟(SPARC 为 tod,x86 为 rtc):

$ rtc -c ('-c' 参数正确设置 DST)

  • 再次检查日期:

$日期

2010 年 4 月 29 日星期四 02:00:11 AM 艺术

问候,

莱安德罗。

于 2010-04-29T05:10:03.633 回答
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 自动设置时间还是手动设置时间?

沃尔克

于 2009-02-10T01:59:00.247 回答
1

当您实际登录主机时,您的 shell 会话中设置了哪个时区?

如果您的 shell 会话中的时区与 /etc/TIMEZONE 不匹配,那么您可能需要重新启动以使时区更改生效。

如果你的 shell 会话中的时区是正确的,但实际时间是错误的,那么要么系统时钟关闭,要么时区定义文件有误。您可以运行“date -u”来获取 UTC 时间,这将帮助您确定实际时钟是否错误。

于 2009-02-22T14:57:41.597 回答
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

于 2009-01-13T16:39:14.000 回答