В последнее время у меня возник ряд проблем с настройками локали и JVM. Но сейчас это больше, чем это. Сделал сегодня Yum update, все полностью обновил. Некоторое время этого не делали.
Все работает хорошо, за исключением того, что настройки языкового стандарта системы, похоже, были возвращены к времени 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
.