
なぜ ntp (サービス) がラズベリーパイで時刻を正しく設定しないのか理解するのに苦労しています。
SD カードを保存するためにファイルシステムを読み取り専用に設定しましたが、以前は機能していたのに、なぜ ntp が機能しないのかわかりません。
ログには、次のようなメッセージが何行も表示されます。
ntpd[415]: kernel reports TIME_ERROR: 0x41: Clock Unsynchronized
ntpd[415]: kernel reports TIME_ERROR: 0x41: Clock Unsynchronized
ntpd[415]: error resolving pool 0.debian.pool.ntp.org: Temporary failure in name resolution (-3)
ntpd[415]: error resolving pool 1.debian.pool.ntp.org: Temporary failure in name resolution (-3)
ntpd[415]: error resolving pool 2.debian.pool.ntp.org: Temporary failure in name resolution (-3)
ntpd[415]: error resolving pool 3.debian.pool.ntp.org: Temporary failure in name resolution (-3)
ntpd[415]: error resolving pool 3.debian.pool.ntp.org: Temporary failure in name resolution (-3)
ntpd[415]: error resolving pool 2.debian.pool.ntp.org: Temporary failure in name resolution (-3)
ntpd[415]: error resolving pool 1.debian.pool.ntp.org: Temporary failure in name resolution (-3)
ntpd[415]: error resolving pool 0.debian.pool.ntp.org: Temporary failure in name resolution (-3)
私の /etc/resolv.conf は次のようになります:
# Generated by resolvconf
nameserver 8.8.8.8
nameserver 192.168.1.22
私はその RPi でインターネットにアクセスでき、プール アドレスに ping でき、Google に ping でき、apt update (rw で再マウントした後) を実行できます...
ntpdate コマンドを手動で発行することもできます。問題なく動作します。
$ sudo ntpdate -u 0.fr.pool.ntp.org 1.fr.pool.ntp.org
24 Nov 23:04:34 ntpdate[578]: step time server 129.250.35.250 offset 2418.621037 sec
そうですね、私はここで細かいことを気にしています。なぜ NTP サービスが機能しないのか理解できません。インターネットで調べましたが、誰もこの問題を抱えていないようです (すべての DNS が機能していませんが、私のは機能しています)
私の読み取り専用設定は次のとおりです。https://hallard.me/raspberry-pi-read-only/ より
皆さん何か分かりますか?
答え1
同様の問題に直面しているときにこの質問を見つけました。
問題は、systemd
のPrivateTmp
機能が読み取り専用構成では動作しないことが判明しました。
- 必ずインストールし
ntp
てntpdate
sudo apt install -y ntp ntpdate
コピー
/lib/systemd/system/ntp.service
先/etc/systemd/system/ntp.service
cp /lib/systemd/system/ntp.service /etc/systemd/system/ntp.service
を開い
/etc/systemd/system/ntp.service
てコメントアウトしますPrivateTmp=true
。sudo nano /etc/systemd/system/ntp.service
今なら、正しく動作するはずです!
追加のステップとして、私は今推奨されている/var/lib/ntp
ようにマウントしましたtmpfs
ここ
- 開いてファイルの末尾に
/etc/fstab
追加します。tmpfs /var/lib/ntp tmpfs nosuid,nodev 0 0
sudo nano /etc/fstab
私のケースではこれは必要ないと思いましたが、読み取り専用ファイルシステムで実行する場合の追加のヒントがそこにあります。
答え2
マーク・ロジャーの回答動作しますが、ユーザーがオーバーライドする方が良いと思います:
echo -e '[Service]\nPrivateTmp=false' > /etc/systemd/system/ntp.service.d/override.conf
その後、再起動すればsystemctl daemon-reload
十分でしょう。