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 =laufenWenn Sie alle Dienste auflisten möchten, verwenden Sie den Befehl systemctl mit -Typ Und -Zustand Optionen.
systemctl list-unit-filesZum Beispiel, um den Einheitenpfad von zu finden myservice.service , ich werde den Statusbefehl ausführen.
systemctl-Status myservice.serviceDie 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-NAMESudo 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.serviceLaden Sie nun die Systemd-Konfiguration neu, um die Änderungen zu übernehmen.
systemctl daemon-reloadDas 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.