web-dev-qa-db-ja.com

redhat 7 + systemctlサービスを永続的に停止する方法

redhat 7にサービスをインストールします

しかし今のところ、サービスアプリケーションはもう必要ありません

サービスの開始を無効にすることは可能ですか?

次の再起動時に無効にするつもりはありません。サービスがインストールされているにもかかわらず、サービスの開始を回避するためです。

2
yael

systemctl disable servicename

systemctl disableを実行すると、/etc/systemd/system/*のサービスへのシンボリックリンクが削除されます。

今後、そのサービスは起動時に開始されなくなります。

5
steve

disableコマンドのより強力なバージョン、maskもあります。 manual から:

mask UNIT…

コマンドラインで指定されているように、1つ以上のユニットをマスクします。これにより、これらのユニットファイルが/dev/nullにリンクされ、開始できなくなります。これは、有効化や手動によるアクティブ化など、ユニットのすべての種類のアクティブ化を禁止するため、無効化の強力なバージョンです。このオプションは注意して使用してください。これは--runtimeオプションを尊重し、システムの次の再起動まで一時的にのみマスクします。 --nowオプションは、ユニットも確実に停止するために使用できます。このコマンドは有効なユニット名のみを想定し、ユニットファイルパスを受け入れません。

systemctl disable unitを使用すると、次回の起動時にユニットが起動しなくなりますが、ユニットを手動で起動することもできます。 systemctl mask unitは、ユニットが自動または手動で起動されないようにします。これは、/dev/nullへのシンボリックリンクでユニットファイルを上書きすることによって行われます。

最後に、maskの影響を元に戻すコマンドはunmasksystemctl unmask unitです。

2
Haxiel