Зміна часового поясу на 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

Будь-яка причина, чому це може бути?

Я багато зробив у Google, але моя проблема здається різною для всіх :(

Ось ще кілька деталей:

# 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';в моїй /etc/profileробить dateроботу за замовчуванням в Баш сесії , але не змінює дату системного журналу (після перезапуску служби)

Редагувати:

# 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 як символ посилання ... ІТ-хлопець тут налаштував сервер за допомогою "під ключ" 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/localtimedit нічого не змінить для мене :( місцевий час ще UTC, я додав те, що ls -l /etc/localtimeговорить також.

2
Чому ви створили там симпосилання? Вам потрібно скопіювати один файл ... Виправте це, видаливши символьне посилання "rm / etc / localtime" і зробіть cp, як я написав "cp / usr / share / zoneinfo / Australia / Adelaide / etc /

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

2
Я думаю, що копіювання неправильне. Що робити, якщо зміниться файл zoneinfo? Якщо / etc / localtime є символьним посиланням (воно знаходиться в Debian), ви перезаписуєте інший файл zoinfo.
XTF

32

Я думаю, що найкращий спосіб досягти цього - виконати:

sudo dpkg-reconfigure tzdata

+1, це, безумовно, правильний спосіб зробити це в debian системах.
jhauris

2
Так, dpkg-reconfigure tzdataбуло перше, що я спробував. Це не спрацювало для мене, тому що /etc/localtimeбуло символьною посиланням чомусь. Після встановлення, що обидва способи правильно змінить часовий пояс.
комплістний

так! ppl, здається, так думаю, але я використовую debian у контейнері docker .. тоді що?
супергерой

-1

Встановіть час автоматично, використовуючи "Мережевий протокол часу". Використовуйте наступну команду для встановлення ntp на debian.

$ sudo apt-get install ntp

Детальну інформацію можна прочитати в документації https://wiki.debian.org/DateTime


Краще надати тут кроки та використати посилання як посилання для отримання детальної інформації. Таким чином ваша відповідь не втрачає всієї її значення, коли посилання стає недійсним.
Антон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.