나는 AlmaLinux 9를 실행하고 있으며 서비스("X"라고 함)를 가지고 있습니다. 서비스 X를 시작하는 것이 무엇인지 알아내려고 노력 중입니다(비활성화되었기 때문에).
어떤 다른 서비스가 X를 시작할 것인지(종속성으로 또는 다른 방식으로) 표시할 수 있는 명령이 있습니까?
답변1
systemd-analyze
당신이 찾고있는 것 같습니다. 입력 형식이 생성되는 graphviz
그래픽 렌더러를 얻으려면 이를 설치해야 합니다 . (동일한 머신에서 이런 일이 일어날 필요는 없습니다. 단순화를 위해 그렇게 하겠습니다.)dot
systemd-analyze dot
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
(여기서 우리는 빨간색 가장자리로 "충돌"을 억제하고 dot
노드를 연결할 때 직선을 사용했습니다. 기본적으로 사용하는 스플라인은 거의 모든 더 큰 포함된 그림을 읽기 어렵게 만듭니다. 저자가 거기에서 의도한 바가 명확하지 않습니다.)
한 장의 사진에 너무 많은 정보가 담겨 있을 수 있습니다. 관심 있는 노드에서 시작하여 역 종속성의 하위 트리를 추출하는 빠른 스크립트를 작성하는 것이 좋습니다. 하지만 아쉽게도 이는 일회성 문제이므로 graph.dot
즐겨 사용하는 텍스트 편집기에서 엽니다. 발생 항목을 찾고 ->"X.service"
나머지를 기록 ->
하면 X가 필요한 항목이 무엇인지 이미 알고 있거나 시작된 항목을 찾을 수 있습니다.저것오른쪽에서 서비스를 검색합니다 ->
.