タイムゾーンの設定
タイムゾーンの設定
NTPサーバの設定の際に時刻同期を行ったつもりだが、どうも正しい時刻を表示してくれない。そこで、dateコマンドの実行結果を確認してみると、タイムゾーンの設定が必要そうなことが分かった。
date
Sun Nov 15 05:59:40 PST 2015
上記dateコマンドの結果ではタイムゾーンがPST、つまり太平洋時間(日本時間 -17)を示していることになる。以下のようにアメリカ西海岸の標準時間であるらしい。
太平洋標準時(たいへいようひょうじゅんじ、Pacific Standard Time: 略称PST)は、西海岸標準時(にしかいがんひょうじゅんじ)ともいい、協定世界時(UTC)を8時間遅らせた、主にアメリカ西海岸の地域の標準時である。「-0800(PST)」のように表示する。
なお、夏時間では協定世界時より7時間遅れ、太平洋夏時間(Pacific Daylight Time: 略称PDT)と呼ばれている。
時刻設定を行うためには、下記の2つのクロックを意識する必要がある。
・システムクロック
PC上の時刻は、システムクロックによって管理されており、ファイルやフォルダのタイムスタンプや、時計やカレンダーの表示の際に利用される。
このシステムクロックは、メモリ上で管理されているため、OSのシャットダウンによって消滅してしまう。
そこで、電源を切っても時刻情報を維持し続けるためにハードウェアクロックが存在し、マザーボード上でバックアップ電池等により動き続けている。
・ハードウェアクロック
システムクロックの説明の際に記載したように、マザーボードで管理されている時刻情報であり、PCの電源を切っても動き続ける。
秒、分、時、曜日、月、年といった時刻情報をバイトデータで保持しているが、タイムゾーンを識別するための情報は保持しておらず、OS側でその解釈を行っている。
その解釈は、/etc/sysconfig/clockファイルによって行われている。
ハードウェアクロックのことを考えると、/etc/localtimeの修正だけでなく、/etc/sysconfig/clockの修正も必要なようだ。
cp /usr/share/zoneinfo/Japan /etc/localtime
vi /etc/sysconfig/clcok
ZONE="Asia/Tokyo"
date
Sun Nov 15 23:53:02 JST 2015
これで正しい時刻を表示することができた。
参考
今回の記事を書くにあたって参考・引用させて頂いたブログなど。