답변:
사용중인 명령이 모두 정확합니다 . 설명서를 참조하십시오 .
unmask
시스템에 symlink 이외의 기존 단위 파일이 없으면 명령이 실패한 것 같습니다 /dev/null
. 당신이 경우 mask
서비스가, 그가에 새 심볼릭 링크를 생성 /dev/null
의 /etc/systemd/system
경우 부팅시 부하 장치 파일에 대한 systemd 보인다. 이 경우 실제 단위 파일이 없습니다.
x11-common.service
내 시스템에도 가려졌습니다. 다음과 같이 고칠 수 있습니다.
먼저 유닛 파일이 심볼릭 링크인지 확인하십시오 /dev/null
file /lib/systemd/system/x11-common.service
반환해야합니다 :
/lib/systemd/system/x11-common.service: symbolic link to /dev/null
이 경우 삭제
sudo rm /lib/systemd/system/x11-common.service
유닛 파일을 변경 했으므로 다음을 실행해야합니다.
sudo systemctl daemon-reload
이제 상태를 확인하십시오.
systemctl status x11-common
로드되어 실행 중이라고 말하지 않으면 (원이 여전히 빨간색 인 경우) 패키지를 다시 설치하십시오.
sudo apt-get install --reinstall x11-common
데몬을 다시로드하십시오.
sudo systemctl daemon-reload
다시 한 번 상태를 확인하십시오
systemctl status x11-common
이제는 녹색이고 실행 중입니다.) 서비스에 시스템 단위 파일이 없지만 systemd는 /etc/init.d
대신 대신 스크립트를 사용합니다 .
/etc/init/
...). 새로운 질문을하고 싶을 수도 있습니다. 내가 명백한 차이를 만들지 않은 것은로드 된 마스크 죽은 (빨간색) 대신 서비스가로드, 활성화, 중지 (시작시 활성화) (녹색)로 표시됩니다. 로그를 읽어야합니다.
/dev/null
합니까? 그래도 당신은 내 대답에 대해 옳습니다. 나는이 솔루션을 systemd의 혼란스러운 행동을위한 해결책이라고 부를 것이다
아래 단계를 따르십시오.
systemctl edit systemd-hostnamed
아래에 2 줄을 추가 한 다음 편집기를 종료하십시오 (프롬프트가 표시되면 반드시 저장하십시오).
[Service]
PrivateNetwork=no
그러면 디렉토리에 위의 두 줄이있는 override.conf 파일이 생성됩니다.
/etc/systemd/system/systemd-hostnamed.service.d/
업데이트 시스템 :
systemctl daemon-reload
그런 다음 서비스를 다시 시작하십시오.
systemctl restart systemd-hostnamed
이제 매달리지 hostnamectl
않고도 달릴 수 있습니다 .