Linux豆知識 186

「/etc/localtime」ファイル

このエントリーをはてなブックマークに追加
今回は、「/etc/localtime」ファイルについて。「/etc/timezone」ファイルについても少しだけ触れます。

「/etc/localtime」ファイルは、タイムゾーンを設定するファイルです。日本であれば特段の事情がない限り「日本標準時(JST)」を指定することになります。通常は、OSをインストールする際に自動的に設定されますので、意識する機会が少ないでしょう。

「/etc/localtime」ファイルは、バイナリ形式のファイルですので、中を見ても意味はわかりません(中身を参照するにはstringsコマンドを利用することになります)。しかし、タイムゾーンを変更するためには、このファイルを編集する必要があります(そのような機会は滅多にないと思いますが・・・)。その際は、「/usr/share/zoneinfo/」ディレクトリにあるファイルをコピーする必要があります。

○/etc/localtimeのファイル形式を確認
# file /etc/localtime
/etc/localtime: timezone data, version 2, 3 gmt time flags, 3 std
time flags, no leap seconds, 9 transition times, 3 abbreviation
chars

「/usr/share/zoneinfo/」ディレクトリには、各タイムゾーンに対応したファイルが格納されています。lsコマンドで確認してみましょう。

○/usr/share/zoneinfoディレクトリ内の確認
$ ls /usr/share/zoneinfo/
Africa      Canada   GB         Indian     Mexico    ROK        iso3166.tab
America     Chile    GB-Eire    Iran       NZ        Singapore  posix
Antarctica  Cuba     GMT        Israel     NZ-CHAT   Turkey     posixrules
(略)

「Africa」「America」「Asia」などのディレクトリや、「GMT」などのファイルが見えると思います。ディレクトリの下には、その地域のファイルが格納されています。JSTであれば「/usr/share/zoneinfo/Asia/Tokyo」ファイルになります。

「/etc/localtime」には、このファイルの中身をコピーするか、シンボリックリンクを張ることになります。作業例を以下に示します。

○/etc/localtimeの設定例
# date
Wed Dec  12 04:14:10 GMT 2015                       ←「GMT」で表示
# cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime  ←ファイルコピー
# date
Wed Dec  12 13:15:11 JST 2015                       ←「JST」で表示

さて、「/etc/localtime」とは別に、Debian系のLinuxディストリビューションでは「/etc/timezone」ファイルが利用されています。このファイルはテキストファイルで、中身は単純明快です。

○/etc/timezoneの確認
$ cat /etc/timezone
Asia/Tokyo

こちらには、「/usr/share/zoneinfo/」ディレクトリ内の「ファイル名」を指定することで、タイムゾーンを設定することになります。
なお、systemd環境ではtimedatectlコマンドを利用して設定を行うことができますので、こちらもチェックしておきましょう。

ページトップへ