Como remover serviços do systemd

110

Se eu instalar um novo serviço e decidir que não desejo mais esse aplicativo e excluí-lo, o serviço ainda estará listado na saída de systemctl como erro .

De onde isso vem e como posso removê-los completamente?

    
por emel 01.12.2012 / 03:23

5 respostas

182

Minha receita para obliteração de serviço (tenha cuidado com as declarações 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

É possível que o serviço systemd 'encapsule' os scripts de estilo antigo em /etc/init.d, assim você pode querer limpá-lo também, mas isso não onde os serviços systemd vivem .

    
por 06.07.2015 / 18:46
23

Parece que você desinstalou, mas não removeu o gancho systemd:

# systemctl disable [servicename]

    
por 01.12.2012 / 06:39
16

Provavelmente você está procurando reset-failed :

$ sudo systemctl reset-failed
$

Na página do manual do systemd:

reset-failed [PATTERN...]

Reset the "failed" state of the specified units, or if no unit name is passed, reset the state of all units. When a unit fails in some way (i.e. process exiting with non-zero error code, terminating abnormally or timing out), it will automatically enter the "failed" state and its exit code and status is recorded for introspection by the administrator until the service is restarted or reset with this command.

    
por 13.04.2016 / 11:41
4

Adicionando a resposta do @mar-lakata e tendo em mente a atenção necessária para o rm comando. [chkconfig] pode simplificar o processo! ( clique aqui para ler sobre o chkconfig )

Para reiterar a lista de comandos:

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

Nota: O primeiro comando é opcional, dependendo se você deseja manter o serviço em execução na presente sessão ou não (como para esta questão, o comando deve ser usado).

O segundo comando cuida da desabilitação e remoção (seguindo os links simbólicos) do serviço.

    
por 29.07.2018 / 14:48
0

Removendo um serviço do systemd:

O Systemd usa unidade (arquivo para definir serviços) para remover um serviço que a unidade precisa ser removida ... aqui está uma lista de locais de unidade:

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

Atualizar systemd:

systemctl daemon-reload
systemctl reset-failed

Serviços fantasma (não encontrados):

O Systemd pode listar serviços fantasmas (não encontrados) mesmo se a unidade for excluída por vários motivos

  1. unidade ainda presente em um dos diretórios systemd
  2. a unidade não sai, mas um link de arquivo ainda está presente em um dos diretórios systemd
  3. o serviço é usado em outra (s) unidade (s) *

(*) se um serviço for mencionado em outra unidade, mas não existir, o systemd ainda listará esse serviço com o estado não encontrado, mesmo que não haja arquivo de unidade ... você pode procurar em qual unidade está usando esse serviço. uma pesquisa de texto e editar essas unidades (não recomendado se você planeja instalar esse serviço mais tarde)

    
por 07.11.2018 / 16:31

Tags