2016-08-22 8 views
1

2つの異なるパッケージによってインストールされた2つのサービスAとBがあります。systemdは無効なサービスを開始する予定ですか?

サービスBはサービスA

の両方が無効になっており、デフォルトで停止しているに依存します。

各ブートで実行されているサービスBを得るために、私はその後、私はそれを起動し、それを有効にします。

systemctl enable B 
systemctl start B 

BがAに依存しているので、私が開始されることを期待し、それが始めるん!しかし、Aは有効になっていません。それは期待された行動ですか?どういうわけか私には奇妙に見えます。

答えて

2

はい、予想される動作です。

systemctl enablesystemctl disableの操作では、の自動開始が設定されます。

より正確には、これらの操作は、ユニットファイルの[Install]セクション(またはこれらのアクションの逆)に記載されている操作を実行するだけです。たいていの場合、これにはユニットに人工的な依存関係をmulti-user.targetまたは同様のシステム全体のターゲットから追加することが含まれます。

したがって、ユニットを手動で開始するか、他の依存関係を使用しても、この影響を完全に受けません。手動または依存関係を介して単位ファイルの開始を防ぐには、systemctl mask UNITを実行してください。

+0

ああ!私はあなたが使用された言葉を見たときにはあまり明確ではないと思います。この時点では、実際にマスキングする必要はありません。私は 'enable'をスキップして、特定のデーモンを処理する必要がないようにしたかっただけです。必要に応じて他の人がそれを始める限り、我々はすべて良いです。 –

関連する問題