Jak usunąć usługi systemd
Jeśli zainstaluję nową usługę, a następnie zdecyduję, że nie chcę już tej aplikacji i usunę ją, usługa nadal jest wymieniona na wyjściu z systemctl
jako error.
Skąd to się bierze i jak mogę je dokładnie usunąć?
Jeśli zainstaluję nową usługę, a następnie zdecyduję, że nie chcę już tej aplikacji i usunę ją, usługa nadal jest wymieniona na wyjściu z systemctl
jako error.
Skąd to się bierze i jak mogę je dokładnie usunąć?
Mój przepis na obliteration serwisu (uważaj na stwierdzenia 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
Jest możliwe, że serwis systemd “zawija” skrypty starego stylu w /etc/init.d, więc może i to chcesz wyczyścić, ale to jest nie gdzie serwisy systemd żyją.
Prawdopodobnie szukasz reset-failed
:
$ sudo systemctl reset-failed
$
Na stronie systemd man:
reset-failed [PATTERN...]
Resetuj “nieudany” stan określonych jednostek, lub jeśli nie podano nazwy jednostki, resetuj stan wszystkich jednostek. Jeśli urządzenie w jakiś sposób zawiedzie (np. wyjście z procesem z niezerowym kodem błędu, anormalne zakończenie lub zresetowanie), to automatycznie wprowadzi stan “fail”, a jego kod wyjścia i stan zostanie zarejestrowany przez administratora w celu wstępnej inspekcji, aż do momentu ponownego uruchomienia lub zresetowania usługi tym poleceniem.
Brzmi jakbyś go odinstalował, ale nie wyciągnął haka systemowego:
# systemctl disable [servicename]
Dodając do odpowiedzi @mark-lakata i pamiętając o uważności wymaganej dla polecenia rm
. [chkconfig]
może uprościć ten proces! kliknij tutaj aby przeczytać o chkconfig )
Aby powtórzyć listę komend:
systemctl stop [servicename]
chkconfig [servicename] off
systemctl daemon-reload
systemctl reset-failed
Uwaga: Pierwsze polecenie jest opcjonalne w zależności od tego, czy chcemy, aby usługa działała w bieżącej sesji, czy nie (ponieważ w tym pytaniu należy użyć tego polecenia).
Drugie polecenie zajmuje się zarówno wyłączaniem, jak i usuwaniem (po symulatorach) usługi.
Usunięcie usługi z systemd :
Systemd używa jednostki (plik do definiowania usług), aby usunąć usługę, którą trzeba usunąć… Oto lista lokalizacji jednostek :
/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)
Odśwież systemd :
systemctl daemon-reload
systemctl reset-failed
Usługi ghost (nie znaleziono) :
Systemd może wymienić usługi ghost (nie znaleziono) nawet jeśli jednostka została usunięta z wielu powodów
(*), jeśli usługa jest wymieniona w innej jednostce, ale nie istnieje Systemd nadal wyświetli tę usługę ze stanem nie znalezionym, nawet jeśli nie ma pliku jednostki… możesz wyszukać, która jednostka używa tej usługi z wyszukiwaniem tekstowym i edytować te jednostki (nie zalecane, jeśli planujesz zainstalować tę usługę później)