¿Por qué los servicios no comienzan en la instalación?

22

He visto esto en algún momento ahora, pero no he encontrado nada en el ubuntu sobre este peculiar binario policy-rc.d que impide que los servicios se inicien / reinicien / detengan cuando lo llame dpkg / apt, por lo que me gustaría saber qué es la razón de esto.

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, ningún paquete posee este binario:

dpkg -S /usr/sbin/policy-rc.d
dpkg-query: no path found matching pattern /usr/sbin/policy-rc.d
    
pregunta Braiam 25.10.2013 - 23:20

1 respuesta

30

Este "script" está incluido en el paquete sysv-rc . Esto es parte de una política Debian que permite a los administradores del sistema controlar qué servicios se inician / reinician / detienen cada vez que instalan / actualizan / desinstalan paquetes:

  

POLICY-RC.D Interfaz de capa de política (/usr/sbin/policy-rc.d):

     

La mayoría de los sistemas Debian no tendrán esta secuencia de comandos como la necesidad de una política   la capa no es muy común. La mayoría de las personas que usan cárceles chroot solo necesitan una   secuencia de comandos de una línea que devuelve un estado de salida de 101 como el encarcelado   /usr/sbin/policy-rc.d script.

     

El archivo /usr/sbin/policy-rc.d debe administrarse a través del   sistema de alternativas (/ usr / sbin / update-alternatives) por cualquier paquete   proporcionándolo.

     

/usr/sbin/policy-rc.d [opciones] []

     

/usr/sbin/policy-rc.d [options] --list [...]

( Fuente )

Entonces, ¿qué pasa aquí? Bueno, siempre que este script esté presente, devolverá un código que establece la política actual del sistema local (que es por defecto 101 = acción prohibida por la política). Si desea cambiar la política, simplemente modifique el archivo como raíz a cualquiera de estos 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. 

El script sigue siendo un marcador de posición, pero cuando se complete todos estos valores podrían ser devueltos. Si desea permitir cualquier cambio simplemente cambie exit 101 por exit 0 y listo. Cada vez que instales / elimines / actualices un servicio estos serán (re) iniciados / detenidos.

    
respondido por el Braiam 25.10.2013 - 23:20

Lea otras preguntas en las etiquetas