Автозапуск служб в системе System V

Вопрос или проблема

В systemD нам нужно выполнить эту команду для автозапуска приложения при старте системы: sudo systemctl enable <service-name>. Какова будет эквивалентная команда для sysvinit, поскольку chkconfig больше не поддерживается? Я не смог найти ничего подобного.

Согласно этому ответу на SO, вам следует использовать не chkconfig, а update-rc.d:

update-rc.d <service> defaults
update-rc.d <service> start 20 3 4 5
update-rc.d -f <service> remove

.

Ответ или решение

Вопрос о том, как автоматизировать запуск сервисов в System V (SysVinit) в условиях, когда команда chkconfig больше не поддерживается, требует внимательного подхода. В отличие от систем, использующих systemd, таких как systemctl enable <имя-сервиса>, в системе SysVinit используется набор других инструментов для управления службами.

Для настройки автозапуска сервиса в системах, использующих SysVinit, вы можете воспользоваться командой update-rc.d. Данная команда позволяет добавлять, удалять и настраивать службы, которые будут запускаться автоматически при загрузке системы.

Вот структура команд, которые вы можете использовать:

  1. Добавление службы для автозапуска:

    sudo update-rc.d <имя-сервиса> defaults

    Эта команда добавит ваш сервис в стандартные уровни запуска. Она создаст необходимые символические ссылки в директориях /etc/rc*.d/, которые позволяет системе знать, когда запускать сервис.

  2. Определение порядка запуска:
    Если необходимо задать специальный порядок запуска и уровни, вы можете использовать следующую команду:

    sudo update-rc.d <имя-сервиса> start 20 3 4 5

    В данном случае start 20 3 4 5 устанавливает приоритет (20) для запуска сервиса на уровне запуска 3, 4 и 5. Параметр 20 определяет порядок, в котором сервис будет запускаться относительно других сервисов с другими приоритетами.

  3. Удаление службы:
    Если вам нужно удалить службу из автозапуска, можно использовать команду:

    sudo update-rc.d -f <имя-сервиса> remove

    Это приведет к удалению всех символических ссылок, связанных с указанной службой, из уровней запуска.

Заключение

В результате, вместо того, чтобы полагаться на устаревшую команду chkconfig, использование update-rc.d предоставляет более современный и гибкий способ управления автозапуском служб в SysVinit. Эта команда не только позволяет переопределять автоматическую загрузку, но и легко управляет приоритетами запуска, что важно для обеспечения правильной последовательности запуска служб в вашей системе.

Этот подход достаточно универсален и поможет вам в управлении службами в средах, использующих System V. Не забывайте проверять логи системы после настройки служб, чтобы удостовериться, что все работает корректно при загрузке.

Оцените материал
Добавить комментарий

Капча загружается...