systemd 在哪里存储启用和禁用的服务状态

systemd 在哪里存储启用和禁用的服务状态
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.servicemulti-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

相关内容