RHELのchkconfigコマンドの同等機能を実現する、Debian系(Ubuntu)のsysv-rc-initコマンド。
パッケージ名の検索
root@localhost:~# apt-cache search sysv-rc
sysv-rc - System-V ライクなランレベル変更機構
sysv-rc-conf - 端末用 SysV init ランレベル設定ツール
パッケージのインストール
root@localhost:~# apt-get install sysv-rc-conf
オプションなしで起動すると、メニュー方式でサービスをON/OFFするモードで起動する。ここにはすべてのサービスが表示されているわけではないので、より詳細に制御する場合は次のようにする。
sysv-rc-conf --list
sysv-rc-conf [サービス名] on
sysv-rc-conf [サービス名] off
このコマンドで行っているのは、(ランレベル2の場合であれば) /etc/rc2.d/ ディレクトリにある起動スクリプトへのリンクファイルの先頭文字を、「S」(有効)←→「K」(無効)と切り替えているだけだ。
例えば、「S20postfix」(サービス有効)と「K20postfix」(サービス無効)という風に…。
■ Ubuntu 8.10で不要なサービスと思われるもの
サービス | 説明 |
(apport) | クラッシュ時のバグレポートを作成する。 |
avahi-daemon | mDNSプロトコルで、ネットワーク内のマシンを接続(発見)する。 (Mac OSを用いたローカルネットでないなら無効化) |
bluetooth | (Bluetoothを用いないのであれば無効化) |
cups | UNIX Printig System。 (プリンタ及びPDFプリンタを利用しないなら無効化) |
dns-clean | PPP接続前にDNSキャッシュをクリア。 (PPP接続を使っていないなら無効化) |
hotkey-setup | ノートPCでのホットキーのキーコード設定。 (アプリケーションキーを使わないなら無効化) |
laptop-mode | ハードディスクが未使用時に回転を落とすツール。 (ハードディスクを回転させたままでよいなら、無効化) |
pppd-dns | PPP接続前にresolv.confを再適用。 (PPP接続を使っていないなら無効化) |
rsync | rsyncファイルコピープログラム。 (ファイルのバックアップにrsyncコマンドを使うつもりがないなら無効化) |
speech-dispatcher | スピーチ・シンセサイザ。 (スピーチ・シンセサイザを使わないなら無効化) |
usplash | 起動時・シャットダウン時のスプラッシュ スクリーン表示。 (スプラッシュ スクリーンが必要無ければ無効化) |
■ /etc/init.d/ 内のリンクを消してしまう(update-rc.dコマンド)
# update-rc.d -f [サービス名] remove
この処理で、例えばランレベル2の起動スクリプトであれば、/etc/rd2.d/にある[サービス名]のスクリプトが削除される。サービスを再度復活するには、「update-rc.d サービス名 defaults」というコマンドでよいのだが、元あったスクリプト起動順序と完全に同一というわけでも無いようである…
できれば、sysv-rc-initコマンドを用いて、スクリプトの名称の最初の文字を「K」に変更するだけに止めた方が安全だろう。(と、個人的には思う)
■ 起動時スプラッシュスクリーンの無効化(Ubuntu 8.04)
なお、usplash を無効化するだけでは起動時・シャットダウン時のスプラッシュスクリーンは表示されてしまう。完全にテキストベースで起動状況を表示させるには、GRUBのカーネルパラメータの splash スイッチを削除する。 (高解像度で表示させるには、vgaスイッチを付加する。1024*768の時はvga=773、1280*1024の時はvga=775など)
kernel /boot/vmlinuz-2.6.27-11-generic root=UUID=xxxxxx ro quiet splash
↓
kernel /boot/vmlinuz-2.6.27-11-generic root=UUID=xxxxxx ro quiet vga=773
■ avahi-daemon無効化(Ubuntu 9.10)
『sysv-rc-conf avahi-daemon off』と『insserv -r -f avahi-daemon』ではこのサービスを無効化できなかったので、設定ファイルを強制的に書き換えて、起動しないようにした。
description "mDNS/DNS-SD daemon"
#start on (filesystem ← 無理やりコメントアウト
# and started dbus)
stop on stopping dbus
expect daemon
respawn
exec avahi-daemon -D
■ その他参考資料
起動スクリプトのON/OFFを切り替えるデフォルトのプログラムは insserv で、/etc/rcn.d/ のシンボリックリンクを操作できる。なお、Ubuntuのデフォルトのランレベルは「2」(/etc/init/rc-sysinit.conf で設定されている)なので、通常は /etc/rc2.d/ 内のシンボリックリンクを確認すること。
insserv [サービス名]
insserv -r [サービス名]
エラーがありサービスがどうしても削除できない時は
insserv -r -f [サービス名]
■ Upstart
SysVからUpstartへ、徐々に切り替わりつつあるため、この記事で説明しているSysV制御方式はそのうち使えなくなるはず。あるいは非常識になるはず。
■ Ubuntu 10.04でのサービス (2010年6月21日追記)
以下、現在編集中。
init (upstart) 系の一覧取得方法
# initctl list
あるサービスを無効化する場合、依存するサービスを調べる方法の例。ここで検索された各行について検討すればよい。
# grep /etc/init.d/* /etc/init/* -e [サービス名]
サービス名 | sysv 標準 | sysv 変更 | init 標準 | init 変更 | |
---|---|---|---|---|---|
acpi-support | 2:on | 2:on | |||
acpid | 2:on | 2:on | |||
alsa-mixer-save | |||||
anacron | |||||
apache2 | 2:on | 2:on | |||
apparmor | S:on | S:on | |||
apport | |||||
atd | 2:on | 2:on | |||
avahi-daemon | 2:on | 2:on | |||
binfmt-support | 2:on | 2:on | |||
bluetooth | 2:on | 2:off | |||
bootlogd | |||||
brltty | S:on | S:on | |||
clamav-freshclam | 2:on | 2:on | |||
console-setup | |||||
cron | 2:on | 2:on | |||
cups | 2:on | 2:on | |||
dbus | ON | ON | |||
dmesg | |||||
dns-clean | 2:on | 2:off | |||
failsafe-x | |||||
fancontrol | 2:on | 2:on | |||
gdm | ON | ON | |||
grub-common | 2:on | 2:on | |||
halt | |||||
havp | 2:on | 2:on | |||
hddtemp | 2:on | 2:on | |||
hostname | |||||
hwclock | |||||
hwclock-save | |||||
irqbalance | |||||
kerneloops | 2:on | 2:on | |||
killprocs | |||||
lm-sensors | S:on | S:on | |||
module-init-tools | |||||
network-interface(*) | ON | ON | |||
network-interface-security | ON | ON | |||
network-manager | ON | ON | |||
networking | ON | ON | |||
nmbd | ON | ON | |||
ondemand | 2:on | 2:on | |||
pcmciautils | S:on | S:on | |||
plymouth | |||||
plymouth-log | |||||
plymouth-splash | |||||
plymouth-stop | |||||
postfix | 2:on | 2:on | |||
pppd-dns | 2:on | 2:off | |||
procps | |||||
pulseaudio | 2:on | 2:on | |||
rc.local | 2:on | 2:on | |||
reboot | |||||
rsync | 2:on | 2:off | |||
rsyslog | ON | ON | |||
saned | 2:on | 2:off | |||
saslauthd | 2:on | 2:on | |||
screen-clean | S:on | S:on | |||
sendsigs | |||||
single | |||||
smartmontool | 2:on | 2:on | |||
smbd | ON | ON | |||
speech-dispatcher | 2:on | 2:off | |||
stop-bootlogd | |||||
stop-bootlogd-single | |||||
tty1 | 2:on | 2:on | |||
tty2 | 2:on | 2:on | |||
tty3 | 2:on | 2:on | |||
tty4 | 2:on | 2:on | |||
tty5 | 2:on | 2:on | |||
tty6 | 2:on | 2:on | |||
udev | ON | ON | |||
udev-finish | |||||
udevmonitor | |||||
udevtrigger | |||||
ufw | ON | ON | |||
umountfs | |||||
umountroot | |||||
unattended-u | |||||
upstart-udev-bridge | ON | ON | |||
urandom | S:on | S:on | |||
vmware | 2:on | 2:on | |||
wpa-ifupdown | |||||
x11-common | S:on | S:on |