![O que está iniciando um serviço específico](https://rvso.com/image/231065/O%20que%20est%C3%A1%20iniciando%20um%20servi%C3%A7o%20espec%C3%ADfico.png)
Estou executando o AlmaLinux 9 e tenho um serviço (chamado de "X"). Quero descobrir o que está iniciando o serviço X (já que está desabilitado).
Existe um comando que mostrará qual outro serviço iniciará o X (como uma dependência ou outro)?
Responder1
systemd-analyze
parece ser o que você está procurando. Você precisará instalar graphviz
para obter o renderizador de gráfico dot
, cujo formato de entrada systemd-analyze dot
gera. (isso não precisa acontecer na mesma máquina. Para simplificar, vamos fazer isso na mesma máquina.)
systemd-analyze dot --require > graph.dot
grep -v 'color="red"' | dot -Tsvg Gsplines=line > graph_embedding.svg
firefox graph_embedding.svg # or some other SVG viewer
(aqui, suprimimos os "conflitos com" bordas vermelhas e usamos dot
linhas retas ao conectar nós; os splines que ele usa por padrão tornam quase todos os gráficos maiores incorporados ambíguos para leitura; não está claro para mim o que os autores estavam pensando ali. )
Isso pode ser um pouco de informação em uma imagem. Eu recomendo que você crie um script rápido para extrair a subárvore de dependências reversas começando no nó de seu interesse, mas, infelizmente, esse é um problema único (espero), então abra graph.dot
em seu editor de texto favorito. procure ocorrências de ->"X.service"
, observe o que resta de ->
, então você entende o que já requer X ou descobre o que começaqueserviço procurando por isso no lado direito de ->
.