Debian 系 Linux - サービス自動起動設定!

Updated:


CentOS や Scientific Linux 等の Redhat 系 Linux では、CUI モードでのサービス自動起動設定は chkconfig コマンドを使用します。 一方、Ubuntu や Linux Mint 等の Debian 系 Linux では、update-rc.d コマンドを使用します。

以下、update-rc.d コマンドについての記録です。

0. 前提条件

作業・確認した環境は Linux Mint 14 Nadia (64Bit) だが、Debian 系 Linux なら同じはずである。

1. ランレベル

まず、サービス自動起動で重要なランレベルは、Debian 系 Linux では、以下のような割り当てとなっている。

ランレベル説明
0システム停止
1シングルユーザモード
2マルチユーザモード
32 に同じ
42 に同じ
52 に同じ
6システム再起動

ちなみに、RedHat 系 Linux では、以下のような割当となっている。

ランレベル説明
0システム停止
1シングルユーザモード
2マルチユーザモード(ネットワーク無し)
3マルチユーザモード(テキストログインモード)
4未使用(ユーザ定義可能)
5マルチユーザモード(GUIログインモード)
6システム再起動

2. update-rc.d コマンドについて

update-rc.d コマンドの使用方法は以下の通り。(HELP の内容)

$ update-rc.d --help
usage: update-rc.d [-n] [-f] <basename> remove
       update-rc.d [-n] <basename> defaults [NN | SS KK]
       update-rc.d [-n] <basename> start|stop NN runlvl [runlvl] [...] .
       update-rc.d [-n] <basename> disable|enable [S|2|3|4|5]
    -n: not really
    -f: force

The disable|enable API is not stable and might change in the future.

3. 自動起動設定

詳細にオプション指定も可能だが、通常は自動起動の設定や解除程度しか使用しないので、まずは自動起動の設定について。
例えば apache2 というサービスをシステム起動時に自動起動するように設定する場合。

$ sudo update-rc.d apache2 defaults
 Adding system startup for /etc/init.d/apache2 ...
   /etc/rc0.d/K20apache2 -> ../init.d/apache2
   /etc/rc1.d/K20apache2 -> ../init.d/apache2
   /etc/rc6.d/K20apache2 -> ../init.d/apache2
   /etc/rc2.d/S20apache2 -> ../init.d/apache2
   /etc/rc3.d/S20apache2 -> ../init.d/apache2
   /etc/rc4.d/S20apache2 -> ../init.d/apache2
   /etc/rc5.d/S20apache2 -> ../init.d/apache2

4. 自動起動設定解除

次に、システム起動時自動起動するようになっているサービスを解除する場合。

$ sudo update-rc.d -f apache2 remove
 Removing any system startup links for /etc/init.d/apache2 ...
   /etc/rc0.d/K09apache2
   /etc/rc1.d/K09apache2
   /etc/rc2.d/K09apache2
   /etc/rc3.d/K09apache2
   /etc/rc4.d/K09apache2
   /etc/rc5.d/K09apache2
   /etc/rc6.d/K09apache2

5. sysv-rc-conf について

視覚的に、また詳細にランレベルを設定したいなら、sysv-rc-conf という「端末用 SysV init ランレベル設定ツール」を使うとよい。
端末で以下のようにすれば起動できる。

$ sudo sysv-rc-conf

SYSV_RC_CONF

参考サイト


当方、Redhat 系での chkconfig コマンドに慣れていて、しばらく使用しないと忘れてしまいそうなので記録しておいた次第です。

以上。





 

Sponsored Link

 

Comments