search
LoginSignup
9

More than 3 years have passed since last update.

posted at

updated at

日時の設定 - Arch Linuxの最小限インストール直後の作業(2)

日時の設定は、インストール時またはArch Linuxの最小限インストールの完了直後に行うべき作業のひとつです。

時刻の設定にあたっては、Arch LinuxなどのOSではシステムクロックとハードウェアクロックという2種類の時計を使われていることが前提知識となります。

システムクロックは、OSが動作している間だけ時を刻みます。OSがブートするときに、ハードウェアクロックの日時をもとにシステムクロックが設定され、OSがシャットダウンするときにはシステムクロックの日時がハードウェアクロックに設定されます。ハードウェアクロックは、小型電池などを電源にして、コンピューターの電源が落ちている間も時を刻みます。

システムクロックは、NTP(Net Time Protocol)によってインターネット上のサーバーと同期することで、日時を正確に保つことができます。

現在の日時の設定は、timedatectlコマンドで確認できます。

[root@archlinux ~]# timedatectl
実行結果
           Local time: Wed 2018-10-24 08:17:31 UTC
       Universal time: Wed 2018-10-24 08:17:31 UTC
         RTC time: Wed 2018-10-24 08:17:32
        Time zone: UTC (UTC, +0000)
System clock synchronized: no
          NTP service: inactive
      RTC in local TZ: no

最小限インストール直後では、タイムゾーンが設定されていないため、日本時間と比べて9時間前にあたるUTC(協定世界時)の日時が表示されます。dateコマンドなどでも、UTCの日時が表示されます。

[root@archlinux ~]# date
実行結果
Wed Oct 24 08:17:50 UTC 2018

また、ハードウェアクロック(RTC: Real Time Clock)をローカルタイムにするかUTCにするかを設定するRTC in local TZは、通常はnoとなります。この設定は変更する必要はありません。Arch Linuxを含めたLinuxではハードウェアクロックはUTCに設定した方がトラブルが少ないとされています。詳細は、systemd環境におけるハードウェアクロック調整などを参照して下さい。

タイムゾーンの設定

timedatectlコマンドで、タイムゾーンを設定できます。

設定できるタイムゾーンの表示

timedatectl list-timezonesコマンドで設定できるタイムゾーンの一覧が表示されます。次のコマンドで、tokyoのタイムゾーンを表示できます。

[root@archlinux ~]# timedatectl list-timezones | grep -i tokyo
実行結果
Asia/Tokyo

タイムゾーンの設定

timedatectl set-timezoneコマンドでタイムゾーンを設定できます。次のコマンドで、タイムゾーンをAsia/Tokyoに設定します。

[root@archlinux ~]# timedatectl set-timezone Asia/Tokyo

設定後、日時の設定を確認します。

[root@archlinux ~]# timedatectl
実行結果
           Local time: Wed 2018-10-24 17:19:15 JST
       Universal time: Wed 2018-10-24 08:19:15 UTC
         RTC time: Wed 2018-10-24 08:19:16
        Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: no
          NTP service: inactive
      RTC in local TZ: no

Local timeがUniversal timeの9時間後になります。dateコマンドなどでは、Local timeが出力されます。

[root@archlinux ~]# date
実行結果
Wed Oct 24 17:19:24 JST 2018

NTPサーバーとの同期の設定

OSがインターネットに接続している場合、次のコマンドでNTPサーバーとの同期を有効にできます。

[root@archlinux ~]# timedatectl set-ntp true

設定後、日時の設定を確認します。

[root@archlinux ~]# timedatectl
実行結果
           Local time: Wed 2018-10-24 17:21:06 JST
       Universal time: Wed 2018-10-24 08:21:06 UTC
         RTC time: Wed 2018-10-24 08:21:07
        Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
          NTP service: active
      RTC in local TZ: no

System clock synchronizedがyesとなり、NTP serviceがactiveとなります。

NTP serviceがactiveとなるまでには少し時間がかかります。inactiveと表示される場合は少し時間が経ってから再度timedatectlコマンドを実行してください。

インターネットに接続していない場合、NTPサーバーとの同期は有効にできません。先に、ネットワーク接続を設定してください。

また、NTPサーバーの設定などはネットワークの設定と一緒に行います。

参考資料

まとめ

今回実行したコマンドをまとめると、次のようになります。

  • timedatectl
  • timedatectl list-timezones
  • timedatectl set-timezone Asia/Tokyo
  • timedatectl set-ntp true

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
9