NTPの設定するにはtimedatectl
を使う.
NTPが有効になっているかはtimedatectl status
で確認できる.
timedatectl status
Local time: Sun 2025-01-05 01:03:55 JST
Universal time: Sat 2025-01-04 16:03:55 UTC
RTC time: Sat 2025-01-04 16:03:55
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
set-ntp true
でシステムクロックをリモートのNTPサーバーと同期させる。 システム起動のたびにシステムクロックはハードウェアクロック(リアルタイムクロック)の内容で初期化される。
sudo timedatectl set-ntp true
リアルタイムクロック(RTC)はコンピュータ内蔵の電源を切っても維持し続ける時計である. ハードウェアとして内蔵しているためハードウェアクロックと呼ばれておりこれらは同じ意味である. 集積回路(IC)上で機能することからCMOSクロックともいう(CMOSは集積回路として良く使われているため)。
NTPサーバーから取得した時刻と同期したシステムクロックを,ハードウェアクロックに同期させる。
hwclock -u -w
ハードウェアクロックには通常タイムゾーンや夏時間の適用有無(DST)の情報は持たない。 起動時システムクロックの初期値として参照されるときにローカルタイムとして扱うのかUTC(Coordinated Universal Time)として扱うのかは/etc/adjtime
ファイルの内容によって決められる。 このファイルはhwclock -w
コマンドでハードウェアクロックを書き換えるとき(上記のコマンド実行時)に作成または更新される。 ここでは同時に-u
オプションを指定しているので/etc/adjtime
にはハードウェアクロックをUTCとして扱うことが指定される。 タイムゾーンへの依存や夏時間(DST)の切替の問題をハードウェアクロックと切り離しておくためにもハードウェアクロックはUTCとして扱った方が良い。 hwclock
コマンドの詳細は[hwclock(8)][hwclock(8)]で確認できる。