이 문제Q: "systemctl에서 활성화된 모든 서비스를 어떻게 나열합니까?" 이 페이지의 답변은 다음과 같습니다.
systemctl list-unit-files | grep enabled
systemctl list-unit-files --state=enabled
최소한 systemd 버전 229(Ubuntu 16.04)부터 systemctl list-unit-files
레거시 초기화 스크립트를 통해 시작된 "LSB" 서비스는 포함되지 않습니다.
따라서 원래 질문에 대한 답은 아직 남아 있는 것 같습니다. systemd는 레거시 서비스를 포함하여 부팅 시 시작하려고 시도할 모든 서비스(및 기타 장치 유형) 목록을 표시할 수 있습니까?
고려하다:
$ systemctl list-units | grep LSB | grep grub
grub-common.service loaded active exited LSB: Record successful boot for GRUB
$ systemctl list-unit-files | grep enabled | grep grub || echo 'nothing found'
nothing found
$ systemctl is-enabled grub-common
grub-common.service is not a native service, redirecting to systemd-sysv-install
Executing /lib/systemd/systemd-sysv-install is-enabled grub-common
enabled
systemctl
grub-common
명시적으로 요청하면 systemctl
활성화되었다는 메시지가 표시된다는 점을 이해하세요 .
그렇다면... 레거시 스크립트를 포함하여 시작 시 실행하려고 시도할 모든 서비스 목록을 표시하도록 systemd를 얻을 수 있는 방법이 있습니까?
답변1
나는 당신이 원하는 명령이 다음과 같다고 생각합니다.
systemctl list-units --type service --all
내 테스트에서는 이전 시작 서비스의 서비스까지 포함하여 모든 서비스가 나열되었습니다.
원천:
답변2
나는 당신이 원하는 것이 무엇인지 믿습니다
systemctl list-unit-files --type service --state enabled
설치된 장치 파일을 나열 하는 데 사용됩니다 list-unit-files
(현재 메모리에 있는 파일뿐만 아니라). 매뉴얼 페이지의 일부 관련 섹션:
list-units [PATTERN...] List units currently in memory
list-unit-files [PATTERN...] List installed unit files
is-enabled UNIT... Check whether unit files are enabled
-t --type=TYPE List units of a particular type
--state=STATE List units with particular LOAD or SUB or ACTIVE state
-a --all Show all properties/all units currently in memory,
including dead/empty ones. To list all units installed
on the system, use 'list-unit-files' instead.
이전 버전의 systemd에서이것은 사실이 아니다:
정말 오래된 시스템 버전에서는 "systemctl list-unit-files"가 기본 유닛 파일만 표시합니다. 최신 버전에서는 더 쉽게 찾을 수 있도록 생성된 유닛 파일도 표시됩니다.
생성된 모든 서비스를 is-enabled
. 일부는 return enabled
, 일부는 return disabled
, 일부는 세 번째 상태 " generated
"(모두)를 반환합니다. 나는 이것에 대해 잘 모르겠습니다.
systemctl is-enabled $(systemctl list-unit-files --type service --state generated | awk '/.*\.service/ {print $1}' | tr '\n' ' ') |& grep "^\w*$" | sort | uniq -c | sort -rn