是否有文件说明哪些服务是 enabled/disabled for systemctl?
Is there a file that states which services are enabled/disabled for systemctl?
上下文
我是 Linux 新手,我一直在探索 CentOs 7。
问题
我无法理解 Systemd 在哪里跟踪启用和禁用的服务。
您可以选择 httpd 作为示例。
在不使用 systemctl status httpd 的情况下,我在哪里可以查看 httpd 是否启用或禁用?在哪个文件中可以找到此信息?
我在 /lib/systemd/system/httpd.service 和 /etc/httpd/conf/httpd.conf 中搜索过,但没有找到类似 enabled=no.
的内容
systemd 不维护任何 "database" 禁用和启用的服务。 它只是使用目标目录中的 symlinks 来确定服务是否启用。例如。当您启用服务时,会在 /etc/systemd/system/
目标子目录(通常是 multi-user.target.wants
)中创建 symlink 到 systemd 单元文件。调用 systemctl disable ...
只是删除 symlink.
对于系统供应商提供的单元,这有点棘手,因为这些符号 link 不受您的控制(不确定 httpd
是否属于这种情况)。要禁用这些服务,必须在 /etc/systemd/system/...
中创建指向 /dev/null
的 symlink 命名为系统服务单元,以 "shadow" 在 [= 中的某处创建真正的服务 link 16=] 由 /etc/systemd...
中更高优先级的伪造 link。我不确定 bare systemctl disable <vendor-unit>
是否这样做。
enable
和 disable
的函数描述如下:https://www.freedesktop.org/software/systemd/man/systemctl.html#enable%20UNIT%E2%80%A6
上下文
我是 Linux 新手,我一直在探索 CentOs 7。
问题
我无法理解 Systemd 在哪里跟踪启用和禁用的服务。
您可以选择 httpd 作为示例。
在不使用 systemctl status httpd 的情况下,我在哪里可以查看 httpd 是否启用或禁用?在哪个文件中可以找到此信息?
我在 /lib/systemd/system/httpd.service 和 /etc/httpd/conf/httpd.conf 中搜索过,但没有找到类似 enabled=no.
的内容systemd 不维护任何 "database" 禁用和启用的服务。 它只是使用目标目录中的 symlinks 来确定服务是否启用。例如。当您启用服务时,会在 /etc/systemd/system/
目标子目录(通常是 multi-user.target.wants
)中创建 symlink 到 systemd 单元文件。调用 systemctl disable ...
只是删除 symlink.
对于系统供应商提供的单元,这有点棘手,因为这些符号 link 不受您的控制(不确定 httpd
是否属于这种情况)。要禁用这些服务,必须在 /etc/systemd/system/...
中创建指向 /dev/null
的 symlink 命名为系统服务单元,以 "shadow" 在 [= 中的某处创建真正的服务 link 16=] 由 /etc/systemd...
中更高优先级的伪造 link。我不确定 bare systemctl disable <vendor-unit>
是否这样做。
enable
和 disable
的函数描述如下:https://www.freedesktop.org/software/systemd/man/systemctl.html#enable%20UNIT%E2%80%A6