systemd 和 chkconfig 如何在服务和运行级别方面进行交互?

systemd 和 chkconfig 如何在服务和运行级别方面进行交互?

我最近将一些机器更新到了 Fedora 17。我注意到有些服务我可以使用 配置它们的运行级别chkconfig,而其他服务根本不会出现,并且可以使用 配置systemctl

例如,有类似的命令chkconfig network offsystemctl disable NetworkManager.service。 (我理解这一点network并且NetworkManager有所不同,这不是重点。)

为什么有些服务可以通过一种工具进行配置,而不能通过另一种工具进行配置?

一种工具可以替代另一种工具吗?例如,运行级别对于 非常明显chkconfig,但我什至无法判断该概念是否存在于systemd

编辑:我发现一张桌子将调用从 chkconfig 映射到 systemctl

答案1

关于 systemd 的 Fedora Wiki 页面:

chkconfig 命令可以与 systemd 一起使用吗?

是的,对于打开/关闭服务,两种方式都提供了兼容性。 chkconfig 已修改为在处理 systemd 服务文件时调用 systemctl。另外,systemctl 在处理传统的 sysv init 文件时会自动调用 chkconfig。

这意味着您应该能够使用其中一种工具来管理您的服务。

运行级别的概念仍然存在,例如(这是 Debian 系统):

ls -l runlevel*.target
lrwxrwxrwx 1 root root 15 Jun  5 22:57 runlevel0.target -> poweroff.target
lrwxrwxrwx 1 root root 13 Jun  5 22:57 runlevel1.target -> rescue.target
lrwxrwxrwx 1 root root 17 Jun  5 22:57 runlevel2.target -> multi-user.target
lrwxrwxrwx 1 root root 17 Jun  5 22:57 runlevel3.target -> multi-user.target
lrwxrwxrwx 1 root root 17 Jun  5 22:57 runlevel4.target -> multi-user.target
lrwxrwxrwx 1 root root 17 Jun  5 22:57 runlevel5.target -> multi-user.target
lrwxrwxrwx 1 root root 13 Jun  5 22:57 runlevel6.target -> reboot.target

相关内容