Почему сервисы не запускаются при установке?
Я видел это когда-то сейчас, но не нашел ничего в Ubuntu Man об этом своеобразном policy-rc.d
двоичный файл, который предотвращает запуск / перезапуск / остановку служб при вызове dpkg / apt, поэтому я хотел бы знать, в чем причина этого.
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.
Очевидно, ни один пакет не владеет этим двоичным файлом:
dpkg -S /usr/sbin/policy-rc.d
dpkg-query: no path found matching pattern /usr/sbin/policy-rc.d
1 ответ
Этот "сценарий" включен в sysv-rc
пакет. Это часть политики Debian, которая позволяет системным администраторам контролировать, какие службы запускаются / перезапускаются / останавливаются при установке / обновлении / удалении пакетов:
POLICY-RC.D Интерфейс уровня политики (/usr/sbin/policy-rc.d):
В большинстве систем Debian этот сценарий отсутствует, поскольку необходимость в уровне политики встречается не очень часто. Большинству людей, использующих chroot-тюрьмы, просто нужен однострочный сценарий, который возвращает состояние выхода 101 как скрипт /usr/sbin/policy-rc.d.
Файл /usr/sbin/policy-rc.d должен управляться через систему альтернатив (/usr/sbin/update-alternatives) любыми пакетами, предоставляющими его.
/usr/sbin/policy-rc.d [параметры] []
/usr/sbin/policy-rc.d [параметры] - список [...]
( Источник)
Итак, что здесь происходит? Что ж, всякий раз, когда этот скрипт присутствует, он возвращает код, в котором указана текущая политика локальной системы (которая по умолчанию 101
= действие запрещено политикой). Если вы хотите изменить политику, просто измените файл как root на любое из следующих значений:
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.
Сценарий по-прежнему является заполнителем, но по завершении все эти значения могут быть возвращены. Если вы хотите разрешить любое изменение, просто измените exit 101
за exit 0
и сделано. Всякий раз, когда вы устанавливаете / удаляете / обновляете службу, она будет (пере) запускаться / останавливаться.