systemctl, como desmascarar

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

Eu tentei systemctl unmask x11-common e systemctl unmask x11-common.service , mas isso não mudou nada.

Como desmascaro isso?

    
por Albert 30.07.2016 / 17:49

2 respostas

15

Os comandos que você está usando são ambos corretos . Consulte também o manual .

Parece que o comando unmask falha quando não há nenhum arquivo de unidade existente no sistema diferente do link simbólico para /dev/null . Se você mask um serviço, isso cria um novo symlink para /dev/null in /etc/systemd/system , onde systemd procura por arquivos unitários para serem carregados na inicialização. Nesse caso, não há arquivo de unidade real.

Outros parecem ter problemas semelhantes

x11-common.service também foi mascarado no meu sistema. Você pode corrigi-lo assim:

Primeiro, verifique se o arquivo da unidade é um link simbólico para /dev/null

file /lib/systemd/system/x11-common.service

deve retornar:

/lib/systemd/system/x11-common.service: symbolic link to /dev/null

neste caso, exclua-o

sudo rm /lib/systemd/system/x11-common.service

Desde que você alterou um arquivo de unidade, é necessário executar isso:

sudo systemctl daemon-reload

agora verifique o status:

systemctl status x11-common

se não for dito carregado e em execução (se o círculo ainda estiver vermelho), reinstale o pacote:

sudo apt-get install --reinstall x11-common

e recarregue o daemon novamente

sudo systemctl daemon-reload

e verifique o status mais uma vez

systemctl status x11-common

Agora ele está verde e rodando :) O serviço não possui nenhum arquivo de unidade systemd, mas o systemd usa o script para ele em /etc/init.d .

    
por Zanna 30.07.2016 / 23:23
0

Siga os passos abaixo:

  1. systemctl edit systemd-hostnamed

    Adicione as 2 linhas abaixo e saia do editor (não esqueça de salvar quando solicitado):

    [Service]
    PrivateNetwork=no
    
  2. Isso criará um arquivo override.conf com as duas linhas acima no diretório:

    /etc/systemd/system/systemd-hostnamed.service.d/
    
  3. A atualização systemd:

    systemctl daemon-reload
    
  4. Em seguida, reinicie o serviço:

    systemctl restart systemd-hostnamed
    

Agora você deve conseguir executar hostnamectl sem interrompê-lo.

    
por Hossein Bobarshad 13.06.2018 / 01:17

Tags