chkconfigコマンド。
起動スクリプトを管理する
何が管理されているかみてみよう
$ chkconfig --list
abrt-ccpp 0:off 1:off 2:off 3:off 4:off 5:off 6:off
abrt-oops 0:off 1:off 2:off 3:off 4:off 5:off 6:off
abrtd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
acpid 0:off 1:off 2:on 3:on 4:on 5:on 6:off
atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
auditd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
blk-availability 0:off 1:on 2:on 3:on 4:on 5:on 6:off
cpuspeed 0:off 1:on 2:off 3:off 4:off 5:off 6:off
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
haldaemon 0:off 1:off 2:off 3:off 4:off 5:off 6:off
htcacheclean 0:off 1:off 2:off 3:off 4:off 5:off 6:off
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
ip6tables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
:
:
ずらっと出てくる。
試しに、httpdをOS起動時に自動で走るようにしてみよう。
$ chkconfig --level 35 httpd on
もう一度一覧を見てみる。
$ chkconfig --list
httpd 0:off 1:off 2:off 3:on 4:off 5:on 6:off
2,3,4,5がonになっている。
そもそもこの0~6は何ぞや?
調べてみると、
/etc/rc[0~6]以下 にシンボリックリンクが並んでいる。どうやらこれと対応しているようだ。
みてみよう。
$ ls -la /etc/rc*.d/*httpd*
lrwxrwxrwx 1 root root 15 4月 4 12:41 2014 /etc/rc0.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root 15 4月 4 12:41 2014 /etc/rc1.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root 15 4月 4 12:41 2014 /etc/rc2.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root 15 4月 4 12:41 2014 /etc/rc3.d/S85httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root 15 4月 4 12:41 2014 /etc/rc4.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root 15 4月 4 12:41 2014 /etc/rc5.d/S85httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root 15 4月 4 12:41 2014 /etc/rc6.d/K15httpd -> ../init.d/httpd
なるほど、確かにシンボリックリンクが全部についている。
そして、chkconfigが on になっているところはファイル名が S で始まり、off は K になっている。
この0~6、何かというとランレベル。
# ランレベルの一覧
0 : シャットダウンに向かう状態
1 : シングルユーザモード
2 : 使用されない
3 : 標準的な状態
4 : 使用されない
5 : GUIでログインする状態
6 : 再起動に向かう状態
OSによって少し違うかもしれないがだいたいこう。
つまり3,5のときが重要な訳で。
ランレベル参考Sになってるファイルは起動時に
init.d/ 以下が実行されて自動起動するんでしょうな。
参考参考PR