web-dev-qa-db-fra.com

Pourquoi les services ne commencent pas à l'installation?

J'ai déjà vu cela de temps en temps, mais je n'ai rien trouvé dans l'homme d'ubuntu à propos de cet étrange binaire policy-rc.d qui empêche les services d'être démarrés/redémarrés/arrêtés lorsque dpkg/apt les appelle, alors j'aimerais savoir quelle en est la raison. .

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.

Apparemment, aucun paquet ne possède ce binaire:

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

Ce "script" est inclus dans le package sysv-rc. Cela fait partie d'une politique Debian qui permet aux administrateurs système de contrôler quels services démarrent/redémarrent/s'arrêtent à chaque installation/mise à niveau/désinstallation de paquets:

POLICY-RC.D Interface de couche de couche (/usr/sbin/policy-rc.d):

La plupart des systèmes Debian n'auront pas ce script car la nécessité d'une couche de stratégie n'est pas très courante. La plupart des personnes utilisant des prisons chroot n’ont besoin que d’un script d’une ligne qui renvoie le statut de sortie 101 comme le script jused /usr/sbin/policy-rc.d.

Le fichier /usr/sbin/policy-rc.d doit être géré par le système alternatif (/ usr/sbin/update-alternatives) par tous les packages. en le fournissant.

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

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

( Source )

Alors, que se passe-t-il ici? Chaque fois que ce script est présent, il renvoie un code indiquant la stratégie actuelle du système local (par défaut, 101 = action interdite par la stratégie). Si vous souhaitez modifier la stratégie, modifiez simplement le fichier en tant que root en lui attribuant l'une des valeurs suivantes:

  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. 

Le script est toujours un espace réservé, mais une fois terminé, toutes ces valeurs peuvent être renvoyées. Si vous souhaitez autoriser une modification, changez simplement exit 101 pour exit 0 et c'est terminé. Chaque fois que vous installez/supprimez/mettez à niveau un service, ceux-ci seront (re) démarrés/arrêtés.

31
Braiam