service启动失败

systemctl status systemd-timesyncd.service

Start request repeated too quickly  

这个错误一般是service失败后,自启动太频繁了,先不管这个错误

按老套路,直接执行ExecStart后面的命令

cat /lib/systemd/system/systemd-timesyncd.service

 找到

ExecStart=!!/lib/systemd/systemd-timesyncd

不知道前面两个!!啥意思,先不管(后面的文章会解释),有问题

Cannot resolve user name systemd-timesync: No such process

 看起来是没有用户 systemd-timesync

#查看所有用户
cat /etc/passwd

确实没有用户,查一下源码

https://github.com/systemd/systemd/blob/main/src/timesync/timesyncd.c

https://github.com/systemd/systemd/blob/33e82f3ef33a2497f9838a5fbb924c7501d8dd9e/src/timesync/timesyncd-manager.h

 看来得从service里找找原因,cat一看,好家伙,一堆参数,这个服务看起来简单,实际service比较复杂,专门写了篇文章

systemd-timesyncd 以及对应的sevice说明

1) RestartSec 先改为60,失败后60秒重启一次,避免

Start request repeated too quickly  

2)系统里创建用户systemd-timesync

3)DynamicUser注释掉,或者改为NO

改完后,直接跑 /lib/systemd/systemd-timesyncd

 查源码,是/var/lib/systemd/timesync,删除 timesync文件夹,再执行

 好像能跑起来了

再次执行

systemctl restart systemd-timesyncd

还是出错

最终通过重启搞定

更多推荐