systemctl コマンドを使用してサービスをマスクする方法

Systemctl Komandowo Shi Yongshitesabisuwomasukusuru Fang Fa



systemctl は、システム サービスを管理するために使用されるコマンド ライン ユーティリティです。サービスの開始、停止、有効化、無効化など、Linux 上のサービスを管理するためのさまざまなオプションがあります。と呼ばれる別のオプションがあります マスク

systemd サービスをマスクすると、サービスが無効になり、システムまたは手動コマンドによっても有効にできないことを意味します。マスキングは無効化のより強力な形式です。

このガイドでは、systemctl を使用して Linux 上でサービスをマスクする方法と、そのマスクを解除する方法について説明します。さらに、マスクされたサービスと無効化されたサービスの主な違いについても説明します。







警告: Linux では、サービスは相互依存しています。サービスをマスクするとサービスが無効になり、アクティブ化が禁止されるため、慎重に使用してください。



先に進む前に、まずマスクされたサービスの背後にあるメカニズムを理解しましょう。



マスクされたサービスとは何ですか

マスクされたサービスは、システムまたはシステム管理者が有効にできないようにする、永続的に無効になっているサービスです。システム管理者は通常、 マスク 機能不全または競合しているサービスを非アクティブ化するオプション。ただし、重要なシステム サービスをマスクするとシステムの起動に障害が生じる可能性があるため、このオプションは慎重に使用することをお勧めします。





マスクされたサービスをリストする方法

Linux でマスクされたサービスを一覧表示するには、 リスト単位 前述の状態がマスクされたオプション。

systemctl リストユニット - 州 =マスクされた



サービスをマスクする方法

systemctl コマンドを使用すると、任意のサービスをマスクできます。 マスク オプション。コマンドの一般的な構文を以下に示します。

須藤 システムctlマスク [ サービス名

上記の構文のマスク オプションは基本的に、サービスへのシンボリック リンクを作成します。 /etc/systemd/システム

スペースで区切って 1 つ以上のサービスを指定することもできます。

上記の構文を使用して SSH サービスをマスクしましょう。

須藤 systemctl マスク ssh.service

マスクされたサービスのステータスを確認するには、 –状態= オプション付き systemctl リストユニット

サービスを開始しようとすると、ユニットがマスクされていることを示す出力が表示されます。

注記: で作成されたサービスをマスクすることはできません。 /etc/systemd/システム ディレクトリ。このディレクトリ内のサービスはシステム操作に不可欠であるため、サービスをマスクすると、通常のシステム機能が損なわれる可能性があります。ただし、これらのサービスを無効にすることは、サービスをマスクすることと同じです。

サービスを一時的にマスクする方法

サービスは、次の起動までマスクすることができます。 -ランタイム オプション。

須藤 システムctlマスク [ サービス名 - ランタイム

サービスのシンボリック リンクを作成します。 /run/systemd/システム ディレクトリ。サービスのシンボリック リンクがディレクトリにすでに存在する場合、サービスは一時的にマスクされるように設計されています。

サービスのマスクを解除する方法

systemctl コマンドを次のように使用します。 マスクを解除する マスク制限を削除するオプション。このコマンドはサービスのパスを受け入れないため、サービス名のみを指定する必要があります。

須藤 systemctlマスク解除 [ サービス名

サービスのマスクを解除した後、システムの再起動が必要になる場合があります。

マスクされたサービスと無効なサービスの違い

無効化されたサービスは、システムまたは手動コマンドによって有効化および開始できます。ただし、マスクされたサービスは、システムでも手動操作でも有効にすることはできません。

サービスが無効になると、 /etc/systemd/システム ディレクトリが削除され、サービスは起動時にアクティブになりません。ただし、依存するサービスによってアクティブ化することはできます。

一方、マスクされたサービスは、 /dev/null そのため永久に使用できなくなります。

注意してください。 /dev ディレクトリにはブロックデバイスのファイルが含まれています。の /dev/null 書き込まれたものをすべて削除する仮想デバイスです。これは通常、stdout および stderr からの出力を破棄するために使用されます。

結論

サービスを永続的に無効にしたい場合は、systemctl Mask コマンドを使用します。マスクされたサービスは、システムによっても有効にすることはできません。このガイドでは、サービスを永続的および一時的にマスクする方法について説明しました。さらに、サービスのマスクを解除する方法と、マスクされたサービスと無効なサービスの主な違いについても説明しました。