update-rc.d SysV init scripts (/etc/init.d): автозагрузка программ в Debian, Ubuntu.

update-rc.d - install and remove System-V style init script links

Запустить (остановить) программу или скрипт (набор команд) в Debian, Ubuntu) можно несколькими способами:

1.
Команды запуска размещенные в файле /etc/rc.local запускаются на на всех runlevel’ах. Например,

ifconfig eth0:1 192.168.1.2 netmask 255.255.255.0 up

В последних версиях дистрибутивов скрипт rc.local либо вообще пуст (хотя еще и сохраняется), либо выполняет очень ограниченные задачи. И некоторые авторы вообще не рекомендуют им пользоваться.
2.
Для остановки нужного сервиса, находится файл с именем сервиса в каталоге /etc/default. В файле нужно поменять строчку «RUN=YES» на «RUN=NO» (или найти похожую и отредактировать). После этого сервис перестанет стартовать не только при загрузке ОС, но и при помощи запуска из /etc/init.d и использовании invoke-rc.d.
3.
Запуск программ размещенных в директории /etc/init.d:

Запускающийся скрипт нужно разместить в каталоге /etc/init.d, далее нужно сделать символьную ссылку на этот запускающий скрипт в /etc/rc№.d , где № - это номер runlevel’а, т.е. уровень загрузки системы. Полученная ссылка должна выглядеть так S№№имя_скрипта, где №№ - номер очередности загрузки, если нужно чтобы ссылка осталась, но временно скрипт не запускался, ссылка должна выглядеть так K№№имя_скрипта.

Скрипты в любом из каталогов /etc/rcN.d/, по сути, являются символическими ссылками на скрипты из каталога /etc/init.d/. Однако, сами имена файлов в каждом /etc/rcN.d/ каталоге определяют способ, которым будут запущены скрипты из /etc/init.d/. Конкретнее, перед входом в любой уровень исполнения сначала запускаются все скрипты, начинающиеся с буквы 'K'; данные скрипты останавливают сервисы. Далее выполняются все скрипты, начинающиеся в буквы 'S'; эти скрипты запускают сервисы. Двузначное число после буквы 'K' или 'S' показывает порядок, в котором выполняются скрипты. Скрипты с меньшим номером выполняются первыми.


Как сделать символьную ссылку? Необходимо перейти в каталог в котором вы хотите разместить эту ссылку написать команду ln -s “путь до скрипта”. Вместо создания линков в директориях rc.d вручную, используется утилита update-rc.d.

Использование update-rc.d

Комментарии

Популярные сообщения из этого блога

Базовая настройка маршрутизатора Cisco.

Двигатель базы данных "SQLite"