このブログ記事をご覧ください:方法:Linux で TimeZone を変更する 2 つの方法
Red Hat ディストリビューション
Red Hat などのディストリビューションを使用している場合、ファイルをコピーするアプローチはほとんど受け入れられます。
注: ディストリビューションにとらわれないソリューションを探している場合、これは Debian でも機能しますが、Debian マシンのみに関心を持つ必要がある場合は、以下のより簡単なアプローチがあります。
$ ls /usr/share/zoneinfo/
Africa/ CET Etc/ Hongkong Kwajalein Pacific/ ROK zone.tab
America/ Chile/ Europe/ HST Libya Poland Singapore Zulu
Antarctica/ CST6CDT GB Iceland MET Portugal Turkey
Arctic/ Cuba GB-Eire Indian/ Mexico/ posix/ UCT
Asia/ EET GMT Iran MST posixrules Universal
Atlantic/ Egypt GMT0 iso3166.tab MST7MDT PRC US/
Australia/ Eire GMT-0 Israel Navajo PST8PDT UTC
Brazil/ EST GMT+0 Jamaica NZ right/ WET
Canada/ EST5EDT Greenwich Japan NZ-CHAT ROC W-SU
ただし、コピーするよりもリンクすることをお勧めします。
$ sudo unlink /etc/localtime
$ sudo ln -s /usr/share/zoneinfo/Etc/GMT+6 /etc/localtime
現在、日付は別のタイムゾーンを示しています:
$ date -u
Thu Jan 23 05:40:31 UTC 2014
$ date
Wed Jan 22 23:40:38 GMT+6 2014
Ubuntu/Debian ディストリビューション
これらのディストリビューションのいずれかでタイムゾーンを変更するには、次のコマンドを使用できます:
$ sudo dpkg-reconfigure tzdata
$ sudo dpkg-reconfigure tzdata
Current default time zone: 'Etc/GMT-6'
Local time is now: Thu Jan 23 11:52:16 GMT-6 2014.
Universal Time is now: Thu Jan 23 05:52:16 UTC 2014.
確認してみましょう:
$ date -u
Thu Jan 23 05:53:32 UTC 2014
$ date
Thu Jan 23 11:53:33 GMT-6 2014
注: Ubuntu 14.04以降には、単一のコマンドでこのオプションもあります(ソース:Ask Ubuntu - ターミナルからタイムゾーンを設定):
$ sudo timedatectl set-timezone Etc/GMT-6
「Etc/GMT+6」の使用について
SO に関する @MattJohnson の回答からの抜粋
<ブロック引用>
Etc/GMT+6
のようなゾーン POSIX 標準との下位互換性のために意図的に逆になっています。このファイルのコメントを参照してください。
これらのゾーンを使用する必要はほとんどありません。代わりに、America/New_York
のような完全な名前のタイム ゾーンを使用する必要があります。 または Europe/London
またはあなたの場所に適したものなら何でも。こちらのリストを参照してください。
これが私がUbuntuで行う方法です。 Asia/Tokyo
を置き換えるだけです
echo 'Asia/Tokyo' | sudo tee /etc/timezone
sudo dpkg-reconfigure -f noninteractive tzdata
tzdata
にバグがあります :特定の値は dpkg-reconfigure
で正規化されます :
echo 'US/Central' >/etc/timezone
dpkg-reconfigure -f noninteractive tzdata
# Current default time zone: 'America/Chicago'
echo 'US/Eastern' >/etc/timezone
apt-get install --reinstall tzdata
# Current default time zone: 'America/New_York'
tzselect コマンドは、あなたがやりたいことをするために作られています。