如何在centos 6.2中更改时区?

Tem*_*vit 33 centos timezone centos6

这是我的date命令的输出:

[root@r1304 ~]# date
Wed Apr 18 15:43:28 GST 2012
Run Code Online (Sandbox Code Playgroud)

我想将默认系统时区更改为亚洲/迪拜。我按照教程做了这个:

ln -sf /usr/share/zoneinfo/Asia/Dubai /etc/localtime
Run Code Online (Sandbox Code Playgroud)

但是没有效果。似乎这在 CentOS 6 中的做法有所不同。如何更改时区?

小智 42

看起来 CentOS 6.2 中没有任何 hwclock 行/etc/rc.sysinit,因此更改/etc/sysconfig/clock不起作用。

尝试tzselect或使用 ln -s /usr/share/zoneinfo/xxxx /etc/localtime

  • 谢谢,这对我有用。我的解决方案是`rm /etc/localtime && ln -s /usr/share/zoneinfo/America/New_York /etc/localtime`。 (5认同)
  • 这样做,但也要确保使用正确的时区更新`/etc/sysconfig/clock`,因为更新可以并将本地时间更改回时钟中的时间。 (2认同)

Luc*_*lli 9

首先使用 tzselect 找出您的时区。tzselect 的最终输出将类似于:

Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
America/New_York
Run Code Online (Sandbox Code Playgroud)

最后一行是您的 zoneinfo 文件的名称。

现在创建一个从 /etc/localtime 到正确的 zoneinfo 文件的符号链接,例如:

ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime 
Run Code Online (Sandbox Code Playgroud)

需要 -f 标志来覆盖现有的 /etc/localtime。

注意:运行 tzselect 不会影响系统上的任何内容,它只会输出一些文本。曹军回答中的“或”有误导性。您必须使用 tzselect AND ln。来自 tzselect 联机帮助页:“[tzselect] 将生成的时区描述输出到标准输出”。