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

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ąć?

Odpowiedzi (5)

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

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ą.

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

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.

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

Brzmi jakbyś go odinstalował, ale nie wyciągnął haka systemowego:

# systemctl disable [servicename]

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

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:

  1. systemctl stop [servicename]
  2. chkconfig [servicename] off
  3. systemctl daemon-reload
  4. 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.

1
1
1
2018-11-07 15:31:17 +0000

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

  1. jednostka wciąż obecna w jednym z katalogów systemd
  2. Jednostka nie kończy pracy, ale link do pliku nadal znajduje się w jednym z katalogów systemd
  3. usługa jest używana w innej jednostce/jednostkach *

(*), 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)