Réponses:
Ma recette pour le service oblitération (soyez prudent avec les rm
déclarations!)
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 ce n'est pas là que résident les services systemd.
/etc/init.d/[servicename]
avant de courirsystemctl reset-failed
systemctl cat [servicename]
.
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é échoue de quelque manière que ce soit (c.-à-d. Processus sortant avec un code d'erreur différent de zéro, se terminant anormalement ou expirant), elle passe automatiquement à l'état "en échec" et son code de sortie et son statut sont enregistrés en vue d'une introspection par l'administrateur jusqu'à ce que le service est redémarré ou réinitialisé avec cette commande.
On dirait que vous l'avez désinstallé, mais que vous n'avez pas supprimé le hook systemd:
# systemctl disable [servicename]
En ajoutant à la réponse de @ mark-lakata et en gardant à l'esprit l'attention requise pour la rm
commande. [chkconfig]
peut simplifier le processus! ( cliquez ici pour en savoir plus sur chkconfig )
Pour réitérer la liste des commandes:
systemctl stop [servicename]
chkconfig [servicename] off
systemctl daemon-reload
systemctl reset-failed
Remarque: La 1ère commande est facultative, selon que vous souhaitiez 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.
chkconfig
était la commande d'origine pour activer / désactiver les services SysVinit. Dans les systèmes utilisant systemd
, il peut être présent en tant que commande de compatibilité ascendante; mais la systemctl
commande native est aussi simple:systemctl disable [servicename]
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)
/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)
Actualiser systemd:
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
(*) 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)
/usr/lib/systemd/system
et aussi/etc/systemd/system/
. Pour référence, voir: access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/…