update-rc.d - установка и удаление ссылок сценариев инициализации в стиле System-V
НАЗВАНИЕ
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>.