Se eu instalar um novo serviço e decidir que não quero mais esse aplicativo e excluí-lo, o serviço ainda será listado na saída systemctl
como erro .
De onde isso vem e como posso removê-los completamente?
Minha receita para obliteração de serviço (tenha cuidado com as rm
declarações!)
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 'agrupe' os scripts de estilo antigo em /etc/init.d, portanto, você pode limpar isso também, mas não é aí que os serviços systemd estão.
/usr/lib/systemd/system
e também/etc/systemd/system/
. Para referência ver: access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/.../etc/init.d/[servicename]
antes de executarsystemctl reset-failed
systemctl cat [servicename]
.Você provavelmente está procurando
reset-failed
:Na página de manual systemd:
fonte
Parece que você o desinstalou, mas não removeu o gancho systemd:
# systemctl disable [servicename]
fonte
Adicionando à resposta de @ mark-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:
systemctl stop [servicename]
chkconfig [servicename] off
systemctl daemon-reload
systemctl reset-failed
Nota: O 1º comando é opcional, dependendo se você deseja manter o serviço em execução na presente sessão ou não (quanto a esta pergunta, o comando deve ser usado).
O segundo comando cuida da desativação e remoção (seguindo os links simbólicos) do serviço.
fonte
chkconfig
foi o comando original para ativar / desativar os serviços SysVinit. Nos sistemas em usosystemd
, ele pode estar presente como um comando de compatibilidade com versões anteriores; mas osystemctl
comando nativo é tão simples quanto:systemctl disable [servicename]
Removendo um serviço do systemd:
O Systemd usa a unidade (arquivo para definir serviços) para remover um serviço que a unidade precisa ser removida ... aqui está uma lista de locais da unidade:
Atualizar systemd:
Serviços fantasmas (não encontrados):
O Systemd pode listar serviços fantasmas (não encontrados), mesmo que a unidade seja excluída por vários motivos
(*) 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 um arquivo de unidade ... você pode pesquisar qual unidade está usando esse serviço com uma pesquisa de texto e edite essas unidades (não recomendado se você planeja instalar esse serviço posteriormente)
fonte