Arch LinuxのシステムでタイムゾーンとNTPを設定する方法をまとめておきます。
タイムゾーン設定名の確認
tzselectコマンドでタイムゾーン設定名を対話的に確認します。
$ tzselect Please identify a location so that time zone rules can be set correctly. Please select a continent, ocean, "coord", or "TZ". 1) Africa 2) Americas 3) Antarctica 4) Asia 5) Atlantic Ocean 6) Australia 7) Europe 8) Indian Ocean 9) Pacific Ocean 10) coord - I want to use geographical coordinates. 11) TZ - I want to specify the timezone using the Posix TZ format. #? 4 (地域名の左にある数字を入力します/日本の場合はAsiaなので4)
Please select a country whose clocks agree with yours. 1) Afghanistan 14) India 27) Lebanon 40) Singapore 2) Armenia 15) Indonesia 28) Macau 41) Sri Lanka 3) Azerbaijan 16) Iran 29) Malaysia 42) Syria 4) Bahrain 17) Iraq 30) Mongolia 43) Taiwan 5) Bangladesh 18) Israel 31) Myanmar (Burma) 44) Tajikistan 6) Bhutan 19) Japan 32) Nepal 45) Thailand 7) Brunei 20) Jordan 33) Oman 46) Turkmenistan 8) Cambodia 21) Kazakhstan 34) Pakistan 47) United Arab Emirates 9) China 22) Korea (North) 35) Palestine 48) Uzbekistan 10) Cyprus 23) Korea (South) 36) Philippines 49) Vietnam 11) East Timor 24) Kuwait 37) Qatar 50) Yemen 12) Georgia 25) Kyrgyzstan 38) Russia 13) Hong Kong 26) Laos 39) Saudi Arabia #? 19 (国名の左にある数字を入力します/日本の場合はJapanなので19)
The following information has been given: Japan Therefore TZ='Asia/Tokyo' will be used. Selected time is now: Fri Feb 21 22:18:21 JST 2020. Universal Time is now: Fri Feb 21 13:18:21 UTC 2020. Is the above information OK? 1) Yes 2) No #? 1 (確認画面です/問題なければ1を入力)
You can make this change permanent for yourself by appending the line TZ='Asia/Tokyo'; export TZ to the file '.profile' in your home directory; then log out and log in again. Here is that TZ value again, this time on standard output so that you can use the /usr/bin/tzselect command in shell scripts: Asia/Tokyo
メッセージの最終行にあるのがタイムゾーン設定名です。
日本の場合はAsia/Tokyo
タイムゾーンの設定
タイムゾーン設定名を確認したのでタイムゾーンを設定します。
$ sudo timedatectl set-timezone (タイムゾーン設定名)
※日本の場合(一例)
$ sudo timedatectl set-timezone Asia/Tokyo
NTPの設定
NTPを設定するために時刻サーバ設定ファイルを編集します。
$ sudo nano /etc/systemd/timesyncd.conf
※設定例(日本のNTP時刻サーバ)
最終行に以下の内容を追記します。
NTP=ntp.nict.jp FallbackNTP=ntp.nict.jp time.cloudflare.com ntp.jst.mfeed.ad.jp
NTPの有効化
NTPを有効化します。
$ sudo timedatectl set-ntp true
設定の確認
タイムゾーンとNTPの設定が完了したことを確認します。
$ timedatectl Local time: Wed 2020-02-26 11:54:12 JST Universal time: Wed 2020-02-26 02:54:12 UTC RTC time: Wed 2020-02-26 02:54:12 Time zone: Asia/Tokyo (JST, +0900) System clock synchronized: yes NTP service: active RTC in local TZ: no
Time zone に設定したタイムゾーンが表示され、Local time が現在時刻になっていて、NTP serviceがactiveになっていれば設定完了です。
お疲れさまでした。