initがとてもシンプルだったので、内容を調べてみた。

とあるVPSホスティングのrcスクリプトが、とてもシンプルで好感が持てました。
あまり最初からごちゃごちゃと入っていると、システムを把握しにくくなるので、初期設定はシンプルがいいです。


ちなみにOSはUbuntu 8.04.1。
Ubuntuのデフォルトランレベルは2。*1

# ls /etc/rc2.d/ -l
total 4
-rw-r--r-- 1 root root 556 Apr 19  2008 README
lrwxrwxrwx 1 root root  18 Dec 12 22:06 S10sysklogd -> ../init.d/sysklogd
lrwxrwxrwx 1 root root  15 Dec 12 22:06 S11klogd -> ../init.d/klogd
lrwxrwxrwx 1 root root  13 Dec 12 22:06 S16ssh -> ../init.d/ssh
lrwxrwxrwx 1 root root  14 Dec 12 22:06 S89cron -> ../init.d/cron
lrwxrwxrwx 1 root root  18 Dec 12 22:06 S99killnash -> ../init.d/killnash
lrwxrwxrwx 1 root root  18 Dec 12 22:06 S99rc.local -> ../init.d/rc.local
lrwxrwxrwx 1 root root  19 Dec 12 22:06 S99rmnologin -> ../init.d/rmnologin
sysklogd
Linuxシステムロギングユーティリティ*2Manpage of SYSKLOGD
klogd
Linuxカーネルメッセージを捕え記録するシステムデーモン。*3Manpage of KLOGD
ssh
OpenSSH SSH daemon
cron
Manpage of CRON
killnash
名前の通りnashプロセスをkillするみたい。nashはLinux起動用のシェルらしい。*4
rc.local
ランレベル*5から共通して実行されるrc。/etc/rc.localに記述したものが実行される。
rmnologin
/etc/nologinを削除する。*6Manpage of NOLOGIN

killnash

数が少ないので調べてみましたが、/etc/init.d/killnash だけ、何の為にあるのかまだ良く分かりません。
スクリプトはシンプルにこれだけです。

#added by hyperVM to kill the runaway nash
pkill -f nash

run command

rcスクリプトのrcとはrun commandの略らしいです。

*1:Debianも2

*2:/sbin/syslogd

*3:/sbin/klogd

*4:nash(8) - Linux man page

*5:2〜5

*6:/etc/nologinがあるとroot以外ログイン出来ない。