systemctl list-unit-files
显示所有 systemd 服务及其相应的状态(如果它们是)已启用或者残疾人,或静态。
我所知道的就是systemctl enable|disable <service>
, 以及上面的命令来知道它的状态是什么。
systemd 是否将此信息存储在某个纯文本文件中,我可以vi
查看该文件并手动更改启用和禁用之间的服务状态?例如,当 RHEL 安装在虚拟文件系统下时,该系统用于无盘引导集群节点。
答案1
启用和禁用服务会WantedBy
分别在安装块中指定的目标目录中添加和删除符号链接。
说出声明的单元文件WantedBy=multi-user.target
。/etc/systemd/system/multi-user.target.wants/ntpd.service
例如, 当您启用该服务时,会指向/usr/lib/systemd/system/ntpd.service
multi-user.target,因此 ntpd 会在达到 multi-user.target 时启动。
答案2
不确定您想要完成什么,但检查服务是否启用的正确方法是通过systemctl is-enabled service_name
(检查手册页中的表格以获取可能的状态值列表):
systemctl is-enabled upower
残疾人
另请注意,某些服务可能会在未启用的情况下运行/加载,例如上述服务upower
:
systemctl status upower
● upower.service - Daemon for power management
Loaded: loaded (/usr/lib/systemd/system/upower.service; disabled; preset: disabled)
Active: active (running) ......
...............................
CGroup: /system.slice/upower.service
└─1097 /usr/lib/upowerd