Ich habe Probleme beim Entfernen von Systemeinheiten, die keine Dateien mehr haben. Sie scheinen immer noch irgendwie im System zu verweilen.
Die alten defekten Einheiten, die ich entfernen möchte:
core@ip-172-16-32-83 ~ $ systemctl list-units --all firehose-router*
UNIT LOAD ACTIVE SUB DESCRIPTION
<E2><97><8F> [email protected] not-found failed failed [email protected]
<E2><97><8F> [email protected] not-found failed failed [email protected]
LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.
2 loaded units listed.
To show all installed unit files use 'systemctl list-unit-files'.
Die Dateien existieren nicht, aber beim erneuten Laden verweilen folgende Einheiten:
core@ip-172-16-32-83 ~ $ systemctl list-unit-files [email protected]
core@ip-172-16-32-83 ~ $ sudo systemctl daemon-reload
core@ip-172-16-32-83 ~ $ systemctl list-units --all firehose-router*
UNIT LOAD ACTIVE SUB DESCRIPTION
<E2><97><8F> [email protected] not-found failed failed [email protected]
<E2><97><8F> [email protected] not-found failed failed [email protected]
LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.
2 loaded units listed.
To show all installed unit files use 'systemctl list-unit-files'.
Es gibt keine zugehörigen Dateien, die ich finden kann:
core@ip-172-16-32-83 ~ $ sudo find /var/run/systemd -name "*firehose-router*"
core@ip-172-16-32-83 ~ $ find /etc/systemd/ -name "*firehose-router*"
core@ip-172-16-32-83 ~ $ find /usr/lib/systemd/ -name "*firehose-router*"
core@ip-172-16-32-83 ~ $
Wie werde ich diese also los?
systemctl disable
, oder?Antworten:
Der Befehl, den Sie suchen, lautet
systemctl reset-failed
quelle
disable
,daemon-reload
undreset-failed
aber der Alias - Dienst kommt , wie obennot-found inactive dead
immer. Ich habe auch auf der Festplatte nach Elementen gesucht, die mit dem Dienstnamen übereinstimmen, ohne dass Ergebnisse erzielt wurden.systemctl stop <service>
für mich gearbeitet.reset-failed
sie bereinigt werden können.Wenn systemd Einheitendefinitionsdateien analysiert, werden alle anderen zugehörigen Einheiten, die in der Datei aufgerufen werden, notiert - unabhängig davon, ob diese anderen Einheiten vorhanden sind oder nicht.
Wenn eine Einheit als "nicht gefunden" angezeigt wird, ist dies nicht unbedingt ein Fehler. Wir wissen nur, dass eine lokale Einheitendefinition behauptet, eine Beziehung zu ihr zu haben. Diese Beziehung interessiert uns vielleicht nicht. Zum Beispiel könnte es
"Before:"
eine andere Einheit sein, aber wir verwenden diese andere Einheit nicht.quelle
Es scheint, dass systemd Verknüpfungen beibehält, aber nicht weiß, was mit ihnen zu tun ist, wenn Sie die Unit-Datei löschen.
Sie könnten versuchen, sie manuell in zu entfernen,
/etc/systemd/system/suspend.target.wants/
aber natürlichsystemctl reset-failed
klingt eine vorherige Antwort nach einer besseren Option.quelle