RedHatのサービス
作成 : 2002/06/30
/etc/rcX.dディレクトリ
ランレベルXで、どのサービスを起動・停止するかは、/etc/rcX.dディレクトリで設定する。 ランレベル3で起動・停止するサービスは、/etc/rc3.dディレクトリで設定し、ファイル名の先頭がSであれば起動、Kであれば停止を実行する。
/etc/rcX.dディレクトリ内のファイルは、/etc/init.dディレクトリ内のスクリプトへのシンボリックリンクとなっている。 手動で起動時サービスの起動・停止を設定したいときは、/etc/init.dディレクトリ内のスクリプトのへシンボリックリンクを、/etc/rcX.dに作成すればよい。
# cd /etc/rc3.d # ln -s ../init.d/httpd S85httpd
システムを再起動するまで、設定したサービスは起動・停止されない。 すぐにサービスを起動・停止したい場合は、/etc/init.dディレクトリ内のスクリプトを実行する。
# /etc/init.d/httpd ( start | stop | restart )
/etc/xinetd.dディレクトリ
pop3サービスやftpサービスなどは、xinetdを通して起動される。 xinetdを通して起動されるサービスは、/etc/xinetd.dディレクトリ内のファイルで設定を行う。 「disable = no」となっていればサービスは起動され、「disable = yes」となっていればサービスは起動されない。
下は、pop3サービスのための、/etc/xinetd.d/ipop3ファイルの例。
service pop3
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/ipop3d
log_on_success += USERID
log_on_failure += USERID
}
設定を変更した場合は、xinetdの再起動を行う。
# /etc/init.d/xinetd restart
chkconfigコマンド
chkconfigコマンドを使用すると、起動時サービスの確認と、追加・削除を行うことができる。 実際は、/etc/rcX.dと/etc/xintd.dのファイルを設定している。
起動時サービスの確認: # chkconfig --list
起動時サービスの追加: # chkconfig --level [0123456] (service) on
起動時サービスの削除: # chkconfig --level [0123456] (service) off
現在のランレベルでhttpdサービスを起動するように設定するには、次のようにする。
# chkconfig httpd on
ntsysvコマンド
ntsysvコマンドを使用すると、起動時サービスの追加・削除を行うことができる。 実際は、/etc/rcX.dと/etc/xintd.dのファイルを設定している。
# ntsysv
最低限必要なサービス
インストールしたままの状態だと、さまざまなサービスが起動するよう設定されている。 必要なものを残して、不要なサービスを起動させないようにする。 これぐらいあればいいかな。
| (crond) | cronサービスを提供 |
|---|---|
| ipchains/iptables | ファイアウォール |
| keytable | キーボード配列を定義 |
| (kudzu) | 起動時PnP |
| network | ネットワークサービスを提供 |
| random | 乱数発生 |
| syslogd | syslogサービスを提供 |
起動時サービスの追加・削除
起動するよう設定されているサービスは、chkconfigコマンドで確認できる。
# chkconfig --list
起動時サービスの追加・削除は、ntsysvコマンドを使用するのがお手軽。 設定したいランレベルで、ntsysvコマンドを実行する。
# ntsysv
chkconfigやntsysvでは、動いているサービスを止めることはできない。 kill/pkillや/etc/init.dディレクトリのスクリプトで停止させる。