2012-12-01 02:23:18 +0000 2012-12-01 02:23:18 +0000
218
218

Wie entferne ich Systemdienste

Wenn ich einen neuen Dienst installiere und dann entscheide, dass ich diese Anwendung nicht mehr möchte, und sie lösche, wird der Dienst in der Ausgabe von systemctl immer noch als Fehler aufgeführt.

Woher kommt das und wie kann ich sie gründlich entfernen?

Antworten (5)

352
352
352
2015-07-06 16:46:50 +0000

Mein Rezept für die Dienstvernichtung (Vorsicht mit den rm-Anweisungen!)

systemctl stop [servicename]
systemctl disable [servicename]
rm /etc/systemd/system/[servicename]
rm /etc/systemd/system/[servicename] symlinks that might be related
systemctl daemon-reload
systemctl reset-failed

Es ist möglich, dass der systemd-Dienst die Skripte im alten Stil in /etc/init.d ‘umhüllt’, so dass Sie das vielleicht auch bereinigen wollen, aber das ist nicht der Ort, an dem die systemd-Dienste leben.

34
34
34
2016-04-13 09:41:17 +0000

Sie suchen wahrscheinlich nach reset-failed:

$ sudo systemctl reset-failed
$

Von der systemd man page:

reset-failed [PATTERN...]

Rücksetzen des “fehlgeschlagenen” Zustands der angegebenen Einheiten oder, falls kein Name der Einheit übergeben wird, Rücksetzen des Zustands aller Einheiten. Wenn eine Einheit auf irgendeine Weise ausfällt (d.h. ein Prozess wird mit einem Fehlercode ungleich Null beendet, endet anormal oder läuft aus), geht sie automatisch in den “ausgefallenen” Zustand über, und ihr Ausgangscode und -status wird zur Selbstprüfung durch den Administrator aufgezeichnet, bis der Dienst neu gestartet oder mit diesem Befehl zurückgesetzt wird.

24
24
24
2012-12-01 05:39:23 +0000

Hört sich an, als hätten Sie es deinstalliert, aber den systemd hook nicht entfernt:

# systemctl disable [servicename]

5
5
5
2018-07-29 12:48:30 +0000

Wenn man die Antwort von @mark-lakata ergänzt und die für den Befehl rm erforderliche Aufmerksamkeit im Auge behält, kann [chkconfig] den Prozess vereinfachen! klicken Sie hier, um über chkconfig ) zu lesen)

Um die Liste der Befehle zu wiederholen:

  1. systemctl stop [servicename]
  2. chkconfig [servicename] off
  3. systemctl daemon-reload
  4. systemctl reset-failed

Hinweis: Der erste Befehl ist optional, je nachdem, ob Sie den Dienst in der aktuellen Sitzung laufen lassen wollen oder nicht (da für diese Frage der Befehl verwendet werden sollte).

Der zweite Befehl kümmert sich sowohl um die Deaktivierung als auch um das Entfernen (den Symlinks folgend) des Dienstes.

1
1
1
2018-11-07 15:31:17 +0000

Entfernen eines Dienstes aus systemd :

Systemd verwendet unit (Datei zur Definition von Diensten), um einen Dienst zu entfernen, den die Unit entfernt werden muss… hier ist eine Liste von Unit-Orten :

/etc/systemd/system/ (and sub directories)
/usr/local/etc/systemd/system/ (and sub directories)
~/.config/systemd/user/ (and sub directories)
/usr/lib/systemd/ (and sub directories)
/usr/local/lib/systemd/ (and sub directories)
/etc/init.d/ (Converted old service system)

System aktualisieren :

systemctl daemon-reload
systemctl reset-failed

Ghost-Dienste (nicht gefunden) :

Systemd kann Ghost-Dienste (nicht gefunden) auflisten, auch wenn die Unit aus vielen Gründen gelöscht wird

  1. Unit noch auf einem der Systemverzeichnisse vorhanden
  2. 3. der Dienst wird in einer oder mehreren anderen Einheit(en) verwendet *

(*) Wenn ein Dienst in einer anderen Einheit erwähnt wird, aber nicht existiert, listet Systemd diesen Dienst trotzdem mit dem Status “nicht gefunden” auf, auch wenn es keine Datei der Einheit gibt… Sie können mit einer Textsuche nach der Einheit suchen, die diesen Dienst verwendet, und diese Einheiten bearbeiten (nicht empfohlen, wenn Sie planen, diesen Dienst später zu installieren)