Назад | Перейти на главную страницу

как изменить порядок запуска скриптов инициализации linux в Redhat, Centos

От этого изменения Как изменить порядок запуска / загрузки служб Linux? При изменении значений символических ссылок видно, что порядок запуска изменяется.

В производных от debian мы используем

update-rc.d apache2 по умолчанию 20 80

Есть ли у нас аналогичная команда в Centos / Redhat и?

если да, то что это?

а какие должны быть возможные изменения в заголовке скриптов инициализации?

Примечание: я должен использовать систему инициализации (а не систему systemd или выскочку)

Альтернативой будет изменение строки, начинающейся с # chkconfig: непосредственно в сценарии инициализации службы. Это объясняется в chkconfig (8) справочная страница.

Файлы уровня выполнения

Каждая служба, которой должна управлять команда chkconfig, требует добавления двух или более строк с комментариями в сценарий init.d. Первая строка сообщает chkconfig, на каких уровнях выполнения служба должна запускаться по умолчанию, а также уровни приоритета запуска и остановки. Если служба по умолчанию не должна запускаться на каких-либо уровнях выполнения, вместо списка уровней запуска следует использовать -. Вторая строка содержит описание службы и может быть расширена на несколько строк с продолжением обратной косой черты.

Например, random.init содержит эти три строки:

# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for \
#              higher quality random number generation.

Это говорит о том, что случайный сценарий должен запускаться на уровнях 2, 3, 4 и 5, что его приоритет запуска должен быть 20, а приоритет остановки - 80. Вы должны понять, что говорится в описании; \ вызывает продолжение строки. Лишний пробел перед строкой игнорируется.

После изменения скрипта, если вам нужно будет запустить chkconfig команда (как root) с reset вариант для этой услуги. При «сбросе» chkconfig автоматически создает символические ссылки запуска / остановки на настроенных уровнях выполнения с заданными приоритетами.

Я хотел бы добавить более подробную информацию к приведенному выше ответу

для запуска скриптов, особенно в centos, нет такой альтернативы, как

update-rc.d 

в Дебаине,

Самый простой способ - изменить скрипты вручную как описано здесь и например код из /etc/init.d/postfix

#!/bin/bash
#
# postfix      Postfix Mail Transfer Agent
#
# chkconfig: 2345 80 30
# description: Postfix is a Mail Transport Agent, which is the program \
#              that moves mail from one machine to another.
# processname: master
# pidfile: /var/spool/postfix/pid/master.pid
# config: /etc/postfix/main.cf
# config: /etc/postfix/master.cf
#
# Based on startup script from Simon J Mudd <sjmudd@pobox.com>
# 25/02/99: Mostly s/sendmail/postfix/g by John A. Martin <jam@jamux.com>
# 23/11/00: Changes & suggestions by Ajay Ramaswamy <ajayr@bigfoot.com>
# 20/01/01: Changes to fall in line with RedHat 7.0 style
# 23/02/01: Fix a few untidy problems with help from Daniel Roesen.

### BEGIN INIT INFO
# Provides: postfix MTA
# Required-Start: $local_fs $network $remote_fs
# Required-Stop: $local_fs $network $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop postfix
# Description: Postfix is a Mail Transport Agent, which is the program that
#              moves mail from one machine to another.
### END INIT INFO

Вы можете вручную переименовать символические ссылки в каталогах /etc/rcX.d, чтобы изменить порядок загрузки.

UPD: В RHEL / CentOS вы используете команду ntsysv или chkconfig.

Предупреждение: при сбросе сервиса сервис отключается. После этого вам нужно запустить службу.