Por que os serviços não iniciam na instalação?

21

Eu já vi isso algum dia agora, mas não encontrando nada no homem do Ubuntu sobre esse peculiar binário policy-rc.d que impede que os serviços sejam iniciados / reiniciados / parados quando chamados pelo dpkg / apt, então eu gostaria de saber o que é a razão disso.

Setting up lxc (0.9.0-0ubuntu3.6) ...
invoke-rc.d: policy-rc.d denied execution of start.
invoke-rc.d: policy-rc.d denied execution of start.
invoke-rc.d: policy-rc.d denied execution of start.

Aparentemente, nenhum pacote possui este binário:

dpkg -S /usr/sbin/policy-rc.d
dpkg-query: no path found matching pattern /usr/sbin/policy-rc.d
    
por Braiam 26.10.2013 / 01:20

1 resposta

29

Este "script" está incluído no pacote sysv-rc . Isso faz parte de uma política do Debian que permite que os administradores controlem quais serviços são iniciados / reiniciados / parados sempre que instalar / atualizar / desinstalar pacotes:

  

POLICY-RC.D Interface da camada de política (/usr/sbin/policy-rc.d):

     

A maioria dos sistemas Debian não terá este script como a necessidade de uma política   camada não é muito comum. A maioria das pessoas que usam celas chroot só precisa de um   script de uma linha que retorna um status de saída de 101 como o encarcerado   script /usr/sbin/policy-rc.d.

     

O arquivo /usr/sbin/policy-rc.d deve ser gerenciado através do   sistema de alternativas (/ usr / sbin / update-alternatives) por quaisquer pacotes   fornecendo-o.

     

/usr/sbin/policy-rc.d [opções] []

     

/usr/sbin/policy-rc.d [opções] --list [...]

( Fonte )

Então, o que acontece aqui? Bem, sempre que este script estiver presente, ele retornará um código que declara a política atual do sistema local (que por padrão é 101 = ação proibida pela política). Se você quiser alterar a política, basta modificar o arquivo como raiz para qualquer um desses valores:

  0 - action allowed
  1 - unknown action (therefore, undefined policy)
 100 - unknown initscript id
 101 - action forbidden by policy
 102 - subsystem error
 103 - syntax error
 104 - [reserved]
 105 - behaviour uncertain, policy undefined.
 106 - action not allowed. Use the returned fallback actions
       (which are implied to be "allowed") instead. 

O script ainda é um espaço reservado, mas, quando concluído, todos esses valores podem ser retornados. Se você quiser permitir qualquer alteração, basta alterar exit 101 para exit 0 e pronto. Sempre que você instalar / remover / atualizar um serviço, estes serão (re) iniciados / interrompidos.

    
por Braiam 26.10.2013 / 01:20