Chkconfigonを使用する場合とchkconfig--addを使用する場合の違いは何ですか?
chkconfig --add
は、chkconfig
によって管理されるサービスのリストにnewサービスを追加します。 --add
は暗黙のon
だと思います。
chkconfig on
はサービスのランレベルを設定します。
そうは言っても、私はシステムに新しいサービスを追加するためにchkconfig -add
を使用する傾向がありますが、(RHELのようなシステムでは)それらを管理するためにntsysv
を使用します。
Redhat/CentOSでは、initスクリプトに次のような1行があります。
#chkconfig:-65 10
上記の行の最初の引数が「-」のときに--addを使用すると、開始リンクは追加されず、強制終了リンクのみが追加されます。したがって、-addを機能させるには、initスクリプトを編集して、たとえば次のように変更する必要があります。
#chkconfig:345 65 10
ただし、chkconfig --add ...が最初の引数として「-」を使用して実行された場合(これはほとんどの場合、rpm postスクリプトからの場合です):後で最初の引数を変更して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はchkconfigをサポートしていますが、どのランレベルでも参照されていません(run'chkconfig --add saslauthd ')
これで--addを使用でき、目的の効果が得られます。
または、「on」を--level引数とともに使用して、initスクリプトを編集する必要をなくし、最初に--delを続けてから--addを避けることもできます。
どのOSを実行していますか?引数としてサービス名のみを使用してchkconfigを実行する場合、RHELのchkconfigは、そのサービスが現在実行している実行レベルで実行するように設定されているかどうかを確認するだけだと思います(Suess博士は述べています)。