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

Comment supprimer des services systemd

Si j'installe un nouveau service puis décide que je ne veux plus de cette application et que je la supprime, le service est toujours répertorié dans la sortie de systemctl comme erreur.

D'où cela vient-il et comment puis-je les supprimer complètement ?

Réponses (5)

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

Ma recette pour l'effacement des services (attention aux déclarations rm !)

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

Il est possible que le service systemd “enveloppe” les anciens scripts de style dans /etc/init.d, donc vous pouvez vouloir nettoyer cela aussi, mais ce n'est pas là où les services systemd vivent.

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

Vous cherchez probablement reset-failed :

$ sudo systemctl reset-failed
$

Depuis la page de manuel du système :

reset-failed [PATTERN...]

Réinitialiser l'état “échec” des unités spécifiées, ou si aucun nom d'unité n'est transmis, réinitialiser l'état de toutes les unités. Lorsqu'une unité échoue d'une manière ou d'une autre (c'est-à-dire lorsqu'elle quitte le service avec un code d'erreur non nul, qu'elle se termine anormalement ou qu'elle est en panne), elle passe automatiquement à l'état “échec” et son code de sortie ainsi que son état sont enregistrés pour être examinés par l'administrateur jusqu'à ce que le service soit redémarré ou réinitialisé avec cette commande.

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

On dirait que vous l'avez désinstallé, mais que vous n'avez pas enlevé le crochet système :

# systemctl disable [servicename]

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

En complétant la réponse de [ @mark-lakata ]&3 et en gardant à l'esprit l'attention requise pour la commande rm. [chkconfig] peut simplifier le processus ! cliquez ici pour lire l'article sur chkconfig )

Pour réitérer la liste des commandes :

  1. systemctl stop [servicename]
  2. chkconfig [servicename] off
  3. systemctl daemon-reload
  4. Note : La 1ère commande est optionnelle selon que vous souhaitez ou non maintenir le service dans la session actuelle (pour cette question, la commande doit être utilisée). La 2ème commande s'occupe à la fois de la désactivation et de la suppression (en suivant les liens symboliques) du service.
1
1
1
2018-11-07 15:31:17 +0000

Removing a service from systemd :

Systemd utilise unit (file to define services) pour supprimer un service ; l'unité doit être supprimée… voici une liste des emplacements de l'unité :

/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)

Rafraîchir systemd :

systemctl daemon-reload
systemctl reset-failed

Services fantômes (non trouvés) :

Systemd peut lister les services fantômes (non trouvés) même si l'unité est supprimée pour de nombreuses raisons

  1. unité toujours présente sur un des répertoires de systemd
  2. l'unité ne quitte pas mais un lien de fichier est toujours présent sur un des répertoires de systemd
  3. le service est utilisé dans une ou plusieurs autres unités

(*) si un service est mentionné dans une autre unité mais n'existe pas systemd listera toujours ce service avec l'état not-found même s'il n'y a pas de fichier d'unité… vous pouvez rechercher quelle unité utilise ce service avec une recherche de texte et modifier ces unités (non recommandé si vous prévoyez d'installer ce service plus tard)