修复Solaris 10上的时区

时间:2009-01-13 16:29:46

标签: timezone solaris

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

4 个答案:

答案 0 :(得分:3)

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

  • 正确设置UTC时间。即(示例中的上午5点):

$ date -u -s“05:00”

星期四,2010年4月29日星期五05:00:00 UTC

  • 相应地设置硬件时钟(对于SPARC和对于x86的rtc):

$ 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