2016-11-03 15 views
2

Fedora 24 Server Editionのバグに問題があります。 Firewalldサービスは、無効になっても常に起動します。しかし、ワークステーションでは、期待どおりに無効のままです。システムサービスの呼び出し元のトレース

私はそれを見て、誰かが同様にこのバグが発生しました:その他のdbusクライアントが要求した場合 https://bugzilla.redhat.com/show_bug.cgi?id=1371122

は、コメントのうちの1つによれば、サービスを開始することができます。だから、私のベストショットは、Server Editionの他のいくつかのソフトウェアがFirewalldを起動するということです。これは管理プログラムかもしれませんか?いい考えはありません。私はそれがコックピットだと思ったので、私はdnfでそれを消したが、それは答えではなかった。

この投稿を書き終えたら、このバグを報告します。私は何/誰がサービスを開始するかをトレースしたい。 systemctl list-dependenciesには何も表示されません。それは、Firewalldは他のユニットの依存関係でさえないという。

+0

トピックから少し外れていますが、firewalldを無効にする理由を明確にすることはできますか?私はユースケースを収集しています。 – mattdm

+0

@mattdmファイアウォールの設定は、安全な/私設のネットワーク(私の場合は、インターネットに接続されていないネットワーク)内のサーバーにとって退屈です。技術者は愚かでも怠け者でもあり、どのようにしてLinuxにするのか知りません。私の言っていることが分かるよね。 –

+0

ありがとうございますが、私はユニットをマスクする方法を知っています。私はWorkstationでそれを無効にできるという事実に戸惑うだけです。非常に一貫性があり、シンプルさ。 –

答えて

2

できることはほとんどありません。あなたのサービスはsystemd依存関係から始まったかもしれません。それを理解するのはかなり簡単です。 systemd show FIREWALLD.serviceを実行し、WantedBy=またはRequiredBy=を探してください。誰もあなたのサービスを望んでいなければ、dbusの起動によってdbusを介して起動される可能性が非常に高いです。 busctlを実行して、サービスがdbusの有効化可能サービスであるかどうかを調べることができます。

例:

org.freedesktop.hostname1- - - (activatable) - - 

あなたのサービスがDBUSの活性化を介して開始されている場合は、私の知る限り、これを見つけるための簡単な方法がありません[1]。

あなたができることは、systemctl maskでdbusサービスをマスクし、あなたのFIREWALDと通信しようとするアプリケーションからのエラーメッセージが出るまで待つことです。

[1] - この情報が必要でした。私はdbusコードにハッキングしました。私は1〜2年前に働いていたパッチを持っています。必要に応じて、このパッチをdbusに適用してシステムを再実行してください。

commit e1c687c96c36b7bbf2db33e967741c22fe7007c9 
Author: Umut Tezduyar Lindskog <[email protected]> 
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); 
+ } 
+ 
+} 
+} 
+ 
+ 
+0

良い点。私はサービスを隠して、ジャーナルを見て、何が原因でエラーが発生しているのかを確認する必要があります。 –

+0

または平凡なことが沈黙の中にとどまることができます。検索は引き続き行われます。 –

関連する問題