新しいCentos 8システムでは、このコマンドはdate
タイムゾーンが正しく設定され、正しいTZデータファイルを指してもtimedatectl
多く/etc/localtime
のタイムゾーンを表示しません。
たとえば、
# timedatectl set-timezone Asia/Tokyo
# date
Thu May 7 19:18:34 JST 2020
# timedatectl set-timezone Asia/Singapore
# ls -ld /etc/localtime
lrwxrwxrwx 1 root root 36 May 7 18:16 /etc/localtime -> ../usr/share/zoneinfo/Asia/Singapore
# date
Thu May 7 18:18:18 +08 2020
最初の場合は「JST」が正しく表示されますが、2番目の場合は「SGT」の代わりに「+08」が表示されます。
Centos 6では、タイムゾーン名が正しく表示されます。別のパッケージをインストールする必要がありますか?
私を編集する
リクエストに応じてバイナリースター、「シンガポール」を直接指定してみました。喜びはありません。
# timedatectl set-timezone Singapore
# date
Thu May 7 20:52:53 +08 2020
# ls -ld /etc/localtime
lrwxrwxrwx 1 root root 31 May 7 20:52 /etc/localtime -> ../usr/share/zoneinfo/Singapore
実際、多くのタイムゾーンが数値オフセットだけで報告されます。コンテンツに対してスクリプトを実行しましたが、/etc/zoneinfo/Asia
70時間帯の問題が発生しました...
Aden Thu May 7 16:06:44 +03 2020
Almaty Thu May 7 19:06:44 +06 2020
Anadyr Fri May 8 01:06:44 +12 2020
Aqtau Thu May 7 18:06:44 +05 2020
Aqtobe Thu May 7 18:06:44 +05 2020
Ashgabat Thu May 7 18:06:44 +05 2020
Ashkhabad Thu May 7 18:06:44 +05 2020
Atyrau Thu May 7 18:06:44 +05 2020
Baghdad Thu May 7 16:06:44 +03 2020
Bahrain Thu May 7 16:06:44 +03 2020
Baku Thu May 7 17:06:44 +04 2020
Bangkok Thu May 7 20:06:44 +07 2020
Barnaul Thu May 7 20:06:44 +07 2020
Bishkek Thu May 7 19:06:44 +06 2020
Brunei Thu May 7 21:06:44 +08 2020
Chita Thu May 7 22:06:44 +09 2020
Choibalsan Thu May 7 21:06:44 +08 2020
Colombo Thu May 7 18:36:44 +0530 2020
Dacca Thu May 7 19:06:44 +06 2020
Dhaka Thu May 7 19:06:44 +06 2020
Dili Thu May 7 22:06:44 +09 2020
Dubai Thu May 7 17:06:44 +04 2020
Dushanbe Thu May 7 18:06:44 +05 2020
Ho_Chi_Minh Thu May 7 20:06:44 +07 2020
Hovd Thu May 7 20:06:44 +07 2020
Irkutsk Thu May 7 21:06:44 +08 2020
Istanbul Thu May 7 16:06:44 +03 2020
Kabul Thu May 7 17:36:44 +0430 2020
Kamchatka Fri May 8 01:06:44 +12 2020
Kashgar Thu May 7 19:06:44 +06 2020
Kathmandu Thu May 7 18:51:44 +0545 2020
Katmandu Thu May 7 18:51:44 +0545 2020
Khandyga Thu May 7 22:06:44 +09 2020
Krasnoyarsk Thu May 7 20:06:44 +07 2020
Kuala_Lumpur Thu May 7 21:06:44 +08 2020
Kuching Thu May 7 21:06:44 +08 2020
Kuwait Thu May 7 16:06:44 +03 2020
Magadan Fri May 8 00:06:44 +11 2020
Muscat Thu May 7 17:06:44 +04 2020
Novokuznetsk Thu May 7 20:06:44 +07 2020
Novosibirsk Thu May 7 20:06:44 +07 2020
Omsk Thu May 7 19:06:44 +06 2020
Oral Thu May 7 18:06:44 +05 2020
Phnom_Penh Thu May 7 20:06:44 +07 2020
Qatar Thu May 7 16:06:44 +03 2020
Qostanay Thu May 7 19:06:44 +06 2020
Qyzylorda Thu May 7 18:06:44 +05 2020
Rangoon Thu May 7 19:36:44 +0630 2020
Riyadh Thu May 7 16:06:44 +03 2020
Saigon Thu May 7 20:06:44 +07 2020
Sakhalin Fri May 8 00:06:44 +11 2020
Samarkand Thu May 7 18:06:44 +05 2020
Singapore Thu May 7 21:06:44 +08 2020
Srednekolymsk Fri May 8 00:06:44 +11 2020
Tashkent Thu May 7 18:06:44 +05 2020
Tbilisi Thu May 7 17:06:44 +04 2020
Tehran Thu May 7 17:36:44 +0430 2020
Thimbu Thu May 7 19:06:44 +06 2020
Thimphu Thu May 7 19:06:44 +06 2020
Tomsk Thu May 7 20:06:44 +07 2020
Ulaanbaatar Thu May 7 21:06:44 +08 2020
Ulan_Bator Thu May 7 21:06:44 +08 2020
Urumqi Thu May 7 19:06:44 +06 2020
Ust-Nera Thu May 7 23:06:44 +10 2020
Vientiane Thu May 7 20:06:44 +07 2020
Vladivostok Thu May 7 23:06:44 +10 2020
Yakutsk Thu May 7 22:06:44 +09 2020
Yangon Thu May 7 19:36:44 +0630 2020
Yekaterinburg Thu May 7 18:06:44 +05 2020
Yerevan Thu May 7 17:06:44 +04 2020
編集2
の回答アニスク彼はタイムゾーンのデータが「tzdataパッケージで提供されるので、日付出力はこのパッケージに依存します」と述べました。
タイムゾーン名はCentos 6にはありますが、Centos 8にはありません。それでは、これはtzdata
パッケージにバグがあることを意味しますか?
セントース6:
$ zdump /usr/share/zoneinfo/Asia/Singapore
/usr/share/zoneinfo/Asia/Singapore Fri May 15 08:25:58 2020 SGT
$ yum list installed | grep tz
tzdata.noarch 2015d-1.el6 installed
tzdata-java.noarch 2015d-1.el6 installed
セントース8:
$ zdump /usr/share/zoneinfo/Asia/Singapore
/usr/share/zoneinfo/Asia/Singapore Fri May 15 08:52:30 2020 +08
$ yum list installed | grep tz
tzdata.noarch 2019c-1.el8 @anaconda
tzdata-java.noarch 2019c-1.el8 @AppStream
答え1
date
/etc/localtime
このコマンドは、ディレクトリ内のファイルを指すタイムゾーンデータファイルから名前を取得します/usr/share/zoneinfo/
。内容を読むときシンガポールあなたが見ることができるタイムゾーンタイムゾーン名はい+08そしてタイムゾーン名アジア/東京はい日本科学技術協会:
(zdump
コマンドはタイムゾーンダンパーです)
$ zdump /usr/share/zoneinfo/Asia/Singapore
/usr/share/zoneinfo/Asia/Singapore Thu May 14 06:53:21 2020 +08
$ zdump /usr/share/zoneinfo/Asia/Tokyo
/usr/share/zoneinfo/Asia/Tokyo Thu May 14 07:53:31 2020 JST
これらのファイルはtzdata
パッケージから提供されるため、出力はdate
このパッケージによって異なります。
答え2
IANA(Internet Assigned Numbers Authority)は、2017年に多くの国のタイムゾーン命名ポリシーを変更したようです。変更がtzdata
データベースに反映され、rpmに伝播されたようです。
発売日 2017a - 2017-02-28 00:05:36 -0800
[...]
過去および将来のタイムゾーンの略語の変更
南アメリカでは、考案された略語を削除するための進行中のプロジェクトの一環として、数字時間帯の略語に切り替えています。これにより、新しいチリ地域の略語を作成する必要がなくなります。同様に、アフガニスタン、アメリカ領サモア、アゾレス諸島、バングラデシュ、ブータン、イギリス領インド洋地域、ブルネイ、カボベルデ、チャタム諸島、クリスマス1世、ココス(キリング)諸島、クック諸島、ドバイが発明した時間帯略語が数字時間帯略語で変わり、東ティモール、ユークラ、フィジー、フランス領ポリネシア、グリーンランド、インドシナ、イラン、イラク、キリバス、ロードハウ島、マッコーリー、マレーシア、モルディブ、マーシャル諸島、モーリシャス、ミクロネシア、モンゴル、ミャンマー、ナウル、ネパール、ニューカレドニア、ニウエ、ノーフォーク島、パラオ、パプアニューギニア、フィリピン、ピットケアン、カタール、レウィニオン島、サンピエールミクロン、サモア、サウジアラビア、セイシェル、 シンガポール、ソロモン諸島、トケラウ、ツバル、ウェイク島、バヌアツ、ウォリスプトゥーナ諸島、腎臓。 1943年以前のベリーズと1975年以前のドミニカ共和国の夏時間30分。 1946年、1975年以前のギニビサウ、1969年以前のアイスランド、1942年以前のインドの夏時間、1964年以前のインドネシア、1960年以前のケニア、1973年以前のリベリア、1967年以前のマデイラ、1943年1939年以前のオランダ、1971年以前のパキスタン、西部1977年以前のサハラと1880年から1924年までのジャポロゼ。