我有三个覆盆子在跑牛眼。我不知道它什么时候启动(很明显是为什么),但是ntpd每两个小时重新启动一次。在日志输出或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,从那时起它就一直在运行。这并不能解决这个问题,但它证明了在没有系统d干扰的情况下,ntpd是稳定的。
系统是否有可能限制服务消耗的CPU时间?如果我看看另一个运行NTP的Raspberry Pi,它没有执行GPS操作,它也是由systemd定期重新启动的,而是每11个小时重新启动一次,而不是每两个小时一次。我希望有办法问一下系统为什么要这么做。
发布于 2021-12-18 17:13:26
这似乎是dhcpcd的错。/lib/dhcpcd/dhcpcd中有用于重写ntp.conf以添加或删除DHCP租约中指定的主机的钩子。在我的例子中,没有这样的主机,然而dhcpcd仍然在弹出ntp。中性66-ntp.conf (通过注释掉它底部if语句的内容)可以防止这一点,而代价是取消对基于DHCP的NTP配置的支持,但在本例中我对此没有意见。
https://unix.stackexchange.com/questions/680704
复制相似问题