我很难理解为什么 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 池地址,我可以 ping google,我可以进行更新(在 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/
你们有什么想法吗?
我在面临类似问题时发现了这个问题。
事实证明,该问题
systemd
的PrivateTmp
功能在只读配置中不起作用。ntp
和ntpdate
复制
/lib/systemd/system/ntp.service
到/etc/systemd/system/ntp.service
打开
/etc/systemd/system/ntp.service
并注释掉PrivateTmp=true
。现在,它应该可以正常工作了!
作为附加步骤,我现在也
/var/lib/ntp
按照此处tmpfs
的建议进行了安装/etc/fstab
并tmpfs /var/lib/ntp tmpfs nosuid,nodev 0 0
在文件末尾添加。在我的情况下,我发现这没有必要,但是对于在只读文件系统上运行还有其他见解。
马克罗杰的回答有效,但我认为用户覆盖更好:
然后重新启动或者可能
systemctl daemon-reload
就足够了。