如何禁用 systemd 中的服务?

如何禁用 systemd 中的服务?

我知道该命令是什么,sytemctl disable NAME但我对参数有疑问NAME

例如bluetoothFedora 21 上的 service[1]。对于参数,NAME您应该输入bluetoothorbluetooth.service或 吗bluetooth.target

请注意,我使用蓝牙作为示例,但问题是通用的(即,如果服务有许多关联单元(即套接字、目标、服务))。


[1] 当我搜索蓝牙服务时,我发现了一些与“bluetooth”grep 字符串匹配的内容:

$ systemctl list-unit-files|grep -i bluetooth
bluetooth.service                           enabled 
bluetooth.target                            static  

答案1

服务在具有后缀的单元文件中定义.service

systemctl专门用于禁用某个服务时,您应该指定单元文件的全名(例如bluetooth.service)。如果省略后缀.service,则.service假定为。因此,例如,以下两个命令是等效的:

带有显式.service后缀:

$ systemctl disable bluetooth.service

使用隐式.service后缀:

$ systemctl disable bluetooth

关于bluetooth.target文件:SysV Init Runlevels 的概念已被替换为目标systemd。你应该参考man systemd.target了解更多信息。

相关内容