我有一个运行 CentOS 5 的 XEN domU。
我无法设置正确的时区。
我希望它按照山地标准时间运行,但它显示的却是太平洋标准时间。我尝试了所有方法,但还是无法解决问题。此 VM 无法访问 Internet,因此我无法使用 ntpd 或任何其他工具。我将其与另一个运行 XP 的 Xen domU 同步,该 domU 具有正确的时区和时间。但即使我不同步,它也应该显示正确的时区,因为我将 /etc/localtime 指向了正确的时区。
这是迄今为止我使用过的所有命令(以及一些输出)。
# mv /etc/localtime /etc/localtime-old
# ln -sf /usr/share/zoneinfo/US/Mountain /etc/localtime
# vi /etc/sysconfig/clock
ZONE="America/Denver"
UTC=true
ARC=false
# /usr/sbin/tzdata-update
# /sbin/hwclock --systohc --utc
# uname -a
Linux MyServer 2.6.18-164.6.1.el5 #1 SMP Tue Nov 3 16:18:27 EST 2009 i686 athlon i386 GNU/Linux
现在当我输入日期时它会显示 PST # 日期 2011 年 4 月 7 日星期四 16:29:34 PDT
ntpd 未运行
少了什么东西?
答案1
您使用 PV Xen DomU 吗?如果是,您的时间与 Dom0 相结合。如果您想更改这一点,请执行sysctl -e xen.independent_wallclock = 1
在该时区之后,ntpdate 和 ntp 将按预期运行。
答案2
您是否意识到显示的是内核实际构建时的日期和时区信息?除非您重新编译内核,否则uname -a
更改时区设置不会影响时区显示的结果。uname -a
对于运行 ntpd 的 domU,您需要将xen.independent_wallclock
sysctl 值设置为 1,正如 Nils 所提到的,但这不会影响通过 显示的时区uname -a
。否则,您显示的所有其他步骤都会影响您机器上的时区,如果简单运行的结果date
返回了您期望的时区,则它已完成,您用来uname -a
验证的测试都是无效的。
答案3
是否可能为您的用户设置了 TZ 环境变量?TZ 将使用不同的时区覆盖 /etc/localtime。运行“echo $TZ”
答案4
我最终每分钟将有问题的机器与另一台机器同步,只需使用每分钟通过 crontab 调用的脚本运行简单的 ntpdate 命令即可。