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

В чем разница между chkconfig и chkconfig --add?

В чем разница между использованием chkconfig и использованием chkconfig --add?

chkconfig --add добавляет новый service в список услуг, управляемых chkconfig. Я считаю --add неявный on.

chkconfig on устанавливает уровень запуска для службы.

Тем не менее, я предпочитаю использовать chkconfig -add для добавления новых сервисов в систему, но ntsysv управлять ими (в системах типа RHEL).

В Redhat / CentOS в сценарии инициализации есть одна строка, которая выглядит так:

# chkconfig: - 65 10

Если вы используете --add, когда первый аргумент вышеприведенной строки равен «-», это не добавляет никаких стартовых ссылок, а только уничтожает ссылки. Итак, чтобы --add заработал, вам нужно отредактировать сценарий инициализации и изменить его, например, на

# chkconfig: 345 65 10

Но если chkconfig --add ... был выполнен с «-» в качестве первого аргумента (что в основном имеет место в сценарии публикации rpm): изменение первого аргумента и повторное выполнение chkconfig --add не имеет никакого эффекта, пока kill ссылки присутствуют. В этом случае --list отображается для всех уровней запуска:

chkconfig --list saslauthd
saslauthd       0:off   1:off   2:off   3:off    4:off    5:off    6:off

Чтобы заставить --add работать в этом случае, вы сначала должны использовать --del, затем вывод --list:

chkconfig --list saslauthd
service saslauthd supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add saslauthd')

Теперь вы можете использовать --add, и это даст желаемый эффект.

В качестве альтернативы вы можете использовать «on» с аргументом --level, чтобы избежать необходимости редактировать сценарий инициализации и избежать первого --del, за которым следует --add.

На какой ОС вы работаете? Если вы запускаете chkconfig только с именем службы в качестве аргумента, я полагаю, что программа chkconfig RHEL просто проверяет, настроена ли эта служба для работы, на каком уровне запуска вы выполняете в данный момент (сказал д-р Зюсс).