关于本文
本文是通过利用生成式 AI 的自动化流程创建的。我们查阅了 systemd 官方文档,整理出了在不修改服务的前提下仅观察依赖关系的步骤。
验证状态:📘 已确认 systemd 官方规范,Ubuntu 实机已验证
如果想调查 systemd 服务依赖于什么,在编辑配置文件之前,先使用 systemctl list-dependencies 来查看关系会更加安全。
首先尝试
systemctl list-dependencies ssh.service --no-pager
如果服务名称因环境而异,请将其替换为实际存在的读取对象。
重点观察
查看树状结构中显示的 target 或 service,确认它不仅是“该服务本身”,还处于启动顺序和依赖关系之中。
使用 –reverse 查看反向依赖
通过添加 --reverse 参数,可以查看有哪些其他的 unit 依赖于当前服务。
systemctl list-dependencies ssh.service --reverse --no-pager
这次会变成“谁依赖于这个 unit”的逆向视角,有助于在修改或停止服务前确认潜在影响范围。
为什么重要
如果在发生故障时直接重启,很容易忽略依赖项和影响范围。最好先通过只读方式确认关系,然后再进行 status、journal 和 unit 定义的排查,这样更容易进行问题定位。
如果在工作中应用
在包含 Nginx、翻译 worker、timer 等多个 unit 的自动化处理操作手册中,加入正向和反向的确认步骤,可用于影响范围的调查。
总结
将 systemd 视为依赖图而不是服务列表,会更容易理解。通过合理运用 --reverse 参数,可以轻松实现正向与反向视角的转换。
官方资料
この記事の更新履歴
この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。
2026年9月24日
- 変更–reverse 参数在文章中的描述错误进行了修正。
- 変更systemctl list-dependencies –reverse 命令的用法和参数位置进行了纠正。
- 追加在官方资料部分补充了 systemctl 的官方手册链接。
