/lib/systemd/systemd-sysv-install
é um gancho cujo trabalho é executar as ações de ativação / desativação não nativas que systemd-sysv-generator
e outros sistemas de gerenciamento de serviços reconhecerão. O /lib/systemd/systemd-sysv-install
do Ubuntu simplesmente chama o /usr/sbin/update-rc.d
do Ubuntu. Isso, por sua vez, chama /sbin/insserv
. Isso, por sua vez, mostra que há um script van Smoorenbug rc
em /etc/init.d
e tenta obter informações do cabeçalho LSB a partir dele.
/sbin/insserv
tem um caso especial em que reconhece quando o script van Co Smoorenburg rc
que encontrou é realmente um link simbólico para o programa /lib/init/upstart-job
da Upstart. Como esse é um programa genérico que preenche vários scripts de van Smoorenburg rc
, ele não terá informações de cabeçalho de LSB apropriadas para serviços específicos. Portanto, /sbin/insserv
tenta invocar o script rc
, realmente /lib/init/upstart-job
, com o subcomando lsb-header
para fazer com que ele calcule e imprima os cabeçalhos LSB certos para o serviço.
Mas /lib/init/upstart-job
na verdade não suporta esse subcomando. Os softwares nunca foram integrados corretamente. /lib/init/upstart-job
runs initctl
, que tenta se conectar a um gerenciador de serviços do Upstart em execução e obviamente falha (porque um não está em execução) e imprime o primeiro erro que você vê por não conseguir se conectar ao soquete /com/ubuntu/upstart
e em seguida, ele imprime o segundo erro que você vê sobre o subcomando lsb-header
não suportado "para tarefas do Upstart" (mesmo que aqueles eram o que era para ).
O resultado é que tudo dá errado.
Ele está errado há anos. É possível encontrar pessoas relatando esse bug, o que, é claro, aconteceu quando as pessoas executaram insserv
direta ou indiretamente sob Upstart e van Smoorenburg init
também, voltando bem mais de uma década neste momento. Foi questionado sobre o AskUbuntu em 2016. Existem vários bugs no Launchpad, como este de 2016 .
Curiosamente, em um desses bugs do Launchpad, um de 2010, alguém tentou para fornecer um patch para que upstart-job
entenda o subcomando lsb-header
e dê ao insserv
pelo menos alguma coisa para trabalhar, mesmo que tenha sido pouco informativo. Ninguém, exceto alguns usuários que não tinham acesso para consertar o software, percebeu.
Naturalmente, esses scripts van Smoorenburg rc
são wrappers em torno do Upstart para o benefício de softwares e pessoas que não entendem como dirigir o Upstart diretamente com initctl
, mas sabem como conduzir o velho van Smoorenburg rc
de scripts. No entanto, você está usando o Ubuntu 16; um sistema operacional systemd. O mecanismo de compatibilidade com versões anteriores do systemd está pegando alguns scripts van Co Smoorenburg rc
que eles são o mecanismo de compatibilidade com versões anteriores, transformando-os em unidades nativas do systemd e acabando tentando refletir comandos enviados para um gerenciador de serviços systemd para um gerenciador de serviços Upstart que não está lá.
Isso é apenas ridículo.
- Encontre o link simbólico em
/etc/init.d
que está apontando para/lib/init/upstart-job
. Pela aparência das coisas, é/etc/init.d/screen-cleanup
. - Remova-o.
A cereja no topo do bolo é que transmission-daemon
é controlado por uma unidade de serviço nativa do sistema ( /lib/systemd/system/transmission-daemon.service
) no Ubuntu 16, e van Smoorenburg rc
mecanismos de compatibilidade com versões anteriores e /lib/systemd/systemd-sysv-install
não se aplicam a ele primeiro lugar.
Leitura adicional
- Petter Reinholdtsen (2009-09-17). insserv: Deve manipular entradas de / lib / init / upstart-job . Bug do Debian # 547235.
- " COMPATIBILIDADE DE EMPREGO DA UPSTART ". %código%. Páginas de manual do Debian 7.
- link
- link
- link