Perché i servizi non iniziano all’installazione?

Ho visto questo a volte, ma non trovo nulla nell’ubuntu man su questo particolare binario policy-rc.d che impedisce l’avvio / riavvio / arresto dei servizi quando viene chiamato da dpkg / apt, quindi vorrei sapere cosa è la ragione di questo.

 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. 

Apparentemente, nessun pacchetto possiede questo binario:

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

Questo “script” è incluso nel pacchetto sysv-rc . Questo fa parte di una politica Debian che consente agli amministratori di sistema di controllare quali servizi vengono avviati / riavviati / fermati ogni volta che installano / aggiornano / disinstallano i pacchetti:

Interfaccia POLICY-RC.D Livello criteri (/usr/sbin/policy-rc.d):

La maggior parte dei sistemi Debian non avrà questo script in quanto la necessità di un livello di policy non è molto comune. La maggior parte delle persone che usano i chroot jail hanno solo bisogno di uno script a riga singola che restituisca uno stato di uscita di 101 come lo script /usr/sbin/policy-rc.d.

Il file /usr/sbin/policy-rc.d deve essere gestito tramite il sistema alternativo (/ usr / sbin / update-alternatives) da qualsiasi pacchetto che lo fornisce.

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

/usr/sbin/policy-rc.d [opzioni] –list […]

( Fonte )

Quindi, cosa succede qui? Bene, ogni volta che questo script è presente restituirà un codice che indica la politica corrente del sistema locale (che per impostazione predefinita è 101 = azione vietata dalla politica). Se si desidera modificare la politica, è sufficiente modificare il file come root su uno qualsiasi di questi valori:

  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. 

Lo script è ancora un segnaposto, ma una volta completati tutti questi valori potrebbero essere restituiti. Se si desidera consentire qualsiasi modifica basta cambiare l’ exit 101 per l’ exit 0 e terminata. Ogni volta che installi / rimuovi / aggiorni un servizio questi saranno (ri) avviati / fermati.