我最近在使用区域设置和JVM方面遇到了很多问题。 但是这比现在更大。 我今天做了一个百胜的更新,全面更新了一切。 这在一段时间内还没有完成。
除了系统区域设置似乎已经恢复到UTC时间以外,一切运行良好。 我使用localectl set-locale
来修改语言环境,并重新启动服务器。
当我运行localectl status
我得到以下内容:
System Locale: LANG=en_GB.UTF-8 LC_NUMERIC=sv_SE.UTF-8 LC_TIME=sv_SE.UTF-8 LC_MONETARY=sv_SE.UTF-8 LC_PAPER=sv_SE.UTF-8 LC_MEASUREMENT=sv_SE.UTF-8 VC Keymap: us X11 Layout: us
我没有设置VC Keymap: us
或x11 Layout: us
他们刚刚出现那样。 但其余的设置是我所期望的那样。
然而,我的主要问题是时间。 LC_TIME=sv_SE.UTF-8
的设置似乎对系统时间没有影响,这意味着我的所有服务时钟都closures了两个小时,报告UTC时间而不是CEST时间。 这对时间敏感的服务造成问题。
我对其余的设置并不是很在意,尽pipe我可以告诉他们似乎是正确的,但我确实需要系统时间是正确的。
当我运行date
我得到以下内容:
tis sep 20 12:44:38 UTC 2016
该文本应该是瑞典语,但时间是UTC而不是CEST。
我怎样才能解决这个问题?
尽pipe时区和区域设置通常都是由您所在的位置决定的,但时区并不是区域设置的一部分。 它使用不同的env var, TZ
– 检查是否设置了什么。 如果没有设置,系统默认(对于CentOS)是文件/etc/localtime
,它应该从你想要的任何/usr/share/zoneinfo/**
文件中复制,在你的情况下大概是Europe/Stockholm
。