我遇到Fedora 24 Server版中的错误。 Firewalld服务即使在禁用时也始终启动。但是在工作站上,它会按预期保持禁用状态。
我查了一下,有人也遇到过这个错误: https://bugzilla.redhat.com/show_bug.cgi?id=1371122
根据其中一条评论,如果其他dbus客户端请求服务,则可以启动服务。所以我最好的一点就是Server版本中的其他一些软件启动了Firewalld,它可能是一个管理程序?不知道。我猜这是驾驶舱,所以我用dnf删除了它,但这不是答案。
我写这篇文章后会报告这个错误。我想跟踪什么/谁开始服务。 systemctl list-dependencies
没有显示任何内容。它说Firewalld甚至不是其他单位的依赖。
答案 0 :(得分:2)
你可以做的事很少。您的服务可能已经开始使用systemd依赖项。很容易搞清楚。只需执行systemd show FIREWALLD.service
并查找WantedBy=
或RequiredBy=
即可。如果没有人想要你的服务,那很可能是通过dbus激活来启动dbus。您可以运行busctl
并查找您的服务是否为dbus可激活服务。
前:
org.freedesktop.hostname1- - - (activatable) - -
如果您的服务是通过dbus激活AFAIK启动的,那么就没有简单的方法可以找到它[1]。
您可以使用systemctl mask
屏蔽dbus服务,并等待应用程序尝试与您的FIREWALD通信时出现错误消息。
[1] - 我需要这些信息,我入侵了dbus代码。我有一个1-2年前工作的补丁。如果需要,请尝试将此修补程序应用于dbus并重新运行系统。
commit e1c687c96c36b7bbf2db33e967741c22fe7007c9
Author: Umut Tezduyar Lindskog <umuttl@axis.com>
Date: Mon Sep 22 11:13:37 2014 +0200
log originator of activation requests
diff --git a/dbus/bus/activation.c b/dbus/bus/activation.c
index 149cca8..2a9c0bd 100644
--- a/dbus/bus/activation.c
+++ b/dbus/bus/activation.c
@@ -1788,6 +1788,28 @@ bus_activation_activate_service (BusActivation *activation,
if (connection)
dbus_connection_ref (connection);
+
+{
+DBusString loginfo_buf;
+unsigned long pid;
+// When connection is NULL, it is that we are trying to activate systemd
+// dbus[1106]: [system] Umut activation request by ':1.5' '/usr/bin/depd -n '
+// dbus[1106]: [system] Activating systemd to hand-off: service name='com.axis.Event.Switch' unit='dbus-com.axis.Event.Switch.service'
+if (connection != NULL && dbus_connection_get_unix_process_id (connection, &pid) && _dbus_string_init (&loginfo_buf))
+{
+ if (_dbus_command_for_pid (pid, &loginfo_buf, 50, NULL))
+ {
+ bus_context_log (activation->context,
+ DBUS_SYSTEM_LOG_INFO, "Umut activation request by '%s' '%s'",
+ bus_connection_get_name(connection), _dbus_string_get_const_data(&loginfo_buf));
+
+ _dbus_string_free (&loginfo_buf);
+ }
+
+}
+}
+
+