我有一个 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
处于状态的单位
not-found
只有在它们不处于活动状态或某些东西依赖于它们时才会显示。如果该单元是“未找到”但“活动”,则表示该软件包已被卸载但没有停止相应的单元。手动停止它们(或重新启动)。
如果该单元“出现故障”,它就在那里,以便您可以检查故障。这样做之后,
systemctl reset-failed
将删除它。如果该单元“未找到”和“不活动”但仍保留在列表中,那么它可能是另一个单元想要或需要的。例如,该单元可能仍处于“启用”状态,即您
/etc/systemd/system/*.target.wants
包含指向它的符号链接。手动或使用删除链接systemctl disable
。也可能是您启动了一些将其列为Wants=
或Requires=
不存在的服务(在不存在的单元上设置 Wants= 非常好;这是一个“可选依赖项”)。