So löschen Sie eine Systemd-Dienstdatei

So Loschen Sie Eine Systemd Dienstdatei



Viele Pakete unter Linux enthalten Dienstdateien, die im Hintergrund ausgeführt werden. Oftmals werden die Dienstdateien nicht gelöscht, selbst nachdem das zugehörige Paket gelöscht wurde. Folglich führt die Anhäufung unerwünschter Dienste zu einer zusätzlichen Belastung des Systems. In solchen Fällen ist es zwingend erforderlich, nicht benötigte Servicedateien zu löschen.

Um die Servicedateien zu löschen, ist es wichtig, die Verzeichnisse zu verstehen, die die Servicedateien enthalten.

Servicedateien werden in der Regel in mehreren spezifischen Verzeichnissen gespeichert, abhängig von ihrem Zweck und dem Benutzer, der sie installiert hat. Nachfolgend finden Sie eine Liste der Verzeichnisse.







/lib/systemd/system Servicedateien aus den heruntergeladenen Paketen
/etc/systemd/system Servicedateien durch den Systemadministrator
~/.config/systemd/users Servicedateien von normalen Benutzern

Wenn also ein Paket heruntergeladen wird und Daemon und Dienste bereitstellt, werden diese Dateien im gespeichert /lib/systemd/system Verzeichnis. Der /etc/systemd/system Das Verzeichnis enthält Dienstdateien, die von Systemadministratoren erstellt wurden und nur von Sudo-Benutzern geändert werden können. Während ~/.config/systemd/users Das Verzeichnis enthält Dienstdateien, die von normalen Benutzern erstellt wurden.

So greifen Sie auf die Servicedatei zu

Der erste Schritt beim Löschen einer Dienstdatei besteht darin, den genauen Pfad dafür zu ermitteln. Um den Pfad zu finden, verwenden Sie die systemctl-Status Befehl mit dem Dienstnamen.

systemctl-Status [ DIENSTNAME ]

Um den Dienstnamen zu finden, können Sie alle ausgeführten Dienste auflisten.

systemctl list-unit-files --Typ =Dienst --Zustand =laufen

Wenn Sie alle Dienste auflisten möchten, verwenden Sie den Befehl systemctl mit -Typ Und -Zustand Optionen.

systemctl list-unit-files

Zum Beispiel, um den Einheitenpfad von zu finden myservice.service , ich werde den Statusbefehl ausführen.

systemctl-Status myservice.service

Die Ausgabe zeigt den Pfad der Unit-Datei im Geladen Abschnitt.

Nachdem wir nun den Pfad des Dienstes ermittelt haben, werden wir ihn im nächsten Schritt löschen.

Warnung: Bevor Sie die Servicedateien aus dem System löschen, ist es wichtig, ein umfassendes Verständnis der Systemservicedateien und ihrer Bedeutung für das System zu haben. Das Löschen einer wichtigen Servicedatei aus dem System kann zu irreversiblen Schäden führen.

So löschen Sie die Servicedatei

Um den Dienst unter Linux zu löschen, muss der systemctl Und rm Es werden Befehlszeilen-Dienstprogramme verwendet. Verwenden Sie systemctl, um den Dienst zu stoppen und zu deaktivieren, und verwenden Sie ihn dann rm um die Servicedateien aus dem jeweiligen Verzeichnis zu entfernen.

Um die Servicedatei zu löschen, befolgen Sie die unten angegebene Befehlssequenz.

Sudo systemctl stop SERVICE-NAME

Sudo systemctl deaktiviert SERVICE-NAME

Sudo rm / lib / systemd / System / DIENSTNAME #Service aus dem heruntergeladenen Paket

Sudo rm / usw / systemd / System / DIENSTNAME #Service durch den Administrator

Sudo rm ~ / .config / systemd / Benutzer / DIENSTNAME #Service durch den normalen Benutzer

Sudo systemctl daemon-reload

Sudo Systemctl-Reset fehlgeschlagen

Erstens wird empfohlen, den Dienst zu stoppen, um sicherzustellen, dass er während der Entfernung nicht ausgeführt wird. Durch die Deaktivierung wird jedoch auch verhindert, dass er erneut gestartet wird. Dann muss es deaktiviert werden, was verhindert, dass der Dienst automatisch startet; Durch die Deaktivierung des Dienstes werden auch die im erstellten symbolischen Links entfernt .will/ oder . erfordert/ Verzeichnisse. Entfernen Sie anschließend die Dienstdateien mithilfe von rm Befehl aus dem entsprechenden Verzeichnis.

Laden Sie die Systemd-Konfigurationen mit neu Daemon-Neuladen und die Ausführung Zurücksetzen fehlgeschlagen Befehl. Der Befehl „reset-failed“ setzt alle Dienste mit einem fehlgeschlagenen Status zurück.

Beispiel

In diesem Beispiel löschen wir einen von einem Systemadministrator erstellten Dienst. Der Dienstname lautet myservice.service und wird in die gelegt /etc/systemd/system Verzeichnis.

Überprüfen Sie den Status des Dienstes.

systemctl-Status myservice.service

Der Dienst läuft; Beachten Sie den Pfad gegen die Geladen Abschnitt und deaktivieren der Service.

Sudo systemctl deaktiviert myservice.service

Außerdem wird der symbolische Link aus dem entfernt /etc/systemd/system Verzeichnis.

Als nächstes entfernen Sie die Servicedatei mit rm Befehls- und Dienstdateipfad.

Sudo rm / usw / systemd / System / myservice.service

Laden Sie nun die Systemd-Konfiguration neu, um die Änderungen zu übernehmen.

systemctl daemon-reload

Das ist es! Der Dienst wird entfernt und befindet sich nicht mehr in Ihrem System. Überprüfen Sie dies, indem Sie den Dienststatus überprüfen.

Abschluss

Das Löschen eines Dienstes ist obligatorisch, wenn er ausgeführt wird, auch wenn er nicht mehr benötigt wird. Es kann Systemressourcen verbrauchen, wenn es unbeaufsichtigt bleibt. In diesem Handbuch habe ich eine vollständige Methode zum Löschen eines Dienstes unter Linux beschrieben. Identifizieren Sie zunächst den Dienstnamen und -pfad und deaktivieren Sie ihn dann. Entfernen Sie anschließend die Servicedatei aus dem entsprechenden Verzeichnis und laden Sie die Systemd-Konfigurationen neu, um den Vorgang abzuschließen.