CentOS 5.4で不要なサービスを停止する
CentOS 5.4で不要なサービスを無効にすることで、限りあるリソースを有効に使う。
1. 有効になっているサービスを確認する
有効になっているサービスを確認するには以下のコマンドを実行すればよい。
[root@localhost ~]# chkconfig --list | grep 3:on
これはランレベルが 3 の場合。異なるランレベルのサービスについては 3:on の部分を 4:on などに変えればOK。
2. 不要な場合があるサービス
以下のサービスは多くの場合に不要とされるサービスなので、特に理由がない限りOFFにして構わないと言われているが、あくまで止める場合は自己責任で。
SELinux関連
SELinuxを使わないならOFFで構わない。逆に、SELinuxを使う場合はOFFにしないこと。
サービス名 | 説明 |
---|---|
auditd | SELinuxのログを記録するサービス。 |
mcstrans | MLS/MCSラベルを変換してくれるサービス。 |
restorecond | ファイルやパスにラベルを付与するサービス。 |
NFS,NIS関連
NFSを使用しない場合はOFFで構わないっぽい。
サービス名 | 説明 |
---|---|
netfs | NFSクライアント。 |
nfslock | NFSでファイルロックを行う。 |
portmap | RPC接続をTCPのポートにマッピングするサービス。 |
rpcgssd | NFSクライアントに比較的セキュアなRPC通信を提供するサービス……らしい。 |
rpcidmapd | RPC通信に使われるIDマッパー。 |
Bluetooth関連
Bluetoothを使わないならOFFで構わない。
サービス名 | 説明 |
---|---|
bluetooth | Bluetoothに関する機能を提供するサービス。 |
hidd | BluetoothのHIDプロトコルに関するデーモン。 |
電源関連
主に電源ボタンでシャットダウンしたい人用。サーバーの場合はOFFで構わない。
サービス名 | 説明 |
---|---|
acpid | 電源管理規格ACPIに関する機能を提供する。 |
apmd | 電源管理規格APMに関する機能を提供する。 |
その他
その他、場合によりOFFにして構わないサービス。
サービス名 | 説明 |
---|---|
anacron | マシンが停止状態の間に実行するはずだったタスクを実行できるcronもどき。特に必要なければOFFで構わない。 |
avahi-daemon | mDNSサービスを提供するデーモン。LAN内にMacがなければOFFで構わない……はず。 |
cpuspeed | 負荷に応じてCPU周波数を動的に変更するサービス。消費電力等を気にしないのであればOFFで構わない。 |
cups | 印刷機能を提供するサービス。プリンタを繋げないのであればOFFで構わない。 |
gpm | コンソール用マウスサーバー。コンソール上でマウスを使わないのであればOFFで構わない。 |
mdmonitor | ソフトウェアRAIDの監視を行うサービス。CentOS標準のソフトウェアRAIDを使用しない場合、OFFで構わない。 |
pcscd | スマートカード関連のサービス。スマートカードを使わない場合は不要。 |
irqbalance | マルチCPU環境で効率的な処理分散を行うためのサービス。マルチCPU環境でなければOFFで構わない。 |
ip6tables | IPv6用ネットワークフィルタ。IPv6を無効にする場合はOFFで構わない。 |
rawdevices | Rawデバイスを扱うためのサービス。なくて困った、という話は聞いたことがない。 |
xfs | X用フォントサーバー。GUIを使わない限り不要。 |
yum-updatesd | yumの自動更新サービス。yum-cronを導入している場合は不要。 |
3. 必要なサービス
以下のサービスは多くの場合に必要とされるサービスなので、自信がない限りONのままにしておくことを推奨する。
サービス名 | 説明 |
---|---|
atd | atコマンドで指定された処理を行うサービス。atコマンドは一般的なコマンドなのでOFFにすると困る場合がある。 |
autofs | オートマウント処理を行うサービス。OFFにすると思わぬ時にハマってしまう事がありそう。 |
crond | Windowsで言うところのタスクスケジューラ。様々なシステムが依存している。 |
haldaemon | リアルタイムハードウェア情報収集サービス。OFFにすると思わぬ時にハマってしまう事がありそう。 |
iptables | IPv4用ネットワークフィルタ。全裸でネットワークの海に飛び込む自信がない限り、ON推奨。 |
kudzu | 起動時のハードウェア自動認識を行うサービス。 |
lvm2-monitor | LVM関連サービス。パーティション構成にLVMが含まれていない場合はOFFで構わないが、まずそんなことはない。 |
messagebus | D-BUS通信と呼ばれるアプリケーション間のメッセージ交換を提供する。多用されているらしい。 |
microcode_ctl | Intel IA32 プロセッサのマイクロコードユーティリティ。 |
network | 起動時にネットワークインターフェースを初期化する。 |
readahead_early | システムやサービスに必要なファイルを先読みする。 |
sendmail | ご存じ元祖MTA。止めてしまうとメールが一切やりとりされなくなる。OFFにするのはPostfix等を導入してから。 |
smartd | HDDの障害予測を行う。使いこなすのは難しいらしいがOFFにするのも怖いよね。 |
sshd | SSHデーモン。SSHを全く使わないならばOFFにしても構わない。 |
syslog | ログ管理デーモン。OFFにしないこと。 |
4. 実際にサービスを停止する
調査の結果、今回は以下のサービスを停止することにした。
- acpid
- anacron
- apmd
- auditd
- avahi-daemon
- bluetooth
- cpuspeed
- cups
- gpm
- hidd
- ip6tables
- irqbalance
- mcstrans
- mdmonitor
- netfs
- nfslock
- pcscd
- portmap
- rawdevices
- restorecond
- rpcgssd
- rpcidmapd
- xfs
service コマンドで実行中のサービスを停止し、chkconfig コマンドで次回から起動時に実行されないように設定する。以下、acpidを停止する場合の例。
[root@localhost ~]# service acpid stop acpi デーモンを停止中: [ OK ] [root@localhost ~]# chkconfig acpid off
いちいち実行するのが面倒な場合は以下の様にシェルスクリプトを作成し、実行してもよい。
#!/bin/sh while read SERVICE do service $SERVICE stop chkconfig $SERVICE off done << __EOL__ acpid anacron apmd auditd avahi-daemon bluetooth cpuspeed cups gpm hidd ip6tables irqbalance mcstrans mdmonitor netfs nfslock pcscd portmap rawdevices restorecond rpcgssd rpcidmapd xfs __EOL__
最後に、最初と同じコマンドで起動時に実行されるサービスの一覧を確認する。今回作業したサーバーではこんなカンジ。
[root@localhost ~]# chkconfig --list | grep 3:on atd 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 crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off haldaemon 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 kudzu 0:off 1:off 2:off 3:on 4:on 5:on 6:off lvm2-monitor 0:off 1:on 2:on 3:on 4:on 5:on 6:off messagebus 0:off 1:off 2:off 3:on 4:on 5:on 6:off microcode_ctl 0:off 1:off 2:on 3:on 4:on 5:on 6:off network 0:off 1:off 2:on 3:on 4:on 5:on 6:off readahead_early 0:off 1:off 2:on 3:on 4:on 5:on 6:off sendmail 0:off 1:off 2:on 3:on 4:on 5:on 6:off smartd 0:off 1:off 2:on 3:on 4:on 5:on 6:off sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off yum-cron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
作業前に比べてかなりすっきりした。
5. 参考URL
この記事を書くにあたって、以下のページを参考にした。