/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.dque 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