我最近将一些机器更新到了 Fedora 17。我注意到有些服务我可以使用 配置它们的运行级别chkconfig
,而其他服务根本不会出现,并且可以使用 配置systemctl
。
例如,有类似的命令chkconfig network off
和systemctl disable NetworkManager.service
。 (我理解这一点network
并且NetworkManager
有所不同,这不是重点。)
为什么有些服务可以通过一种工具进行配置,而不能通过另一种工具进行配置?
一种工具可以替代另一种工具吗?例如,运行级别对于 非常明显chkconfig
,但我什至无法判断该概念是否存在于systemd
。
编辑:我发现一张桌子将调用从 chkconfig 映射到 systemctl
答案1
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