/etc/systemd/timesyncd.conf
いつの間にか ntpd はいなくなっていました。
というわけで,上記ファイルの
NTP=
にNTPサーバー名またはIPアドレスを記入して下記コマンドを実行します。
# systemctl restart systemd-timesyncd
うまくいっているかどうかの確認は下記。
# systemctl status systemd-timesyncd
/etc/ntp.conf
いくつかの設定をまとめて変更。
$ su # cp ntp.conf ntp.conf.orig # vi /etc/ntp.conf # diff ntp.conf.orig ntp.conf 3c3 < driftfile /var/lib/ntp/ntp.drift --- > driftfile /var/tmp/ntp.drift 21,24c21 < server 0.debian.pool.ntp.org iburst < server 1.debian.pool.ntp.org iburst < server 2.debian.pool.ntp.org iburst < server 3.debian.pool.ntp.org iburst --- > server {近所のタイムサーバーアドレス} maxpoll 14
37c34 < restrict -6 default kod notrap nomodify nopeer noquery --- > #restrict -6 default kod notrap nomodify nopeer noquery 41c38 < restrict ::1 --- > #restrict ::1
/etc/fake-hwclock.data
このファイルを生成しないようにする。
デフォルトでは1時間に1回、そのときの時刻を上記のファイルへ出力している。
$ su # chmod -x /etc/cron.hourly/fake-hwclock # chkconfig --del fake-hwclock # システム起動時の実行を抑止(rcS.dから抹消) fake-hwclock 0:off 1:off 2:off 3:off 4:off 5:off 6:off # rm /etc/fake-hwclock.data # 残しておいても問題はないが・・・
補足:
Raspberry Piは電源オフ時には時刻を「忘れて」しまう(電池でバックアップされたリアルタイムクロックはない)。
次回コールドスタート時に、前回の電源オフ時と近い時刻を上記ファイルから読み込んで、とりあえず時刻を初期化するようだ。
起動直後はsyslogの時刻が狂っているが、そのうちntpdが時間を合わせてくれるので、あまり気にしないことにする。
参考:
fake-hwclockパッケージを削除してもよいかもしれない。
# apt-get purge fake-hwclock
/etc/ntp.conf
前述のシステム起動時のfake-hwclockを抑止したので、ntpでの時刻合わせがうまくいかない場合がある。
(リアルタイムクロック無し=起動時の時刻は 1900/01/01 00:00:00 から始まる)
よって、強制的に時刻を合わせるようにntpの起動スクリプトを変更する。
$ su # cd /etc/init.d # cp -p ntp ntp.orig # vi ntp # diff ntp.orig ntp 60a61 > /usr/sbin/ntpd -g -q