更改Debian上的时区可使本地时间保持在UTC


27

我正出于自己的理智尝试让程序在本地时间登录。

我已将时区更新为:

 dpkg-reconfigure tzdata

但是该命令的结果是:

Current default time zone: 'Australia/Adelaide'
Local time is now:      Mon May 20 03:09:52 UTC 2013.
Universal Time is now:  Mon May 20 03:09:52 UTC 2013.

注意UTCLocal time

有什么原因吗?

我已经做了很多谷歌搜索,但是我的问题似乎与所有人都不同:(

以下是更多详细信息:

# cat /etc/timezone
Australia/Adelaide

# date
Mon May 20 03:41:06 UTC 2013

# export TZ='Australia/Adelaide'; date
Mon May 20 13:16:11 CST 2013

默认情况下,在bash会话中进行设置可使export TZ='Australia/Adelaide';我正常工作,但不会更改系统日志日期(重启服务后)/etc/profiledate

编辑:

# ls -l /etc/localtime
lrwxrwxrwx 1 root root 20 May 10 14:48 /etc/localtime -> /usr/share/zoneinfo/

# ls /etc/localtime/
Adelaide    Chile    GMT        Japan      PST8PDT    Universal
Africa      Cuba     GMT+0      Kwajalein  Pacific    W-SU
America     EET      GMT-0      Libya      Poland     WET
Antarctica  EST      GMT0       MET        Portugal   Zulu
Arctic      EST5EDT  Greenwich  MST        ROC        iso3166.tab
Asia        Egypt    HST        MST7MDT    ROK        localtime
Atlantic    Eire     Hongkong   Mexico     Singapore  localtime.dpkg-new
Australia   Etc      Iceland    Mideast    SystemV    posix
Brazil      Europe   Indian     NZ         Turkey     posixrules
CET         Factory  Iran       NZ-CHAT    UCT        right
CST6CDT     GB       Israel     Navajo     US         zone.tab
Canada      GB-Eire  Jamaica    PRC        UTC

回答:

搞定了,感谢卡纸。由于某些原因,我将/ etc / localtime作为符号链接... IT专家在这里使用Turnkey 12设置服务器,所以也许是问题所在。

# mv /etc/localtime /etc/localtime.old
# cp /usr/share/zoneinfo/Australia/Adelaide /etc/localtime
# date
Thu May 23 09:36:17 CST 2013

Answers:


22

尝试这种方式:

$ sudo cp /usr/share/zoneinfo/Australia/Adelaide /etc/localtime

cp /usr/share/zoneinfo/Australia/Adelaide /etc/localtime不会对我有任何改变:((当地时间仍然是世界标准时间,我也说了些什么ls -l /etc/localtime。)

2
为什么在这里创建符号链接?您需要复制一个文件...通过删除符号链接“ rm / etc / localtime”进行修复,并按照我写的“ cp / usr / share / zoneinfo / Australia / Adelaide / etc / localtime”进行

默认情况下,symlink在那儿。也许是交钥匙的东西。mv /etc/localtime /etc/localtime.old cp /usr/share/zoneinfo/Australia/Adelaide /etc/localtime解决了问题:)谢谢!
2013年

2
我认为复制是错误的。如果zoneinfo文件更改怎么办?如果/ etc / localtime是符号链接(在Debian中),则您将覆盖其他一些zoneinfo文件。
XTF

32

我认为实现此目标的最佳方法是执行以下命令:

sudo dpkg-reconfigure tzdata

+1,这绝对是在debian系统上做到这一点的正确方法。
jhauris 2014年

2
dpkg-reconfigure tzdata是的,这是我尝试的第一件事。它对我不起作用,因为/etc/localtime出于某种原因是符号链接。修复该问题后,两种方法都会正确更改时区。
2014年

是!ppl似乎是这么认为的,但是我在docker容器中使用了debian。
超级英雄

-1

使用“网络时间协议”自动设置时间。使用以下命令在debian上安装ntp。

$ sudo apt-get install ntp

有关详细信息,请阅读文档https://wiki.debian.org/DateTime


最好在此处提供步骤,并将链接用作进一步详细信息的参考。这样,当链接变为无效时,您的答案不会失去所有值。
Anthon 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.