タイムゾーンについて

  • フォーラムは新サイトへ移行しました。
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 | 投稿日時 2014-4-22 13:40
shizu8878  半人前   投稿数: 9
タイムゾーンの設定方法 問題ID: 9899


/etc/localtimeに/usr/share/zoneinfo/のバイナリファイルをコピー、もしくはシンボリックを作成

/etc/timezoneファイルにタイムゾーンの値を設定

上記についてご質問です。
/etc配下にタイムゾーンが設定できるファイルが
/etc/local/timeと/etc/timezoneの2つあるということでしょうか?

ubuntuで検証できなかったのでご教示頂きたいのですが
etc配下のどちらか一方のファイルにタイムゾーンを設定すれば
良いと思うのですが、そもそも何故二つあるんでしょうか?

/usr/share/zoneinfoのバイナリファイルには何が書かれているのでしょうか?色々なタイムゾーンがあるのに、localtimeにコピーしただけで、なぜタイムゾーンが設定できるのでしょうか?

上手く伝えられず申し訳ありませんが、よろしくお願いいたします。
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014-4-22 14:57 | 最終変更
arashi1977  長老 居住地: 広島  投稿数: 1715
引用:
/etc配下にタイムゾーンが設定できるファイルが
/etc/local/time/etc/localtimeと/etc/timezoneの2つあるということでしょうか?

ubuntuで検証できなかったのでご教示頂きたいのですが
etc配下のどちらか一方のファイルにタイムゾーンを設定すれば
良いと思うのですが、そもそも何故二つあるんでしょうか?
ざっと確認したところ、Debianでは/etc/timezoneも参照するようです。
TimeZoneChanges - Debian Wiki
引用:
Check Configured Timezone
(略)
In Debian releases Etch and later, /etc/localtime is a copy of the original data file. Check the contents of /etc/timezone to see the name of the timezone. If the system is configured normally, you should find that the zoneinfo file referenced by this name is identical to /etc/localtime. For example, you can verify this by running:


$ diff -s /etc/localtime /usr/share/zoneinfo/`cat /etc/timezone`
Files /etc/localtime and /usr/share/zoneinfo/America/New_York are identical
/etc/timezoneファイルの中にはタイムゾーンファイル名(日本ならJapan)などが書かれていることを期待しているようです。
手元のCentOS 6.4およびVineLinuxで確認しましたが/etc/timezoneファイルは存在しなかったのでDebianの流儀かもしれません。

引用:
/usr/share/zoneinfoのバイナリファイルには何が書かれているのでしょうか?
以下の通り、中にタイムゾーン関連の情報が書かれています。

# od -t x4z /etc/localtime
0000000 66695a54 00000032 00000000 00000000  >TZif2...........<
0000020 00000000 03000000 03000000 00000000  >................<
0000040 09000000 03000000 0c000000 7085cec3  >...............p<
0000060 901e3ed7 8016ecd7 9016f9d8 80f8cbd9  >.>..............<
0000100 101d07db 80daabdb 10ffe6dc 80bc8bdd  >................<
0000120 01020102 01020102 7e000002 00000090  >...........~....<
0000140 01a08c00 7e000004 43080090 4a00544a  >.......~...CJT.J<
0000160 4a005444 00005453 00000000 695a5400  >DT.JST.......TZi<
0000200 00003266 00000000 00000000 00000000  >f2..............<
0000220 00000000 00000005 00000005 00000000  >................<
0000240 0000000b 00000005 ffffff10 a4c265ff  >.............e..<
0000260 ffffff70 e3ce74ff ffffff70 85cec3ff  >p....t..p.......<
0000300 ffffff70 1e3ed7ff ffffff90 16ecd7ff  >p.....>.........<
0000320 ffffff80 16f9d8ff ffffff90 f8cbd9ff  >................<
0000340 ffffff80 1d07dbff ffffff10 daabdbff  >................<
0000360 ffffff80 ffe6dcff ffffff10 bc8bddff  >................<
0000400 04020180 04030403 04030403 03830000  >................<
0000420 00000000 0400907e 907e0000 00000800  >....~.....~.....<
0000440 0c01a08c 907e0000 4d4c0400 534a0054  >......~...LMT.JS<
0000460 4a430054 444a0054 01000054 00000000  >T.CJT.JDT.......<
0000500 00000001 54534a0a 000a392d           >.....JST-9.<
0000513
# od -t x4z /usr/share/zoneinfo/Singapore
0000000 66695a54 00000032 00000000 00000000  >TZif2...........<
0000020 00000000 08000000 08000000 00000000  >................<
0000040 08000000 08000000 17000000 a3858386  >................<
0000060 904e67ba 60e40ac0 60e5b3ca 085f91cb  >.gN....`...`.._.<
0000100 f06d48d2 884dbaf7 08f59116 04030201  >.Hm...M.........<
0000120 07060405 5d610000 00000000 04007062  >......a]....bp..<
0000140 20670000 00000901 04002067 78690000  >..g ....g ....ix<
0000160 00000400 0f00907e 78690000 00001300  >....~.....ix....<
0000200 13008070 00544d53 544c414d 4c414d00  >p...SMT.MALT.MAL<
0000220 4a005453 53005453 00005447 00000000  >ST.JST.SGT......<
0000240 00000000 00000000 54000000 3266695a  >...........TZif2<
0000260 00000000 00000000 00000000 00000000  >................<
0000300 00090000 00090000 00000000 00090000  >................<
0000320 00090000 ff1b0000 7effffff ffa35336  >...........~6S..<
0000340 86ffffff ffa38583 baffffff ff904e67  >............gN..<
0000360 c0ffffff ff60e40a caffffff ff60e5b3  >......`.......`.<
0000400 cbffffff ff085f91 d2ffffff fff06d48  >....._......Hm..<
0000420 f7ffffff 00884dba 16000000 0108f591  >.....M..........<
0000440 05040302 08070506 5d610000 00000000  >..........a]....<
0000460 04005d61 70620000 00000800 0d012067  >a]....bp....g ..<
0000500 20670000 00000800 08007869 907e0000  >..g ....ix....~.<
0000520 00001300 17007869 80700000 4d4c1700  >....ix....p...LM<
0000540 4d530054 414d0054 4d00544c 54534c41  >T.SMT.MALT.MALST<
0000560 54534a00 54475300 00000000 00000000  >.JST.SGT........<
0000600 00000000 00000000 0a000000 2d544753  >............SGT-<
0000620 00000a38                             >8.<
0000622
こっちのほうがみやすいかな?
# strings /usr/share/zoneinfo/Japan
TZif2
TZif2
JST-9

引用:
色々なタイムゾーンがあるのに、localtimeにコピーしただけで、なぜタイムゾーンが設定できるのでしょうか?
上記のとおり、/usr/share/zoneinfo/タイムゾーンファイル の中にタイムゾーン情報が書き込まれているものを /etc/localtime(=自分の内部タイムゾーン)として参照するからです。

こんなんでいいのかな?
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014-4-23 13:41
shizu8878  半人前   投稿数: 9
arashi1977 さん、ご丁寧でとても的確なご回答ありがとうございました<(__)>
記載したファイル名も訂正して頂いてありがとうございます。

要は、Debian系ではどちらのファイルも設定の必要があると考えてよいのでしょうか。なので、「tzconfig」というコマンドが備わっているということなのでしょうかね。。誤認識でしたらすみません。。

またご回答から新たに派生した質問で申し訳ないのですが
ubuntuとはDebian系ではないのでしょうか…。Redhut系…?

XPの代わりに、ubuntuをインストールしましたが、ディストリビューションやパッケージについてよくわかっていませんでした。
ご質問させて頂いたタイムゾーンについてもですが、locateで現在の設定状況を確認したいのですが、CUIがところどころ文字化けしてしまいDebianの仕様なのかubuntuの仕様なのか個人の設定のせいなのか悩ましいです。。

愚痴ですみません笑。101は大分昔に受験して合格したのですが
完全に忘れてしまいました。勉強します。

検証して頂いた際のstringコマンドは初めて知りました。
本当に勉強になりました。本当にありがとうございました^^
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014-4-23 15:52 | 最終変更
arashi1977  長老 居住地: 広島  投稿数: 1715
引用:
またご回答から新たに派生した質問で申し訳ないのですが
ubuntuとはDebian系ではないのでしょうか…。Redhut系…?
Debian系で間違いないです。
ただ内部的にどうなってるかは見てないのでわかんないです…
(RedHat系/Slackware系しか触ってないもので

引用:
ご質問させて頂いたタイムゾーンについてもですが、locateで現在の設定状況を確認したいのですが、CUIがところどころ文字化けしてしまいDebianの仕様なのかubuntuの仕様なのか個人の設定のせいなのか悩ましいです。。
locale コマンド、ですかね?
もしそうなら、私の手元ではこういう出力になってます。
# locale
LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=
で、locateコマンド(わざとインストールしてません)を投入してわざと文字化けさせたらこんな感じになりました
# locate
-bash: locate: 繧ウ繝槭Φ繝峨′隕九▽縺九j縺セ縺帙s

文字化けといわれているのは
・X上のターミナルから
・CUI上から
・TeraTermなどのターミナルから
のどれかによって変わるかもしれません。特にTeraTermの場合だと文字コード設定変更で直せるかもしれませんしね
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014-4-23 18:05
shizu8878  半人前   投稿数: 9
arashi1977さん、度々ありがとうございます。
localeでした…。ご指摘ありがとうございます。
穴がなくても掘って入りたい気分です…

localeを実行したところ、arashi1977 さんと同様の結果が表示されました。

(CUIから)検証をしていると、たまに『■■■』というように
塗りつぶしのような感じで表示されるのですが、スペルミスの可能性が大いにありますね。。
(試験対策のためTabや矢印キーは使わないようにしていました)

また、『◆◆』や『■■』は、インストール時の問題?もあるそうなので、引き続きググって調べてみようと思います。

初心者質問にご丁寧にお答え頂き感謝します。
本当にありがとうございました!^^
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014-4-24 0:40
arashi1977  長老 居住地: 広島  投稿数: 1715
引用:
localeでした…。ご指摘ありがとうございます。
似たようなコマンドですし、ただの打ち間違いじゃないですか

引用:
localeを実行したところ、arashi1977 さんと同様の結果が表示されました。
じつはこれ、UTF-8な環境にTeraTermでつないで、受信文字コードをSJISにしたんです。
なので、これと同様の結果なんであれば文字コードの問題で間違いなさそうですね!

引用:
CUIから)検証をしていると、たまに『■■■』というように
塗りつぶしのような感じで表示されるのですが、スペルミスの可能性が大いにありますね。。
これもそうですが、CUIだと日本語表示可能なフォントが使用されていなければ■で表示される事があります。
英語表示で良ければ
export LANG=C
をやったうえでコマンド入力してみてください。

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.