Overview
timesyncd を使用して時刻同期します。timesyncd は Ubuntu の デフォルトの NTP クライアントであり、追加のインストールを必要としません。timesyncd の実体は SNTP です。SNTP はシンプルな実装である為、一般的なクライアント OS でよく使用され、時刻同期機能として十分です。一方、サーバー OS の場合は、複数の NTP サーバーと同時に同期できる chrony を推奨します。
前提条件
/etc/systemd/timesyncd.conf
/etc/systemd/timesyncd.conf
を確認します。
デフォルト値
デフォルト値は下記の通りです。
myadmin@ubuntu:~$ grep -v -e '^\s*#' -e '^\s*$' /etc/systemd/timesyncd.conf | expand | tr -s [:space:] | sed 's/^\s/ /g'
[Time]
設定値
設定例として NTP サーバーに Google Public NTP を指定します。NTP サーバーを FQDN で指定する場合、DNS サーバーの時刻がずれていると DNSSEC の問題で名前解決ができない事態に陥ることがあるので留意しておきましょう。
myadmin@ubuntu:~$ sudo cp /etc/systemd/timesyncd.conf /etc/systemd/timesyncd.conf.orig
myadmin@ubuntu:~$ sudo tee /etc/systemd/timesyncd.conf <<"EOF"
[Time]
NTP=time.google.com
EOF
設定の有効化
設定を有効化します。
myadmin@ubuntu:~$ sudo systemctl restart systemd-timesyncd.service && systemctl status systemd-timesyncd.service
正常性確認
正常性を確認します。
myadmin@ubuntu:~$ timedatectl timesync-status
Server: 216.239.35.0 (time.google.com)
Poll interval: 1min 4s (min: 32s; max 34min 8s)
Leap: normal
Version: 4
Stratum: 1
Reference: GOOG
Precision: 1us (-20)
Root distance: 106us (max: 5s)
Offset: -819us
Delay: 42.855ms
Jitter: 0
Packet count: 1
Frequency: -6.400ppm
myadmin@ubuntu:~$ timedatectl status
Local time: Sun 2022-05-29 00:37:53 JST
Universal time: Sat 2022-05-28 15:37:53 UTC
RTC time: Sat 2022-05-28 15:37:53
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Ubuntu 22.04 timesyncd 時刻同期設定