【Linux】CentOSのタイムゾーンを日本にする設定のやり方

タイムゾーン

LinuxのCentOSでタイムゾーンを日本にするにはどうすれば良いですか?

時刻が9時間ずれているようですが、何が間違っているのでしょうか?

と言った疑問がありましたので、Linuxのタイムゾーンについて、現役エンジニアの筆者がまとめます。

筆者はWindowsサーバーやLinuxサーバーの運用構築を11年間以上おこなってきました。その経験を元に知識を公開していきます!

目次

LinuxのCentOSでタイムゾーンを変更する方法

時間

LinuxのCentOSでタイムゾーンを変更する方法です。

関連するファイルは「/etc/localtime」です。このファイルをlsコマンドで見てみます。

[root@localhost ~]# ls -l /etc/localtime
lrwxrwxrwx. 1 root root 32  1月  7  2023 /etc/localtime -> ../usr/share/zoneinfo/Asia/Tokyo

「/etc/localtime」ファイルは「/usr/share/zoneinfo/Asia/Tokyo」のリンクになっています。

つまりタイムゾーンを変更するには、「/etc/localtime」のリンク先を変更してあげれば可能です。

タイムゾーンの設定コマンド

タイムゾーンの設定コマンドは「/etc/localtime」のリンク先を設定するコマンドlsになります。

Linuxのlsコマンドの詳細は以下の記事でまとめています。

アメリカのニューヨークに変更してみます。

[root@localhost ~]# ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime

タイムゾーンがアメリカのニューヨークになりました。

[root@localhost ~]# date
2024年  5月  2日 木曜日 11:19:46 EDT

タイムゾーンを日本に戻します。

[root@localhost ~]# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
[root@localhost ~]#
[root@localhost ~]# date
2024年  5月  3日 金曜日 00:22:06 JST

タイムゾーンが日本に戻りました。dateコマンドで確認しました。

Linuxのタイムゾーン一覧

Linuxのタイムゾーン一覧は「/usr/share/zoneinfo/」配下にあります。

[root@localhost ~]# ls /usr/share/zoneinfo/
Africa      Canada   GB         Indian     Mexico    ROK        iso3166.tab
America     Chile    GB-Eire    Iran       NZ        Singapore  leapseconds
Antarctica  Cuba     GMT        Israel     NZ-CHAT   Turkey     posix
Arctic      EET      GMT+0      Jamaica    Navajo    UCT        posixrules
Asia        EST      GMT-0      Japan      PRC       US         right
Atlantic    EST5EDT  GMT0       Kwajalein  PST8PDT   UTC        tzdata.zi
Australia   Egypt    Greenwich  Libya      Pacific   Universal  zone.tab
Brazil      Eire     HST        MET        Poland    W-SU       zone1970.tab
CET         Etc      Hongkong   MST        Portugal  WET
CST6CDT     Europe   Iceland    MST7MDT    ROC       Zulu

LinuxのCentOSでタイムゾーンでUTCからJSTに変更する方法

日本

Linuxのタイムゾーンの設定ファイルは以下がありました。

「/etc/localtime」

この設定ファイルをcatコマンドで見てみます。

[root@localhost ~]# cat /etc/localtime
TZi彎p恪Y靹・p挈;鞁鞁≒樔碚
                           汾
                               ~~JDTJSTTZif2
                                                e?p彎p恪Y靹・p挈;鞁鞁≒樔碚
                               汾
                                   LMTJDTJST
UTC0

文字化けしています。catで見れない時はstringsコマンドで見ます。

[root@localhost ~]# strings /etc/localtime
TZif2
TZif2
UTC0
[root@localhost ~]#

見れました。最終行にはUTC0となっています。

UTCとは協定された世界時刻の事で、全世界の基準になっています。日本とは9時間の差があります。

dateコマンドで確認します。

[root@localhost ~]# date
2024年  5月  2日 木曜日 15:01:54 UTC

UTCになっており9時間ずれています。

このファイルの「UTC0」を「JST-9」に変更します。viエディタで変更します。

viエディタの使い方については以下の記事で詳しく説明しています。

修正すると即時反映されます。再びdateコマンドで確認してみます。

[root@localhost ~]# date
2024年  5月  3日 金曜日 00:08:05 JST

UTCからJSTに変更になり9時間の差がなくなりました。

UTCの時刻を以下のコマンドで見る事も出来ます。

[root@localhost ~]# date --utc
2024年  5月  2日 木曜日 15:11:38 UTC

まとめ:LinuxのCentOSでタイムゾーンを変更する方法

時間

LinuxのCentOSでタイムゾーンを変更する方法

Linuxのタイムゾーンを変更するには、「/etc/localtime」のリンク先を変更してあげれば可能です。

「/etc/localtime」ファイルは「/usr/share/zoneinfo/Asia/Tokyo」のリンクになっています。

Linuxのタイムゾーン一覧は「/usr/share/zoneinfo/」配下にあります。

タイムゾーンを日本に変更するコマンド

[root@localhost ~]# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

タイムゾーンを確認するコマンド

dateコマンド

[root@localhost ~]# date
2024年  5月  3日 金曜日 00:30:57 JST

UTC(世界標準)の時刻を知りたい場合は「dateに–utc」オプションを使用すれば確認できる。

[root@localhost ~]# date --utc
2024年  5月  2日 木曜日 15:32:05 UTC
タイムゾーン

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次