Je n'arrive pas à comprendre comment supprimer les unités systemd qui ne possèdent plus de fichiers. Ils semblent toujours s'attarder dans le système.
Les anciennes unités brisées que j'essaie de supprimer:
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'.
Les fichiers n’existent pas, mais un rechargement a toujours ces unités en attente:
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'.
Je ne peux trouver aucun fichier lié à ces fichiers:
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 ~ $
Alors, comment puis-je m'en débarrasser?
systemctl disable
, non?Réponses:
La commande que vous recherchez est
systemctl reset-failed
la source
disable
,daemon-reload
etreset-failed
mais le service d'alias qui se présente commenot-found inactive dead
toujours. J'ai également recherché sur le disque tout ce qui correspond au nom du service sans résultat.systemctl stop <service>
a fonctionné pour moi.reset-failed
pouvoir les nettoyer.Lorsque systemd analyse les fichiers de définition d'unité, il prend note de toute autre unité associée appelée dans le fichier, que ces unités existent ou non.
Lorsqu'une unité apparaît comme "non trouvée", ce n'est pas nécessairement une erreur - tout ce que nous savons, c'est qu'une définition d'une unité locale prétend avoir une relation avec elle. Cette relation pourrait ne pas nous intéresser. Par exemple, il pourrait s'agir d'
"Before:"
une autre unité, mais nous n'utilisons pas cette autre unité.la source
Il semblerait que systemd maintienne les liens mais ne sache pas quoi en faire lorsque vous supprimez le fichier unité.
Vous pouvez essayer de les supprimer manuellement
/etc/systemd/system/suspend.target.wants/
, maissystemctl reset-failed
une réponse précédente semble bien sûr être une meilleure option.la source