如何识别 systemd 中哪个服务提供 time-sync.target ?它是可配置的还是硬编码在 systemd 中?如何配置自定义时间同步守护进程/服务来提供此目标?
答案1
跑步
systemctl show time-sync.target
查看 systemd 为此目标维护的信息和配置。特别是,这会告诉您它是特殊的 systemd 单位并在那里记录:
负责从远程源同步系统时钟的服务(例如 NTP 客户端实现)应该拉入此目标并在其之前对自己进行排序。所有需要正确时间的服务都应在该单元之后排序,但不要将其拉入。systemd 会自动
After=
将此目标单元的类型依赖项添加到所有 SysV init 脚本服务单元,并使用引用“$time
”设施的 LSB 标头。
它是完全可配置的(用于systemctl edit
覆盖您想要的任何方面)。如上所述,提供时间同步的服务(例如 systemd-timesyncd.service
)声明他们想要这个目标,并在它之前命令自己;需要时间同步的服务在其之后自行排序。
要配置时间同步服务,请复制systemd-timesync
的配置的相关部分:
[Unit]
Before=time-sync.target
Wants=time-sync.target