Services
systemd 和 chkconfig 如何與服務和執行級別互動?
我最近將我們的一些機器更新到 Fedora 17。我注意到有一些服務我可以使用 配置它們的執行級別
chkconfig
,而其他根本不會出現,可以使用systemctl
.例如,有類似的命令
chkconfig network off
和systemctl disable NetworkManager.service
. (我理解這一點network
並且NetworkManager
有所不同,這不是重點。)為什麼有些服務可以通過一種工具而不是另一種工具進行配置?
一種工具可以代替另一種嗎?例如,執行級別非常明顯
chkconfig
,但我什至無法判斷該概念是否存在於systemd
.編輯:我找到了一個將呼叫從 chkconfig 映射到 systemctl的表
chkconfig 命令是否適用於 systemd?
是的,對於打開/關閉服務,兩種方式都提供了兼容性。chkconfig 已修改為在處理 systemd 服務文件時呼叫 systemctl。在處理傳統的 sysv 初始化文件時,systemctl 也會自動呼叫 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