前提知識
zoneinfo
timezone の設定は /usr/share/zoneinfo/
フォルダ配下に
地域名/都市名
という形で定義ファイルがあるので、そこから選んで /etc/timezone
ファイルに 地域名/都市名
を記載する形で設定します
例えば日本時間(UTC+9.00)を設定しようとおもうと usr/share/zoneinfo/Asia
に Tokyo
というファイルがあるので /etc/timezone
に Asia/Tokyo
と書きます
なぜ国名じゃないのか
wikiによると政治的な変更や国境変更は頻繁にあるため国名を利用するスキームではデータの更新作業が煩雑になることが挙げられる
というなんか要出典
って言いたくなっちゃう説明がありました
都市は国よりも不変 なんですかね
問題
で、ミャンマーのタイムゾーンを設定しようとしてまず現在(というか、これからと言うべきなのか)の首都 ネピドー を Asia の下で探します
Naypyidaw... Naypyidaw... やっぱないな
多分、最近まで首都だった ヤンゴン で登録されてるんでしょうね
Yangon... Yangon あれれ?ない???
どういう事???
念のために Mandalay もさがしてみるもののやっぱりない。ミャンマーに他に大きな都市って聞いたことが無いので本当にもうパニック状態
UTC+6:50 で設定しろということなのかな?と思って raspi-config の timezone 設定で None of the above
を見てみても GMT+6:00 と GMT+7:00 はあるけど GMT+6:50 がない
ミャンマーって Linux から無視されてる???
回答編
解決にいたる道
もしかしたら GMT+6.50 の国がミャンマーの近所にあって、そっちを設定することで workaround にしてくださいね、ってことなのかと思い、世界地図を見てみるもののよくわからない
こうなったら google 先生に聞いてみるしかない
zoneinfo myanmar
で検索するも、めぼしい情報がでてこない
だんだん半泣きになってきます
zoneinfo UTC+6.50
で検索したところ、やっと こちらがでてきました...が、
なんとそこには 衝撃の事実! が
[Asia/Rangoon] | ミャンマー時間 | +6.50 |
---|
あのー、ラングーンってどこですか???
なんと! ヤンゴン って 何十年も前まで(1989年まで) は ラングーン という名前だったんだそうです!って、そんな昔の事、知りませんがな!1989年ってまだ世の中がメインフレームな時代、都立大学が都立大学駅にあったほど大昔の事じゃないですか
都市は国より不変 って全然 そんなことないじゃん
回答
というわけで、RPi を Myanmar でつかうための timezone の設定は
Asia/Rangoon
になります
めでたしめでたし
感想
私の半日をかえせ!
future works
Asia の下に Peking も Beijing もなかったりする所に一抹の不安を覚えるものの、当面、中国で仕事する予定はないので深入りしないことにする
ってか、この都市名を設定しろというクイズみたいなのが本当に便利なんだろうか?なんで UTC± なり JST や MMT で設定させてくれないんだろ?
2018.10.17 補足
不平を言ってるだけで終わるのも建設的じゃなくてかっこ悪いので 3G ドングルが接続している通信キャリアの国コードをみて linux の timezone を設定するスクリプトをこちらにご用意させていただきましたので、その旨、ご報告させていただきます次第です
ppp で通信はじめる前の tty がまだ busy じゃない時に呼び出していただければと存じます
ミャンマー、セネガル、日本で実際に機能いたしました事、合わせてご報告させていただきます次第です
ちなみに U.S. とかロシアとかインドネシアとか、複数のタイムゾーンがある国もあるので、この方法は万能ではないんですよね
という事もあって萎えちゃってたまたま作業した前述の3カ国のテーブルしか用意してない のですが、 fork して 国コード(MCC, Mobile Cantry Code といいます) を追加して使っていただく事が叶えましたら光栄の極みですし、pull request まで賜りましょうものならもう至福の至りでございます
もしくは「追加して」というリクエストだけでも こちらにいただければ avec plaisir でご対応させていただきます次第です