コマンドラインからタイムゾーン設定を変更する方法


221

PSTに設定された仮想マシンがあり、2人の同僚が異なるタイムゾーンにいます。

タイムゾーンをESTGMTに変更したい場合、どうすればよいですか?

回答:


288

つかいます timedatectl

sudo timedatectl set-timezone <timeszone>

例:

  • ESTとしてのタイムゾーン

    sudo timedatectl set-timezone EST
    
  • UTCとしてのタイムゾーン

    sudo timedatectl set-timezone UTC
    
  • すべての有効なタイムゾーンのリスト

    timedatectl list-timezones
    

このコマンドは、自動化スクリプトに最適です。これは、に基づく他の所定の回答と比較して、ユーザーとの対話を必要としないためですdpkg-reconfigure tzdata


1
+1コメントのファンではありませんが、これが私にとって最良の方法で機能したため、ここにコメントを1つ入れています。私は、メニューまたはGUIプログラムの全体を起動するのではなく、単一の1行のコマンドラインツールでタイムゾーンを変更したいと思っていました(何tzdataが、どのように機能するのかわかりませんが、これをする必要はありません1行のコマンド)。ありがとう!
フィルライアン

チャームのように動作します;)
user332660

興味深いことに、それはtzdataとは少し違うことをしています。パッチを適用した後、Javaの時間がシステムの時間と異なるという問題がありました。Tzdataは問題を修正するために機能しませんでしたが、これは機能しました。
ダニエルバウアー

1
これは私にはうまくいきませんでした。しかし、dpkg-reconfigureトリックをやった。
アンティハアパラ16

14.04.4 ubuntuサーバー
アンティハパラ

40

rootとして実行する必要があります:

dpkg-reconfigure tzdata

タイムゾーンを変更できるメニューベースのツールを起動する必要があります。


32

以下も機能します。GMTの場合:

ln -sf /usr/share/zoneinfo/GMT /etc/localtime

森林:

ln -sf /usr/share/zoneinfo/EST /etc/localtime

8
GMTまたはESTよりも都市ファイルの1つをリンクする方が良いと思う、それは彼らが夏時間を追跡するのに対し、(例えば)GMTをリンクすることは夏時間が有効なときに反映するためにシステム時間を変更しないあなたの街で。例:ln -sf /usr/share/zoneinfo/Europe/London /etc/localtime
Asfand Qazi

これは最高です
ハサンTıngır18年

16

特にサーバーにとって最も簡単な方法は、タイムゾーンをリストすることです。

timedatectl list-timezones

そして、あなたのものを選んでください、例えば:

timedatectl set-timezone Europe/Athens

それでおしまい!、:-)


6

異なるタイムゾーン設定で1つのプログラムを実行するには、TZ環境変数を設定します。たとえば、実行TZ=Pacific/Kiritimati dateしてクリスマスアイランドの何時かを確認したりexport TZ=Pacific/Kiritimati、シェルセッションの設定を最後にしたりします。


6

フォルダーのtimezoneファイルを次のように編集します/etc

Etc/GMT

次の形式を使用できます。

Region "/" City 

/etc/timezone

Europe/Athens

または

Europe/Paris
Europe/London

以下を試してみてdpkg-reconfigure tzdata 、タイムゾーンファイルのcatを確認してください。

再起動するか、サービス(ntpサービスではない)を再起動する必要があります。私はどれを知りません。誰かが知っているなら、私たちと共有してください。(Ubuntu 15.10でテスト済みで、変更は即座に考慮されます)


4
cp -p /usr/share/zoneinfo/US/Pacific /etc/localtime

他の人が言ったようにリンクしないように勧めます。何らかのスクリプトが誤って/etc/localtimeファイルを上書きした場合、太平洋のタイムゾーンファイルが上書きされます...これを置き換えるのは少し面倒です。

上記のコマンドを使用して、太平洋時間ファイルを現地時間ファイルにコピーするだけです。


これは実際に私のために働いた。Dockerにはバグがあると思います(?)。timedatectlとdpkg-reconfigure tzdataの両方が失敗しました。コピーした後、タイムゾーンはESTからPDTに変更されました。

2

次のスクリプトを使用して、設定するタイムゾーンをユーザーに尋ね、実際に設定されていることを確認します。

#!/bin/sh
sudo timedatectl set-timezone $(tzselect)
echo
echo timedatectl says:
timedatectl

私はそれを呼び出しますtz-set


0

rootとして実行する必要があります:

ln -fs /usr/share/zoneinfo/Europe/Warsaw /etc/localtime && dpkg-reconfigure --frontend noninteractive tzdata


少なくともこのコマンドがタイムゾーンを変更するためにどのように機能するか説明してください。
パート

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.