web-dev-qa-db-fra.com

Comment supprimer les services systemd

Si j’installe un nouveau service puis décide de ne plus utiliser cette application et le supprime, le service est toujours répertorié dans la sortie de systemctl comme error .

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

144
emel

Ma recette pour le service oblitération (soyez prudent avec les 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 «encapsule» les scripts de style ancien dans /etc/init.d; vous voudrez peut-être nettoyer cela également, mais c'est pas où les services systemd sont actifs.

237
Mark Lakata

On dirait que vous l'avez désinstallé, mais que vous n'avez pas supprimé le hook systemd:

# systemctl disable [servicename]

23
nerdwaller

Vous recherchez probablement reset-failed:

$ Sudo systemctl reset-failed
$

Depuis la page de manuel de systemd:

reset-failed [PATTERN...]

Réinitialisez l'état "en échec" des unités spécifiées ou, si aucun nom d'unité n'est transmis, réinitialisez l'état de toutes les unités. Lorsqu'une unité tombe en panne de quelque manière que ce soit (processus sortant avec un code d'erreur différent de zéro, se terminant de manière anormale ou expirant), elle passe automatiquement à l'état "en échec" et son code de sortie et son statut sont enregistrés pour que l'introspection soit effectuée par l'administrateur est redémarré ou réinitialisé avec cette commande.

21
Vebjorn Ljosa

Ajouter à @ mark-lakata et garder à l'esprit l'attention requise pour la commande rm. [chkconfig] peut simplifier le processus! ( cliquez ici pour en savoir plus sur chkconfig )

Pour réitérer la liste des commandes:

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

Remarque: La 1ère commande est facultative selon que vous souhaitez ou non que le service continue de fonctionner dans la session actuelle (la commande doit être utilisée pour cette question).

La 2ème commande permet de désactiver et de supprimer (en suivant les liens symboliques) le service.

4
garlicFrancium

Supprimer un service de systemd:

Systemd utilise unit (fichier pour définir les services) pour supprimer un service. L'unité doit être supprimée. Voici une liste des emplacements d'unités:

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

Actualiser le système:

systemctl daemon-reload
systemctl reset-failed

Services fantômes (non trouvés):

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

  1. unité toujours présente sur l'un des répertoires systemd
  2. l'unité ne se ferme pas mais un lien de fichier est toujours présent sur l'un des répertoires systemd
  3. le service est utilisé dans d'autres unités *

(*) si un service est mentionné dans une autre unité mais n'existe pas, systemd listera quand même ce service avec l'état non trouvé, 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 éditez ces unités (non recommandé si vous prévoyez d'installer ce service ultérieurement)

0
intika