Изменение часового пояса в 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.

Обратите внимание на UTC вLocal time

Любая причина, почему это может быть?

Я сделал много Googling, но моя проблема, кажется, отличается от них всех :(

Вот еще несколько деталей:

# 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

Настройка export TZ='Australia/Adelaide';в my /etc/profileделает dateработу по умолчанию в сеансе bash, но не меняет дату системного журнала (после перезапуска службы)

Редактировать:

# 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

Ответы:


22

Попробуйте так:

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

cp /usr/share/zoneinfo/Australia/Adelaide /etc/localtimeне изменяйте ничего для меня :( местное время по-прежнему UTC, я добавил то, что ls -l /etc/localtimeговорит также.

2
Почему вы создали символическую ссылку там? Вам нужно скопировать один файл ... Исправьте это, удалив символическую ссылку "rm / etc / localtime" и выполните команду cp, как я написал "cp / usr / share / zoneinfo / Australia / Adelaide / etc / localtime" ;-)

символическая ссылка была там по умолчанию .. может быть, вещь под ключ или что-то. mv /etc/localtime /etc/localtime.old cp /usr/share/zoneinfo/Australia/Adelaide /etc/localtimeисправил проблему :) Спасибо!
complistic

2
Я думаю, что копирование неправильно. Что если файл zoneinfo изменится? Если / etc / localtime является символической ссылкой (она есть в Debian), вы перезаписываете какой-то другой файл zoneinfo.
XTF

32

Я думаю, что лучший способ достичь этого - выполнить:

sudo dpkg-reconfigure tzdata

+1, это определенно правильный способ сделать это в системах Debian.
jhauris

2
Да, это dpkg-reconfigure tzdataбыло первое, что я попробовал. Это не сработало для меня, потому /etc/localtimeчто по какой-то причине было символической ссылкой. После исправления, оба пути будут правильно менять часовой пояс.
complistic

да! Кажется, что так думают, но я использую Debian в Docker-контейнере ... тогда что?
супергерой

-1

Установите время автоматически, используя «Сетевой протокол времени». Используйте следующую команду для установки ntp на debian.

$ sudo apt-get установить ntp

Для получения подробной информации, пожалуйста, прочитайте документацию https://wiki.debian.org/DateTime


Лучше предоставить шаги здесь, и использовать ссылку в качестве ссылки для более подробной информации. Таким образом, ваш ответ не теряет всю свою ценность, когда ссылка становится недействительной.
Anthon
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.