systemctl não pode desabilitar serviços, exibe erros de inicialização

4

No meu servidor Ubuntu 16.04 (Xenial), não consigo desabilitar serviços de autoinicialização na inicialização. Eu recebo estas mensagens de erro:

$ sudo systemctl disable puppet.service
...
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.

Da próxima vez que inicializar o servidor, o "agente fantoche" será executado automaticamente.

Eu estou supondo (a partir das mensagens de erro) que o meu servidor está em algum estado intermediário estranho entre o systemd (que está em execução) e o Upstart. FYI, este servidor usado para executar o Ubuntu 14 (pré-systemd) e foi atualizado para 15.04, 15.10 e 16.04.

Parece que o systemd está em execução e o upstart não está:

$ ps uax|grep init | grep -v grep
root         1  0.0  0.0 119780  6000 ?        Ss   May20   0:04 /sbin/init
$ ps uax|grep upstart|grep -v grep
$ ps uax|grep systemd|grep -v grep
root       279  0.0  0.0  35368  3276 ?        Ss   May20   0:01 /lib/systemd/systemd-journald
root       306  0.0  0.0  45956  5384 ?        Ss   May20   0:00 /lib/systemd/systemd-udevd
systemd+   703  0.0  0.0 100324  2532 ?        Ssl  May20   0:00 /lib/systemd/systemd-timesyncd
root       709  0.0  0.0  20100  2824 ?        Ss   May20   0:00 /lib/systemd/systemd-logind
root       716  0.0  0.0  29880  1564 ?        Ss   May20   0:00 /sbin/cgmanager -m name=systemd
message+   727  0.0  0.0  52848  5668 ?        Ss   May20   0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation

Eu li a página wiki SystemdForUpstartUsers e confirmei que os pacotes systemd-sysv e ubuntu-standard estão instalados, e upstart-sysv não é. Então eu pareço ter os pacotes certos. Eu também pesquisei (em vão) essas mensagens de erro, mas não encontrei uma solução.

Mensagem de erro completa:

$ sudo systemctl disable puppet.service
Synchronizing state of puppet.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install disable puppet
insserv: warning: current start runlevel(s) (empty) of script 'puppet' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script 'puppet' overrides LSB defaults (0 1 6).
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'screen-cleanup' missing LSB tags and overrides
insserv: Default-Start undefined, assuming empty start runlevel(s) for script 'screen-cleanup'
insserv: Default-Stop  undefined, assuming empty stop  runlevel(s) for script 'screen-cleanup'
insserv: warning: current start runlevel(s) (empty) of script 'puppet' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script 'puppet' overrides LSB defaults (0 1 6).
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'screen-cleanup' missing LSB tags and overrides
insserv: Default-Start undefined, assuming empty start runlevel(s) for script 'screen-cleanup'
insserv: Default-Stop  undefined, assuming empty stop  runlevel(s) for script 'screen-cleanup'

Qualquer ajuda apreciada !!

Atualizado em 2016-05-24:

Se eu remover o script /etc/init.d associado (como /etc/init.d/puppet no exemplo acima), as mensagens de erro desaparecem. Presumivelmente, o systemd está usando /lib/systemd/system/puppet.service em vez disso ...?

    
por DanB 23.05.2016 / 20:45

0 respostas