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

これが何か理由はありますか?

私は多くのグーグルをしましたが、私の問題はそれらのすべてとは異なるようです:(

詳細を次に示します。

# 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作るのdatebashのセッションでは、デフォルトで動作しますが、(サービスを再起動した後)システムログの日付を変更しません。

編集:

# 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

回答:

jamzedのおかげでうまくいきました。何らかの理由で/ etc / localtimeをシンボリックリンクとして使用していました...ここのIT Guyは、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/localtimeDITは私のために何も変更していない:(現地時間はまだUTCですが、私は何を追加しているls -l /etc/localtimeにも述べています。

2
なぜそこにシンボリックリンクを作成したのですか?1つのファイルをコピーする必要があります...シンボリックリンク「rm / etc / localtime」を削除して修正し、「cp / usr / share / zoneinfo / Australia / Adelaide / etc / localtime」を

シンボリックリンクはデフォルトでそこにありました。多分ターンキーのものか何か。mv /etc/localtime /etc/localtime.old cp /usr/share/zoneinfo/Australia/Adelaide /etc/localtime問題を修正しました:)ありがとうございます!
共力主義

2
コピーは間違っていると思います。zoneinfoファイルが変更された場合はどうなりますか?/ etc / localtimeがシンボリックリンク(Debianにある)の場合、他のzoneinfoファイルを上書きします。
XTF

32

これを達成するための最良の方法は、以下を実行することだと思います。

sudo dpkg-reconfigure tzdata

+1、これは間違いなくdebianシステムでそれを行う正しい方法です。
ジャウリス14年

2
うん、dpkg-reconfigure tzdata私が試した最初のものだった。/etc/localtime何らかの理由でシンボリックリンクだったので、私にとってはうまくいきませんでした。修正すると、両方の方法でタイムゾーンが正しく変更されます。
14

はい!pplはそう考えているようですが、ドッカーコンテナでdebianを使用しています。
スーパーヒーロー

-1

「Network Time Protocol」を使用して自動的に時刻を設定します。次のコマンドを使用して、debianにntpをインストールします。

$ sudo apt-get install ntp

詳細については、ドキュメントhttps://wiki.debian.org/DateTimeをご覧ください。


ここに手順を記載し、詳細を参照するためにリンクを使用することをお勧めします。そうすれば、リンクが無効になったときにあなたの答えがすべての価値を失うことはありません。
アントン14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.