systemd は数時間ごとに ntp を再起動します。なぜ?

systemd は数時間ごとに ntp を再起動します。なぜ?

Bullseyeを実行する3つのRaspberry Piがあります。いつ起動したのかわかりませんが(明らかに理由は)、ntpdは2時間ごとに再起動されます。 Journalctlの出力やdaemon.logで見ることができるものは次のとおりです。

Dec  8 04:43:43 ntp1 systemd[1]: Stopping Network Time Service...
Dec  8 04:43:43 ntp1 systemd[1]: Stopped Network Time Service.
Dec  8 04:43:43 ntp1 systemd[1]: Starting Network Time Service...

ntpdは何の問題もないようです。 systemdがこれを行う理由をどうやって確認して停止できますか?

この場合、ntpdはローカルPPS参照時計を持つレイヤ1サーバーで構成されているため、何らかの理由で再起動しないことをお勧めします。

これはntpサービスファイルです:

[Unit]
Description=Network Time Service
Documentation=man:ntpd(8)
After=network.target
Conflicts=systemd-timesyncd.service

[Service]
Type=forking
# Debian uses a shell wrapper to process /etc/default/ntp
# and select DHCP-provided NTP servers if available
ExecStart=/usr/lib/ntp/ntp-systemd-wrapper
PrivateTmp=true

[Install]
WantedBy=multi-user.target

実験では、ntpサービスを停止し、同じパラメータを使用してntpdを手動で開始し、それ以降実行され続けました。これは問題を解決しませんが、システム干渉なしにntpdが安定していることを証明します。

systemdはサービスが費やすCPU時間を制限しますか? NTPを実行している他のRaspberry Piを見ると、いいえGPS操作を実行すると、systemdによって定期的に再起動されますが、毎回再起動されます。112時間ごとではなく毎時間ごと。 systemdに尋ねる方法があってほしいです。なぜそうしています。

答え1

これはdhcpcdのバグのようです。 /lib/dh​​cpcd/dhcpcd-hooksには、DHCPリースで指定されたホストを追加または削除するためにntp.confをオーバーライドするように設計されたフックがあります。私の場合、そのようなホストはありませんでしたが、dhcpcdはとにかくntpを返しました。 66-ntp.confを無効にすると(下部のifステートメントの内容をコメントアウトして)、これは発生しませんが、DHCPベースのNTP構成のサポートを削除するための対価を払いますが、この場合は問題ありません。それ。

関連情報