Почему сервисы не запускаются при установке?

Я видел это когда-то сейчас, но не нашел ничего в 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
23
задан 3 January 2014 в 17:53

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 [параметры] --list [...]

( Источник )

Итак, что здесь происходит? Что ж, всякий раз, когда этот скрипт присутствует, он возвращает код, в котором указана текущая политика локальной системы (которая по умолчанию 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 и готово. Всякий раз, когда вы устанавливаете / удаляете / обновляете службу, она будет (пере) запускаться / останавливаться.

0
ответ дан 3 January 2014 в 17:53

Другие вопросы по тегам:

Похожие вопросы: