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