どうやら最近のRaspbianではntpdを時刻同期に使っていないらしい。systemd-timesyncdというsystemdサービスに置き換わっているようだ。Raspberry PiはRTCを積んでいないので何らかの時刻同期を起動時に行わないと時刻がでたらめなものになってしまう。古いRaspbianでは起動時にntpdateで一回限りの時刻同期を行っていたように記憶しているが、stretch以降はsystemdサービスで自動的に時刻同期を行うように変更されたようだ。
デフォルトの設定ではこれはDebianが提供している公開NTPサーバーから時刻を同期するように設定されているようだ。日本国内からは遠すぎるので、国内で参照できる公開NTPサーバーに書き換えることにする。
書き換える設定ファイルは/etc/systemd/timesyncd.confだ。このファイル内の[Time]セクションにNTPサーバーのアドレスを指定する場所がある。デフォルトではコメントアウトされているが、これを国内のサーバーのFQDNに書き換える。
[Time]
NTP=ntp.nict.jp
FallbackNTP=ntp.jst.mfeed.ad.jp
メインはNICTの公開NTPサーバーを指定するが、ここに繋がらなかった場合の代替NTPサーバーもFallbackNTPに国内の公開NTPサーバーを指定しておく。
再起動すれば、指定したNTPサーバーから時刻を取得して自動的に同期してくれる。同期されているかどうかは以下のコマンドで確認できる。
sudo systemctl status systemd-timesyncd
表示されるログから時刻同期の状況が確認できる。念のためdateコマンドの出力で正しい今の時刻が吐き出されることを見ておこう。