Systemd サービス ファイルを削除する方法

Systemd Sabisu Fairuwo Xue Chusuru Fang Fa



Linux 上の多くのパッケージには、バックグラウンドで実行されるサービス ファイルが付属しています。多くの場合、関連するパッケージが削除された後でも、サービス ファイルは削除されません。その結果、不要なサービスが蓄積されると、システムに余分な負荷がかかります。このような場合には、不要なサービス ファイルを削除することが不可欠になります。

サービス ファイルを削除するには、サービス ファイルが含まれるディレクトリのセットを理解することが重要です。

サービス ファイルは通常、目的やインストール者に応じて、いくつかの特定のディレクトリに保存されます。ディレクトリのリストを以下に示します。







/lib/systemd/システム ダウンロードしたパッケージのサービス ファイル
/etc/systemd/システム システム管理者によるサービス ファイル
~/.config/systemd/users 一般ユーザーによるサービスファイル

したがって、パッケージがダウンロードされてデーモンとサービスが提供される場合、これらのファイルは /lib/systemd/システム ディレクトリ。の /etc/systemd/システム ディレクトリにはシステム管理者によって作成されたサービス ファイルが含まれており、sudo ユーザーのみがそれらを変更できます。その間 ~/.config/systemd/users ディレクトリには、通常のユーザーが作成したサービス ファイルが含まれています。

サービスファイルへのアクセス方法

サービス ファイルを削除する最初のステップは、その正確なパスを見つけることです。パスを見つけるには、 システム制御ステータス コマンドにサービス名を付けます。

システム制御ステータス [ サービス名 ]

サービス名を見つけるには、実行中のすべてのサービスをリストします。

systemctl リストユニットファイル - タイプ =サービス - 州 =走っています

すべてのサービスをリストしたい場合は、systemctl コマンドを使用してください。 -タイプ そして -州 オプション。

systemctl リストユニットファイル

たとえば、次のユニット パスを見つけるには、 私のサービス.サービス , statusコマンドを実行してみます。

systemctl ステータス myservice.service

出力には、次のユニット ファイルのパスが表示されます。 ロード済み セクション。

サービスのパスを取得したので、次のステップでそのパスを削除します。

警告: システムからサービス ファイルを削除する前に、システム サービス ファイルとそのシステムにとっての重要性を完全に理解することが重要です。重要なサービス ファイルをシステムから削除すると、回復不能な損傷が生じる可能性があります。

サービスファイルの削除方法

Linux でサービスを削除するには、 システムctl そして rm コマンドラインユーティリティが使用されます。 systemctl を使用してサービスを停止して無効にし、次に使用します rm サービス ファイルをそれぞれのディレクトリから削除します。

サービスファイルを削除するには、以下のコマンドシーケンスに従います。

須藤 systemctl stop サービス名

須藤 systemctl を無効にする サービス名

須藤 rm / ライブラリ / システムド / システム / サービス名 #ダウンロードしたパッケージからのサービス

須藤 rm / / システムド / システム / サービス名 #管理者によるサービス

須藤 rm / .config / システムド / ユーザー / サービス名 #一般ユーザーによるサービス

須藤 systemctl デーモン-リロード

須藤 systemctl のリセットに失敗しました

まず、削除中にサービスが実行されていないことを確認するために、サービスを停止することをお勧めします。ただし、サービスを無効にすると、再度開始することもできなくなります。その後、サービスが自動的に開始されないように、サービスを無効にする必要があります。サービスを無効にすると、サービス内で作成されたシンボリック リンクも削除されます。 。望む/ または 。 必要/ ディレクトリ。その後、次のコマンドを使用してサービス ファイルを削除します。 rm それぞれのディレクトリからコマンドを実行します。

次を使用して systemd 構成をリロードします。 デーモンリロード そして実行 リセット失敗 指示。 reset-failed コマンドは、障害状態のすべてのサービスをリセットします。

この例では、システム管理者が作成したサービスを削除してみましょう。サービス名は 私のサービス.サービス に置かれています /etc/systemd/システム ディレクトリ。

サービスのステータスを確認します。

systemctl ステータス myservice.service

サービスは実行中です。に対するパスに注意してください ロード済み セクションと 無効にする サービス。

須藤 systemctl で myservice.service を無効にする

また、シンボリックリンクも削除されます。 /etc/systemd/システム ディレクトリ。

次に、次のコマンドを使用してサービス ファイルを削除します。 rm コマンドとサービスファイルのパス。

須藤 rm / / システムド / システム / 私のサービス.サービス

ここで、systemd 構成をリロードして変更を適用します。

systemctl デーモンのリロード

それだ!サービスは削除され、システムには存在しなくなります。サービスのステータスを確認して確認してください。

結論

サービスが実行されている場合は、不要になった場合でもサービスの削除が必須になります。放置するとシステム リソースを消費する可能性があります。このガイドでは、Linux からサービスを削除する完全な方法を説明しました。まず、サービス名とパスを特定し、それを無効にします。その後、それぞれのディレクトリからサービス ファイルを削除し、systemd 構成を再ロードして手順を完了します。