명령을 실행하면 sudo systemctl list-unit-files
(sudo가 선택 사항이라고 생각합니다) 모든 서비스와 상태를 보여주는 출력을 얻습니다.
내 컴퓨터의 스 니펫은 다음과 같습니다.
UNIT FILE STATE
...
debian-fixup.service static
debug-shell.service disabled
display-manager.service enabled
dns-clean.service enabled
dsmcad.service enabled
emergency.service static
failsafe-x.service static
friendly-recovery.service masked
fuse.service masked
gdm.service masked
getty-static.service static
getty@.service enabled
gpsd.service indirect
gpsdctl@.service static
gpu-manager.service enabled
halt-local.service static
halt.service masked
hostname.service masked
...
일부 서비스가 “마스크”상태 인 이유가 궁금합니다. 나는 이것이 “손 으로든 체계적 으로든 서비스를 시작할 수 없기 때문에 이것이 ‘비활성화’보다 낫다”고 생각한다.
서비스 장치 상태에 대한 자세한 정보를 얻으려면 어떻게해야합니까?
누가 단위를 각자의 상태에 넣었습니까?
예를 들어,
단위 파일에서 줄을 sudo systemctl help dsmcad
가져옵니다 documentation = ...
./etc/systemd/system/dsmcad.service
참고 : 여기에 내가 아는 바로 , 내가 나 자신을 설치 한 어떤 서비스를에 dsmcad하고 무엇을하지 않습니다. 일반적인 솔루션에 더 관심이 있습니다.
답변
mask
의 더 강력한 버전입니다 disable
. disable
지정된 단위 파일의 모든 심볼릭 링크를 사용하면 제거됩니다. mask
단위를 사용 하면에 연결됩니다 /dev/null
. 예를 들어 by로 확인하면 표시됩니다 systemctl status halt.service
. 장점은 mask
모든 종류의 활성화, 심지어 수동을 방지하는 것입니다.
주의 : systemctl list-unit-files
장치 파일 의 상태 (정적, 활성화, 비활성화, 마스크, 간접)를 나열하고 있으며 서비스 상태와 관련이 없습니다. 서비스 사용을 살펴 보려면 systemctl list-units
.
답변
hostname.service
systemd
시작 중에 호스트 이름 (/ etc / hostname에서)을 매우 일찍 설정 하므로 중복으로 마스크됩니다 .
이 설정은 데비안 시스템 패키지에서 제공합니다.
$ ls -l /lib/systemd/system/hostname.service
lrwxrwxrwx 1 root root 9 Apr 8 22:47 /lib/systemd/system/hostname.service -> /dev/null
$ dpkg-query --search /lib/systemd/system/hostname.service
systemd: /lib/systemd/system/hostname.service
마찬가지로, 데비안은 이제 halt
시스템에 쉘 스크립트없이 실행할 수 있으며 , 대신 systemd-shutdown (source code here )에 의해 처리 됩니다.
서비스가 수동으로 마스킹 된 경우 /etc/systemd/system
대신 마스크가 설치 됩니다.
서비스는 Debian / Ubuntu에서 제거 될 때 마스크됩니다 . 이유를 모르겠습니다.
답변
마스킹 된 상태에 대한 정보를 요청하고 있으므로 서비스를 시작한 후 정의를 수정 한 후 다시로드하고 (systemctl daemon-reload) 새 상태가 정상이 아닌 서비스에서 관찰 될 수 있음을 언급하는 것이 중요합니다 . 이해하기 쉬운 예는 다음과 같습니다.
a) the service is running well (already started)
b) edit the service definition file and delete everything in its contents
c) reload
d) state masked will be observed too
따라서, 마스킹 된 상태는 부적절한 서비스 정의로부터 시작될 수있다. 따라서, 사용자는 서비스를 부적절하게 편집함으로써 마스킹되지 않은 상태를 유도 할 수있다.
관찰 : 의도적으로 발생하는지 또는 간단한 버그 (기본 옵션)인지 확실하지 않지만 공유하기에 흥미로운 정보 일 수 있습니다