我有一个 shell 环境库,用于维护我的 bash/zsh 环境(Linux 和 macOS)的所有类型的检查和辅助函数。我喜欢定期检查自动检查我的操作系统的功能,这样我就不会忘记某些事情,并且始终保持一切最新。
今天我在 Raspberry 上运行一些服务,在列出所有服务时,systemctl list-units --type=service --all
我注意到一些故障和not-found
条目。故障很容易清除,因为它们是未清理干净的旧 pihole 和 vsftpd 服务文件。但我该如何处理它们not-found
?是否有某些可以忽略或为它们生成基本服务文件?
pi@raspberrypi [130] % systemctl list-units --type=service --all | grep "not-found"
● auditd.service not-found inactive dead auditd.service
● console-screen.service not-found inactive dead console-screen.service
● exim4.service not-found inactive dead exim4.service
● firewalld.service not-found inactive dead firewalld.service
● gssproxy.service not-found inactive dead gssproxy.service
● kbd.service not-found inactive dead kbd.service
● mountkernfs.service not-found inactive dead mountkernfs.service
● NetworkManager.service not-found inactive dead NetworkManager.service
● nfs-blkmap.service not-found inactive dead nfs-blkmap.service
● nfs-server.service not-found inactive dead nfs-server.service
● nslcd.service not-found inactive dead nslcd.service
● sendmail.service not-found inactive dead sendmail.service
● sssd.service not-found inactive dead sssd.service
● systemd-update-done.service not-found inactive dead systemd-update-done.service
● systemd-vconsole-setup.service not-found inactive dead systemd-vconsole-setup.service
● ypbind.service not-found inactive dead ypbind.service
答案1
处于状态的单位not-found
仅当它们处于活动状态或有某些事物依赖于它们时才会显示。
如果单元“未找到”但“活跃”,则表示软件包已被卸载但未停止相应的单元。请手动停止它们(或重新启动)。
如果单元“发生故障”,则它在那里,以便您可以检查故障。检查后,systemctl reset-failed
将删除它。
如果单元“未找到”且“不活动”但仍在列表中,则可能是另一个单元想要或需要它。例如,该单元可能仍处于“启用”状态,即您的/etc/systemd/system/*.target.wants
包含指向它的符号链接。手动或使用 删除链接systemctl disable
。也可能是您启动了将其列为Wants=
或Requires=
不存在的服务的某个程序(在不存在的单元上有一个 Wants= 是完全没问题的;这是一个“可选依赖项”)。