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 ...?