26.3. chkconfigコマンドによる自動起動の設定

「ntsysvによる自動起動の設定」による方法ではランレベルに応じたサービスを設定することができません。細かなサービスの設定には chkconfig コマンドを用います。サービスの状態はオプション --list で知ることができます。この一覧はインストールされているパッケージにより異なります。

# /sbin/chkconfig --list
syslog          0:off   1:off   2:on    3:on    4:on    5:on    6:off
netfs           0:off   1:off   2:off   3:on    4:on    5:on    6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
pppoe           0:off   1:off   2:off   3:off   4:off   5:off   6:off
avahi-daemon    0:off   1:off   2:off   3:on    4:on    5:on    6:off
snmpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off
postfix         0:off   1:off   2:on    3:on    4:on    5:on    6:off
rdisc           0:off   1:off   2:off   3:off   4:off   5:off   6:off
canna           0:off   1:off   2:on    3:on    4:on    5:on    6:off
avahi-dnsconfd  0:off   1:off   2:off   3:off   4:off   5:off   6:off
smartd          0:off   1:off   2:off   3:off   4:off   5:off   6:off
apache2         0:off   1:off   2:off   3:on    4:on    5:on    6:off
cups            0:off   1:off   2:off   3:off   4:off   5:off   6:off
saslauthd       0:off   1:off   2:off   3:off   4:off   5:off   6:off
haldaemon       0:off   1:off   2:off   3:on    4:on    5:on    6:off
atd             0:off   1:off   2:off   3:on    4:on    5:on    6:off
lpd             0:off   1:off   2:on    3:on    4:on    5:on    6:off
nfs             0:off   1:off   2:off   3:off   4:off   5:off   6:off
portmap         0:off   1:off   2:off   3:on    4:on    5:on    6:off
xfs             0:off   1:off   2:off   3:off   4:off   5:off   6:off
nscd            0:off   1:off   2:off   3:off   4:off   5:off   6:off
wnn8            0:off   1:off   2:off   3:on    4:on    5:on    6:off
anacron         0:off   1:off   2:on    3:on    4:on    5:on    6:off
keytable        0:off   1:off   2:on    3:on    4:on    5:on    6:off
dpkey8          0:off   1:off   2:off   3:on    4:on    5:on    6:off
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
acpid           0:off   1:off   2:off   3:on    4:on    5:on    6:off
messagebus      0:off   1:off   2:off   3:on    4:on    5:on    6:off
random          0:off   1:off   2:on    3:on    4:on    5:on    6:off
qemu            0:off   1:off   2:on    3:on    4:on    5:on    6:off
IIim            0:off   1:off   2:off   3:on    4:on    5:on    6:off
kudzu           0:off   1:off   2:off   3:on    4:on    5:on    6:off
autofs          0:off   1:off   2:off   3:on    4:on    5:on    6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
snmptrapd       0:off   1:off   2:off   3:off   4:off   5:off   6:off
ntpd            0:off   1:off   2:off   3:off   4:off   5:off   6:off
winbind         0:off   1:off   2:off   3:off   4:off   5:off   6:off
ypbind          0:off   1:off   2:off   3:off   4:off   5:off   6:off
gpm             0:off   1:off   2:on    3:on    4:on    5:on    6:off
nfslock         0:off   1:off   2:off   3:on    4:on    5:on    6:off
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
smb             0:off   1:off   2:off   3:off   4:off   5:off   6:off

0〜6の数字はランレベル(Run Level)を示します。ランレベルについては次の「ランレベル (Run Level)とは」を参照してください。 onはそのランレベルでサービスが提供されることを示し、offは提供されないことを示します。 例えば、かな漢字サーバ cannaはランレベル 2,3,4,5で起動され、0,1,6では停止されます。

onになっているサービスをoffにするには、chkconfigでサービス名の後にoffを 付けて実行します。

# /sbin/chkconfig canna off
# /sbin/chkconfig --list canna
canna 0:off 1:off 2:off 3:off 4:off 5:off 6:off

逆に、offになっているサービスをonにするには、サービス名の後にonを付けて 実行します。

# /sbin/chkconfig canna on
# /sbin/chkconfig --list canna
canna 0:off 1:off 2:on 3:on 4:on 5:on 6:off

標準でonになるランレベルは各サービスによって決まっています。もし、 標準の設定を変更したい場合にはオプション --levelを付けて指定します。例え ば、ランレベル2,4でcannaをoffにするには次のようにします。

# /sbin/chkconfig --level 24 canna off
# /sbin/chkconfig --list canna
canna 0:off 1:off 2:off 3:on 4:off 5:on 6:off

ここで、chkconfigコマンドでoffになっているサービスをonにしただけでは、す ぐにはそのサービスが利用できないことに注意して下さい。chkconfigコマンド で設定したサービスはランレベルを変更したり、再起動した場合に起動されます。 すぐにサービスを利用したい場合は次のように入力する必要があります。この例 ではcannaサーバを起動します。

# /sbin/service canna start

サービスを停止する場合は stopとします。

# /sbin/service canna stop

また、サービスを再起動する場合は restartとします。

各サービスを制御するスクリプトについて

各サービスの起動や停止などを担うスクリプトは、 実際には/etc/init.d以下にインストールされています。 serviceは、これらを実行するラッパーに過ぎません。

serviceを使わずにこれらのスクリプトを直接実行することも可能です。 例えば、Cannaサーバを停止するには、次の様にします。

# /etc/init.d/canna stop