特定のサービスを開始するとは何になりますか

特定のサービスを開始するとは何になりますか

私は AlmaLinux 9 を実行しており、サービス (「X」という名前) を持っています。サービス X を起動している原因を突き止めたいのですが (無効になっているため)。

他のどのサービスが X を起動するか (依存関係として、またはその他の方法で) を表示するコマンドはありますか?

答え1

systemd-analyze探しているもののようです。入力形式が生成するgraphvizグラフ レンダラーを取得するには、 をインストールする必要があります。 (これは同じマシン上で実行する必要はありません。簡単にするために、同じマシンで実行しましょう。)dotsystemd-analyze dot

systemd-analyze dot --require > graph.dot
grep -v 'color="red"' | dot -Tsvg Gsplines=line > graph_embedding.svg
firefox graph_embedding.svg # or some other SVG viewer

(ここでは、赤いエッジとの「競合」を抑制し、dotノードを接続するときに直線を使用します。デフォルトで使用されるスプラインにより、ほぼすべての大きなグラフ埋め込みが読みにくくなります。著者がそこで何を考えていたのかは私にはわかりません。)

1枚の画像では情報が多すぎるかもしれません。関心のあるノードから逆依存関係のサブツリーを抽出する簡単なスクリプトを作成することをお勧めしますが、残念ながら、これは1回限りの問題です(そうであることを願います)graph.dot。お気に入りのテキストエディタで開いてください。の出現箇所を探し->"X.service"、の残りの部分を書き留めます->。次に、Xがすでに必要なものが何かを理解するか、またはXから始まるものを見つけます。それの右側にある を検索してサービスを検索します->

関連情報