发现错误的 systemctl 定义?

发现错误的 systemctl 定义?

我刚刚必须诊断一个故障,结果发现这是因为有人编辑了 systemd 定义 (*.service) 文件并留下了错误。结果是该服务没有显示为失败,但也没有运行,所以我的问题是:

有没有办法列出所有存在服务定义错误的 systemd 单元?

例如,以下是失败作业的状态:

localhost:~# systemctl status -l custom
● custom.service - Custom script
   Loaded: loaded (/usr/lib/systemd/system/custom.service; disabled; vendor 
preset: disabled)
   Active: inactive (dead)

Sep 12 16:00:25 localhost.localdomain systemd[1]: 
[/usr/lib/systemd/system/custom.service:20] Unknown section 'Path'. Ignoring.

我尝试过列出dead服务,但其中有很多,而且大多数似乎都是正确的,但刚刚结束 - 我想要的是找到那些存在真正错误的服务,例如这个。

答案1

systemd-analyze verify …会做一些检查。

请参阅man systemd-analyze选项。

相关内容