我的 ntp 服务运行良好,但我无法启动 timedatectl,有人可以帮忙吗?
# systemctl status ntp
● ntp.service - LSB: Start NTP daemon Loaded: loaded (/etc/init.d/ntp; generated; vendor preset: enabled) Active: active (exited) since Sat 2020-06-13 01:37:35 UTC; 2min 37s ago
Docs: man:systemd-sysv-generator(8)
Tasks: 0 (limit: 19660) CGroup: /system.slice/ntp.service
Jun 13 01:37:35 localhost systemd[1]: Stopped LSB: Start NTP daemon. Jun 13 01:37:35 localhost systemd[1]: Starting LSB: Start NTP daemon... Jun 13 01:37:35 localhost systemd[1]: Started LSB: Start NTP daemon.
# timedatectl
Failed to query server: Cannot send after transport endpoint shutdown
答案1
timedatectl
不说话ntpd
。
timedatectl
与 交谈systemd-timedated
。
事实上,这也不完全正确。
timedatectl
与 交谈dbus-daemon
,后者又与 交谈systemd-timedated
,与 交谈dbus-daemon
,与 交谈systemd
,询问已配置服务的状态,例如ntpd
和systemd-timesyncd
。
该链中的某处正在报告ESHUTDOWN
错误。不幸的是,systemd 的桌面总线错误报告使得人们无法判断错误来自链中的哪个环节。
这可能是任何事情,并且您提供了零信息来进一步诊断此问题。据我们所知,systemd-timedated
可能正在查看完全错误的服务,或者可能无法启动;或者可能存在一些桌面总线问题。人们必须监视系统范围的桌面总线才能busctl monitor
了解更多信息。
systemd-timedated
顺便说一句,当 systemd doco应该说“systemd-timedated”时,它会错误地说“systemd-timesyncd”,这对您没有帮助。 ☺
至于为什么你ntp.service
没有正在运行的进程:rc
出于某种原因,你正在从旧的 van Smoorenburg 脚本启动它。
systemd-sysv-generator
对此类脚本的一刀切方法会欺骗您,让您错误地认为您的服务正在成功运行,如所解释的https://unix.stackexchange.com/a/560998/5132。
停止使用 van Smoorenburgrc
脚本和一刀切的兼容性机制。如今,大多数 Linux 操作系统都将各种 NTP 守护进程与 systemd 服务单元打包在一起。同样,您提供了零信息,可用于进一步诊断此问题,或为您指明此类单元的方向。仅在 Debian 上,就有至少三种不同的可能来源ntpd
,并且您没有告诉我们您的 NTP 软件来自哪个,甚至您正在使用什么操作系统。