![特定のサービスを開始するとは何になりますか](https://rvso.com/image/231065/%E7%89%B9%E5%AE%9A%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E9%96%8B%E5%A7%8B%E3%81%99%E3%82%8B%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B.png)
私は AlmaLinux 9 を実行しており、サービス (「X」という名前) を持っています。サービス X を起動している原因を突き止めたいのですが (無効になっているため)。
他のどのサービスが X を起動するか (依存関係として、またはその他の方法で) を表示するコマンドはありますか?
答え1
systemd-analyze
探しているもののようです。入力形式が生成するgraphviz
グラフ レンダラーを取得するには、 をインストールする必要があります。 (これは同じマシン上で実行する必要はありません。簡単にするために、同じマシンで実行しましょう。)dot
systemd-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から始まるものを見つけます。それの右側にある を検索してサービスを検索します->
。