我最近在语言环境设置和 JVM 方面遇到了一些问题。但这比现在更大。我今天做了一个 Yum 更新,对所有内容进行了全面更新。它已经有一段时间没有完成了。
一切都运行良好,除了系统区域设置似乎已恢复为 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
似乎对系统时间没有影响,这意味着我所有的服务时钟都关闭了两个小时,报告的是 UTC 时间而不是 CEST 时间。这会导致时间敏感的服务出现问题。
我对其余的设置并不在意,尽我所能告诉他们它们似乎是正确的,但我真的需要系统时间才能正确。
当我运行时,date
我得到以下信息:
tis sep 20 12:44:38 UTC 2016
文本应该是瑞典语,但时间是 UTC 而不是 CEST。
我怎样才能解决这个问题?
尽管时区和语言环境通常主要取决于您所在的位置,但时区不是语言环境的一部分。它使用不同的 env var,
TZ
--检查是否设置了什么。如果未设置,则系统默认值(对于 CentOS)是/etc/localtime
应该从/usr/share/zoneinfo/**
所需文件复制的文件,在您的情况下大概是Europe/Stockholm
.