systemctl, 마스크를 해제하는 방법


27
root@gcomputer:~# systemctl status x11-common
● x11-common.service
   Loaded: masked (/dev/null; bad)
   Active: inactive (dead)

나는 시도 systemctl unmask x11-common하고 systemctl unmask x11-common.service있지만 아무것도 변경하지 않았다.

마스크를 어떻게 해제합니까?

답변:


35

사용중인 명령이 모두 정확합니다 . 설명서를 참조하십시오 .

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대신 대신 스크립트를 사용합니다 .


좋아요, 후속 질문 : 시스템에 마스킹 된 경우이 서비스는 무엇입니까? 그것이 우리 모두를 위해 가면 실제로 필요하지 않은 것처럼 보입니다.
Albert Albert

@Albert [여기 참조] ( askubuntu.com/questions/712276/… )는 시스템 단위 파일없이 파일이 작동하는 것 같습니다 (파일이 /etc/init/...). 새로운 질문을하고 싶을 수도 있습니다. 내가 명백한 차이를 만들지 않은 것은로드 된 마스크 죽은 (빨간색) 대신 서비스가로드, 활성화, 중지 (시작시 활성화) (녹색)로 표시됩니다. 로그를 읽어야합니다.
Zanna

systemd에 대한 업데이트가 오는 경우, 단위 파일이 다시 설치되므로 이것이
실질적인

@hbogert는 symlink와 별도로 단위 파일이 없더라도 발생 /dev/null합니까? 그래도 당신은 내 대답에 대해 옳습니다. 나는이 솔루션을 systemd의 혼란스러운 행동을위한 해결책이라고 부를 것이다
Zanna

이 경우 중요한 파일의 관점에서 첫 문장을 설명해 주시겠습니까 (설명하는 시나리오를 실제로 이해하지 못하기 때문에)?
hbogert

2

서비스에 다음과 같은 빈 재정의 파일이있을 수 있습니다.

● redis-server.service-고급 키-값 저장소로드 됨 :로드 됨 (/lib/systemd/system/redis-server.service; 마스크 됨; 공급 업체 사전 설정 : 활성화 됨) 드롭 인 : / etc / systemd / system / redis-server .service.d └─limit.conf

limit.conf가 빈 파일인지 확인하십시오. 그렇다면 제거하십시오. 그런 다음 서비스를 마스크 해제해야합니다.


0

아래 단계를 따르십시오.

  1. systemctl edit systemd-hostnamed

    아래에 2 줄을 추가 한 다음 편집기를 종료하십시오 (프롬프트가 표시되면 반드시 저장하십시오).

    [Service]
    PrivateNetwork=no
    
  2. 그러면 디렉토리에 위의 두 줄이있는 override.conf 파일이 생성됩니다.

    /etc/systemd/system/systemd-hostnamed.service.d/
    
  3. 업데이트 시스템 :

    systemctl daemon-reload
    
  4. 그런 다음 서비스를 다시 시작하십시오.

    systemctl restart systemd-hostnamed
    

이제 매달리지 hostnamectl않고도 달릴 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.