systemD 로드 및 활성화된 장치 상태

systemD 로드 및 활성화된 장치 상태

호기심에 물어봅니다.

RHEL7 시스템 관리 가이드(https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-Managing_Services_with_systemd-Services.html#sect-Managing_Services_with_systemd-Services-List)

다음 명령은 로드된 모든 장치를 나열해야 합니다.

systemctl list-units --type service --all

그러나 실제로는 로드된 모든 서비스가 나열되지 않으며 활성화되거나 활성화된 서비스만 나열됩니다.

예를 들어:

[root@roman-centos system]# systemctl list-units --type service --all | grep httpd
[root@roman-centos system]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:httpd(8)
           man:apachectl(8)

이것이 있어야 하는 방식입니까, 아니면 문서/코드 버그일 수 있습니까?

답변1

"로드됨"은 systemd가 디스크에서 메모리로 장치를 읽었음을 의미합니다. 이는 장치(예: 상태)를 "볼" 때마다, 장치가 시작될 때 또는 장치가 로드된 다른 장치에 종속될 때 발생합니다.

여기서 오해는 "systemctl status"가언제나systemd가 상태를 표시하기 위해 장치를 로드하기 때문에 장치를 "로드됨"으로 표시합니다. 다른 목적으로 장치가 더 이상 필요하지 않은 경우 해당 장치는 즉시 제거됩니다.

디스크에서 발견된 모든 가능한 유닛 목록을 표시하려면 "systemctl list-unit-files"를 사용하십시오.

답변2

권위 있는 문서 systemctl는 Red Hat 문서가 아니지만 다음 man systemctl과 같습니다.man systemctl

`--type service` should "limit the output to only services."
`--all` should "how all loaded units, regardless of their state, including inactive units. "

따라서 귀하가 제공하는 명령은 로드된 모든 항목을 나열해야 합니다.제공하다비활성 장치를 포함하여 상태에 관계없이 장치.

Ubuntu 16.04, 버전 229에서 테스트할 때 systemd로드되었지만 비활성화된 장치가 출력에 보고되지 않는 문제를 재현했는데, 이는 문서화된 동작과 일치합니다.

이 동작은 문서와 일치하므로 이는 systemd의 버그인 것으로 보입니다. 나는 가지고있다systemd를 사용하여 오류 보고 열기이 문제에 대해.

관련 정보