update−rc.d − установка и удаление ссылок сценариев инициализации в стиле System−V
update−rc.d [−n] [−f] имя remove
update−rc.d [−n] имя defaults |
||
update−rc.d [−n] имя disable|enable [ S|2|3|4|5 ] |
update−rc.d обновляет ссылки на сценарии инициализации стиля System−V в каталоге /etc/rcуровень_запуска.d/NNимя, которые указывают на сценарии /etc/init.d/имя. Эти ссылки запускаются init при смене уровня запуска системы; в основном они используются для запуска и останова системных служб − демонов. уровень_запуска − это один из уровней запуска, поддерживаемых init, а именно, 0123456789S, а NN − это число из двух цифр, которое задаёт последовательность запуска сценариев инициализации.
Это руководство описывает только использование и поведение update−rc.d. За обсуждением порядка инициализации в стиле System−V обратитесь к init(8) и Руководству по политике Debian (Debian Policy Manual).
update−rc.d необходима информация о зависимостях и уровне инициализации, которая должна присутствовать в комментарии в заголовке LSB всех сценариев init.d. Обратитесь к странице руководства insserv(8) за подробностями о формате заголовка LSB.
При запуске с опцей default update−rc.d создаёт ссылки /etc/rcуровень_запуска.d/[SK]NNимя, которые указывают на сценарий /etc/init.d/имя, используя уровень запуска и информацию о зависимостях из комментария из заголовка LSB в сценарии init.d.
Если какой−либо из файлов /etc/rcуровень_запуска.d/[SK]??имя уже существует, update−rc.d ничего не делает. Программа была написана таким образом, что она никогда не меняет существующие настройки, поскольку системный администратор мог выполнить более тонкую настройку. Программа только вставляет ссылки, если их нет, например если указанный сервис до этого ни разу не устанавливался.
Старые версии update−rc.d также поддерживали опции start и stop. Эти опции более не поддерживаются и теперь равнозначны опции defaults.
Обычная ошибка системного администрирования − это удалить ссылки, полагая что это "отключит" сервис, то есть, что это предотвратит сервис от запуска. Однако, даже если все ссылки были удалены, то при следующем обновлении пакета, сценарий postinst пакета снова запустит update−rc.d и это переустановит ссылки в места по умолчанию. Правильный способ удалить сервисы − это настроить остановку служб на всех уровнях запуска, на которых он запускается по умолчанию. В системе инициализации в стиле System V это означает переименование ссылок на сервис с буквы S на K.
Для создания ссылок сценарий /etc/init.d/имя должен существовать до запуска update−rc.d.
При вызове с опцией remove, update−rc.d удалит любые ссылки в каталогах /etc/rcуровень_запуска.d на сценарий /etc/init.d/имя. Сценарий должен быть уже удалён. Если сценарий по−прежнему существует, update−rc.d завершится с сообщением об ошибке.
update−rc.d обычно вызывается из сценария post−removal пакета, когда ему передаётся аргумент purge. Любые файлы в каталоге /etc/rcуровень_запуска.d, которые не являются символическими ссылками на сценарий /etc/init.d/имя останутся нетронутыми.
При запуске с опциями disable [ S|2|3|4|5 ], update−rc.d изменяет существующие ссылки уровня инициализации на сценарий /etc/init.d/имя путём переименования ссылок запуска в ссылки останова с номером последовательности, равным 100 за вычетом исходного номера последовательности.
При запуске с опциями enable [ S|2|3|4|5 ], update−rc.d изменяет существующие ссылки уровня инициализации на сценарий /etc/init.d/имя путём переименования ссылок запуска в ссылки останова с номером последовательности, равным 100 за вычетом исходного номера последовательности, возвращая таким образом исходный номер последовательности, который был у сценария до его выключения.
Обе опции работают только со ссылками уровней инициализации S, 2, 3, 4 и 5. Если после опций disable или enable не указаны номера уровней инициализации, сценарий попытается изменить ссылки на всех уровнях инициализации.
−n |
Ничего не делать, просто показать что будет сделано. |
||
−f |
Принудительно удалить ссылки, даже если /etc/init.d/имя всё ещё существует. |
Вставить ссылки по умолчанию:
update−rc.d foobar defaults
Соответствует заголовку запуска и остановки
с зависимостями от $remote_fs и $syslog, запуску на
уровнях инициализации 2−5 и остановке на уровнях
инициализации 0, 1 и 6.
Удалить все ссылки на сценарий (предполагая, что foobar уже удален):
update−rc.d foobar remove
Пример отключения службы:
update−rc.d foobar disable
Пример команды для установки сценария для запуска и остановки системы:
update−rc.d foobar defaults
Пример команды для отключения сценария для запуска и остановки системы:
update−rc.d foobar disable
Обратитесь к странице http://bugs.debian.org/sysv−rc.
/etc/init.d/
Каталог, содержащий действующие сценарии инициализации.
/etc/rc?.d/
Каталоги, содержащие ссылки, используемые init и управляемые update−rc.d.
/etc/init.d/skeleton
Модель, используемая для написания сценариев init.d.
Руководство по политике Debian (Debian Policy Manual),
/etc/init.d/skeleton,
insserv(8), sysv−rc−conf(8), bum(8), init(8).
Перевод выполнен на сайте коллективных переводов http://translated.by. Авторы перевода Олег Безначев aka saturn721, Владимир Ступин <vladimir@stupin.su>.