サービス

. . . サービスの設定 . . .

inittab の話で深く触れなかったが
ランレベルに応じて起動されるサービスに関して少し纏める。
inittab やランレベルを纏めてサービスを避けると話が見えにくい。
使わないサービスを起動する必要はないし、設定がきちんとされていない
サービスを利用すると不具合や事故が発生する可能性もある。
不要なサービスを整理することでリソースの無駄な消費を抑える事も
できるわけなので、利用状況を考えながら整理する方がよい。
.....
実は、まだやっていない。(^^;



サービスの確認

以下のようにコマンドを叩くと各ランレベルで起動される
サービスを確認することができる。
/sbin/chkconfig --list

gpm                0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
kudzu              0:オフ    1:オフ    2:オフ    3:オン    4:オン    5:オン    6:オフ
syslog             0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
rawdevices         0:オフ    1:オフ    2:オフ    3:オン    4:オン    5:オン    6:オフ
netfs              0:オフ    1:オフ    2:オフ    3:オン    4:オン    5:オン    6:オフ
network            0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
random             0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
saslauthd          0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
iptables           0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
anacron            0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
atd                0:オフ    1:オフ    2:オフ    3:オン    4:オン    5:オン    6:オフ
irda               0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
nscd               0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
acpid              0:オフ    1:オフ    2:オフ    3:オン    4:オン    5:オン    6:オフ
apmd               0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
irqbalance         0:オフ    1:オフ    2:オフ    3:オン    4:オン    5:オン    6:オフ
pcmcia             0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オフ    6:オフ
nfslock            0:オフ    1:オフ    2:オフ    3:オン    4:オン    5:オン    6:オフ
nfs                0:オフ    1:オフ    2:オフ    3:オン    4:オフ    5:オン    6:オフ
microcode_ctl      0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
smartd             0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
isdn               0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オフ    6:オフ
autofs             0:オフ    1:オフ    2:オフ    3:オン    4:オン    5:オン    6:オフ
sshd               0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
identd             0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
portmap            0:オフ    1:オフ    2:オフ    3:オン    4:オン    5:オン    6:オフ
spamassassin       0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
sendmail           0:オフ    1:オフ    2:オン    3:オフ    4:オン    5:オフ    6:オフ
rhnsd              0:オフ    1:オフ    2:オフ    3:オン    4:オン    5:オン    6:オフ
crond              0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
yum                0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
tux                0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
aep1000            0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
bcm5820            0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
httpd              0:オフ    1:オフ    2:オフ    3:オン    4:オフ    5:オン    6:オフ
squid              0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
winbind            0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
smb                0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
messagebus         0:オフ    1:オフ    2:オフ    3:オン    4:オン    5:オン    6:オフ
snmpd              0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
snmptrapd          0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
hpoj               0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
xfs                0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
xinetd             0:オフ    1:オフ    2:オフ    3:オン    4:オン    5:オン    6:オフ
cups               0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
named              0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
ntpd               0:オフ    1:オフ    2:オフ    3:オン    4:オフ    5:オン    6:オフ
vncserver          0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
lisa               0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
vsftpd             0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
canna              0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
FreeWnn            0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
dovecot            0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
dhcrelay           0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
mailman            0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
rwhod              0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
kadmin             0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
kprop              0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
krb524             0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
krb5kdc            0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
dhcpd              0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
yppasswdd          0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
radiusd            0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
amd                0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
bgpd               0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
ospf6d             0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
ospfd              0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
ripd               0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
ripngd             0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
zebra              0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
radvd              0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
rstatd             0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
rusersd            0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
postgresql         0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
ypserv             0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
ypxfrd             0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
innd               0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
mysqld             0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
netdump-server     0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
arpwatch           0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
bluetooth          0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
bootparamd         0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
ipchains           0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
ip6tables          0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
iscsi              0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
isicom             0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
mars-nwe           0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
mdmonitor          0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
atalk              0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
netdump            0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
ldap               0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
ups                0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
privoxy            0:オフ    1:オフ    2:オン    3:オン    4:オン    5:オン    6:オフ
psacct             0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
rarpd              0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
routed             0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
rwalld             0:オフ    1:オフ    2:オフ    3:オフ    4:オフ    5:オフ    6:オフ
xinetd ベースのサービス:
    krb5-telnet:    オフ
    rsync:          オフ
    eklogin:        オフ
    gssftp:         オフ
    klogin:         オフ
    chargen-udp:    オフ
    kshell:         オフ
    chargen:        オフ
    daytime-udp:    オフ
    daytime:        オフ
    echo-udp:       オフ
    echo:           オフ
    vsftp:          オン
    services:       オフ
    time:           オフ
    time-udp:       オフ
    cups-lpd:       オフ
    sgi_fam:        オン
    ktalk:          オフ
    dbskkd-cdb:     オフ
    imap:           オフ
    imaps:          オフ
    ipop2:          オフ
    ipop3:          オフ
    pop3s:          オフ
    rexec:          オフ
    rlogin:         オフ
    rsh:            オフ
    amandaidx:      オフ
    amidxtape:      オフ
    finger:         オフ
    ntalk:          オフ
    talk:           オフ
    telnet:         オン
    tftp:           オン
    amanda:         オフ
    comsat:         オフ
    swat:           オフ

/sbin/chkconfig --list の結果は、環境毎に異なるはずなので
一度自分の環境で試してみると良い。
出力結果において、0〜6までの各ランレベルに対して
  • オン : システム起動時に対応するランレベルで起動される
  • オフ : システム起動時に対応するランレベルで起動されない
当たり前であるが、このようになる。
更に、例えば /etc/rc.d/rc3.d 配下、つまりランレベル3で実行される
サービスの起動スクリプトが格納されるディレクトリをls コマンドで見ると
(これはrc5.d でも当然良いわけであるが)
  • Kxx**** : xx = 数字、**** = サービス名
  • Sxx**** : xx = 数字、**** = サービス名
このように、"K" で始まるサービス起動スクリプトと
"S" で始まるサービス起動スクリプトの2種類が存在する。

話の流れから予想できる事であるが、以下のようになる。
  • Kxx*** : 対応するランレベルで起動されないサービス
  • Sxx*** : 対応するランレベルで起動されるサービス
このように分けられている事がわかる。


サービスの設定方法

サービスの設定には、
  • GUI ベースの設定ツール
  • コマンド設定
2種類の方法がある。

ランレベル5、つまりGUI ログインした場合はX Window/GNOME 環境が
デフォルトのデスクトップ環境となる。
ランレベル3、つまりマルチユーザCUI でログインした場合は
コマンドを使って設定をする必要がある。

GUI ベースでのサービス設定
GNOME メニュー から「システム設定」→「サーバ設定」→「サービス」を選択して
以下の設定ツールを起動する。


サービス設定ツールは、 現在実行されているランレベルに対して
  • サービスのオン設定
  • サービスのオフ設定
  • 実行中サービスの停止
  • 実行されていないサービスの起動
を行う事ができる。
他のランレベルに対して設定を行うには
「ランレベルの編集」から変更を行いたいランレベルを選択すればよい。

サービスを選択(キャプチャ画像ではFreeWnn)した時点で、説明と状態および
xinetd との関連性などが表示されるので、それらを確認しながら
設定、または起動・停止を行う。
xinetd と関連性を持つサービスに関しては、/etc/xinetd.d/ 配下の
サービスに関連するファイルの設定も見直し、変更した場合は
xinetd の再起動を行う必要がある。


コマンドベースでのサービス設定
コマンドベース、つまりランレベル1・3またはGNOME端末などから
設定を行う場合は、/sbin/chkconfig コマンドを利用する。
冒頭で説明した /sbin/chkconfig --list で設定状態を確認し
設定変更が必要なサービスを
chkconfig --level 指定ランレベル サービス on/off
で変更を行う。
つまり、複数のランレベルに対してon/off 指定したい場合にコマンド一発で
設定が可能というメリットがある。

ランレベル1でシステム起動、つまりシングルユーザでログインして
メンテナンスを行う場合などにコマンドベースでサービス設定を行う事により
他のユーザの利用状況を気にすることなくサービスの調整が可能である。

/sbin/chkconfig によるサービス設定は、サービス自体を把握している
必要があるため、比較的にシステム管理に熟知したユーザ向けであると
いえるかも知れない。

<< Back