[Debian] 不要なサービスの自動起動を停止




このブログは新しいブログに記事を移行しました。


新しいブログ
虚ろなるパソコン技術ノート
をよろしくお願いします。

















Debian(Etch)をインストールしたときに設定される
自動起動のサービスのうち不要なものを停止させる。

これによりメモリの空き容量を増やすとともに
セキュリティーを高める効果もある。

インストールしたハード、マシンの構成、
システムの運用形態などにより
停止させてもいいもの、いけないものがあるので注意
 

まず、現在の runlevel を調べる。

# runlevel

で、現在の runlevel を調べることができる。

runlevel とはなにか?というと
Linuxの起動時にどのような起動方法を選択したかということで
0から6までの数字で表わされる。
どの番号がどのような意味かはLinuxのディストリービューションによって若干差異があるが
通常は
0 がシャトダウンシーケンスを意味し、
1 がシングルユーザモードという管理者しかログインできないメンテナンスモードを意味し
2から5 までが通常使われるモードになる。
判り易くいうと Windowsに通常のモードとセーフモードがあるのと少し似ている。

Debian は通常はrunlevel 2 で動作している。

そして、runlevel 2 のときに自動起動されるサービスは
/etc/rc2.d/ 以下を見ることで判る。

# cd /etc/rc2.d/
# ls -F
K77ntp-server@     S18mysql-ndb@       S20ssh@        S91apache2@
README             S19mysql@           S21gdm@        S99rc.local@
S10sysklogd@       S19postgresql-8.1@  S50proftpd@    S99rmnologin@
S11klogd@          S20dbus@            S89anacron@    S99stop-bootlogd@
S15bind9@          S20makedev@         S89cron@
S17mysql-ndb-mgm@  S20openbsd-inetd@   S90tomcat5.5@

それぞれは /etc/init.d/ 以下のサービス起動スクリプトへのシンボリックリンクになっている。
例えば、
S91apache2 は
/etc/init.d/apache2 へのシンボリックリンクである。
先頭がSになっているものが自動起動が有効なサービスで、
先頭がK になっているものは 自動起動が無効になっているもの。
二文字目から三文字目までの二桁の数字は自動起動の優先順位で
数字が若いサービスのものが先に起動される。
S90tomcat5.5
S91apache2
とあるので
Tomcat5.5 は Apache2 よりも先に起動されるということになる。

つまり、サービスの自動起動を止めたい場合は
ここのシンボリックリンクを消すか、
先頭のSをKに変更すればいい。
その為のコマンド update-rc.d が存在するので普通はこれを使う。

root で作業する。

例えばApache2の自動起動を止めたい場合は

# update-rc.d -f apache2 remove

また、Apache2 を自動起動にしたい場合は

# update-rc.d apache2 defaults


とする。
apache2 など指定する名前は
/etc/init.d/ の下にある起動スクリプトのファイル名を使う。
また、自動起動を止めた場合でも
現在起動しているサービスは止まらないので
そちらは改めて別途止める必要がある。
Apache2 ならば

# /etc/init.d/apache2 stop


起動されるサービスはいろいろあるが、
とりあえずは以下のものが対象になるであろう。

hplip (HP Linux Printing Project)
cupsys (プリンターを制御するサービス)
この二つはプリンターを使わないのであれば必要はない。

bittorrent (ファイル送受信サービス)
DebianのCDイメージを取ってくるときなどに使用するが
普段は特に必要はない。
これが無くてもaptitude(apt-get)は使える。

acpid (ACPI電源管理)
デスクトップ機、サーバーマシンなどでは特に必要ではない。

hotkey-setup (ノートPCのホットキーを自動設定)
デスクトップ機、サーバーマシンでは必要ない。

atd
atコマンドを使わないのであれば必要ない。

cpufrequtils (CPU制御)
CPUの動作周波数を管理する。
動作周波数をコントロールできるCPUを使ってない or
CPUはいつもガンガンつかってもらって構わない
というのであればいらない。

portmap (RPCサービス)
nfs-common (NFSサービス)
この二つはNFSを使わないのであれば必要なし。

anacron
cron
この二つもcronを使わないのであれば必要ない。

exim4 メール送信システム
メール送信をしないのであれば必要なし。

この他にもあるかもしれないが、
とりあえず上記のものは運用形態によっては外してもよい。

-----
2009/01/22:runlevel と /etc/rc2.d/ について追記
 



カテゴリ:

トラックバック(0)

このブログ記事を参照しているブログ一覧: [Debian] 不要なサービスの自動起動を停止

このブログ記事に対するトラックバックURL: http://www.net-phantom.jp/mt/mt-tb.cgi/96

コメントする

プロフィール

NeverNothing
種族:人間
性別:オス
国籍:日本
年齢:秘密
職業:秘密
IT関連会社や
研究団体などを
転々としてきた。
プログラミングや
サーバー構築/運用などの
仕事を経験してきた。

現在求職中

京都出身 東京在住

問い合わせ

リンク

Debian関連

その他Linux関連

Apache関連

Java関連

PostgreSQL関連

MySQL関連

PHP関連


著者他サイト/ブログ