時間の確認
タイムゾーンは初期設定はUTCであるため、時刻を表示すると日本時間から9時間ずれた時刻が表示される。
$ date
Mon Mar 11 11:47:15 UTC 2019
$ timedatectl
Local time: Mon 2019-03-11 11:52:48 UTC
Universal time: Mon 2019-03-11 11:52:48 UTC
RTC time: Mon 2019-03-11 11:52:49
Time zone: Etc/UTC (UTC, +0000)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no
タイムゾーン設定
タイムゾーン設定を変更することで日本標準時を標準とすることができる。
タイムゾーン設定は以下の2つで管理されている。
- /etc/timezone
- /etc/localtime
それぞれ確認すると、
$ ls -l /etc/localtime
lrwxrwxrwx 1 root root 27 Oct 7 16:27 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC
$ cat /etc/localtime
TZif2UTCTZif2・TC
UTC0
/etc/localtimeは/usr/share/zoneinfo/Etc/UTCへのシンボリックリンクとなっており中身はよくわからない文字列とUTC0という文字列。
$ ls -l /etc/timezone
-rw-r--r-- 1 root root 8 Oct 7 16:27 /etc/timezone
$ cat /etc/timezone
Etc/UTC
/etc/timezoneはEtc/UTCと書かれているのみ。
タイムゾーン一覧
/usr/share/zoneinfo/にはタイムゾーンの設定値が格納されている。ディレクトリの階層になっていたり、シンボリックリンクになっていたりするものもある。
$ ls /usr/share/zoneinfo/
Africa Cuba GMT0 Japan Pacific Turkey
America EET GMT-0 Kwajalein Poland UCT
Antarctica Egypt GMT+0 leap-seconds.list Portugal Universal
Arctic Eire Greenwich Libya posix US
Asia EST Hongkong localtime posixrules UTC
Atlantic EST5EDT HST MET PRC WET
Australia Etc Iceland Mexico PST8PDT W-SU
Brazil Europe Indian MST right zone1970.tab
Canada Factory Iran MST7MDT ROC zone.tab
CET GB iso3166.tab Navajo ROK Zulu
Chile GB-Eire Israel NZ Singapore
CST6CDT GMT Jamaica NZ-CHAT SystemV
timedatectl list-timezones
で一覧を確認すると425種類あった。
タイムゾーン設定の変更
-dpkg-reconfigure tzdata
で変更
1.Asiaを選択して[Enter]
2.Tokyoを選択して[Enter]
変更後の中身を確認してみる。/etc/localtimeは/usr/share/zoneinfo/Asia/Tokyoへのシンボリックリンクに変更されている。
中身はこれまたよくわからない文字列とJST-9の文字列。どうやらバイナリデータらしい。
$ ls -l /etc/localtime
lrwxrwxrwx 1 root root 30 Mar 11 21:07 /etc/localtime -> /usr/share/zoneinfo/Asia/Tokyo
$ cat /etc/localtime
TZif2
彎p恪K獰・p挈-獻鞁〝樔碚
汨
LMTJDTJSTTZif2
・?p彎p恪K獰・p挈-獻鞁〝樔碚
汨
LMTJDTJST
JST-9
ちなみに/usr/share/zoneinfo/Asia/Tokyoもシンボリックリンクで実体は/usr/share/zoneinfo/Japanである。
$ ls -l /usr/share/zoneinfo/Asia/Tokyo
lrwxrwxrwx 1 root root 8 May 5 2018 /usr/share/zoneinfo/Asia/Tokyo -> ../Japan
$ ls -l /usr/share/zoneinfo/Japan
-rw-r--r-- 1 root root 318 May 5 2018 /usr/share/zoneinfo/Japan
/etc/timezoneはAsia/Tokyoという文字列に変更されている。
$ ls -l /etc/timezone
-rw-r--r-- 1 root root 11 Mar 11 21:07 /etc/timezone
$ cat /etc/timezone
Asia/Tokyo
-dpkg-reconfigure tzdata
を使わず手動で変更も可能。/usr/share/zoneinfo/の中身を間違って書き換えてしまわないように注意。
$sudo ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
$sudo nano /etc/timezone
変更後の確認
ローカルタイムが日本標準時(JST)になっていることを確認。
$ timedatectl
Local time: Mon 2019-03-11 21:19:04 JST
Universal time: Mon 2019-03-11 12:19:04 UTC
RTC time: Mon 2019-03-11 12:19:06
Time zone: Asia/Tokyo (JST, +0900)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no