是否有文件说明为systemctl启用/禁用了哪些服务?

时间:2019-03-09 16:45:31

标签: linux apache centos7 systemctl

上下文

我是Linux的新手,我一直在探索CentO 7。

问题

我很难理解Systemd在哪里跟踪启用和禁用的服务。

您可以选择httpd为例。

在哪里可以看到不使用systemctl状态httpd启用还是禁用了httpd?可以在哪个文件中找到此信息?

我在/lib/systemd/system/httpd.service以及/etc/httpd/conf/httpd.conf中进行了搜索,但是没有找到诸如enabled = no之类的内容。

1 个答案:

答案 0 :(得分:1)

systemd不会维护已禁用和已启用服务的任何“数据库”。 它仅使用目标目录中的符号链接来确定是否启用了服务。例如。启用服务后,将在/etc/systemd/system/目标子目录(通常为multi-user.target.wants)中创建到systemd单元文件的符号链接。调用systemctl disable ...只会删除该符号链接。

对于系统供应商装运的设备,由于这些符号链接不在您的控制之下(因此不确定httpd是不是在您的控制之下),这会有些棘手。要禁用这些服务,必须在/dev/null中创建一个指向/etc/systemd/system/...的符号链接,该符号链接被称为系统服务单元,以通过{{ 1}}。我不确定/lib/systemd...是否会这样做。

/etc/systemd...systemctl disable <vendor-unit>的功能在这里描述:https://www.freedesktop.org/software/systemd/man/systemctl.html#enable%20UNIT%E2%80%A6