Linux Tips

システムサービスのランレベルを調べたり変更するには

北浦訓行
2001/9/6

 ランレベルとはで説明したとおり、Linuxではランレベルによって起動するシステムサービス(プログラム)と起動しないシステムサービスを分けている。これを変更するには、ランレベル別のディレクトリ(/etc/rc.d/rc?.d)に、起動するシステムサービスのリンクをSで始まる名前で作成してもいいのだが、setupコマンドもしくはntsysvコマンド(Turbolinuxの場合は、Turboserviceコマンド)で設定するのが普通だ(システムサービスの起動・停止方法参照)。

 ところが、ntsysvコマンドなどでは、デフォルトでは現在のランレベルしか設定できないので注意が必要だ(複数のランレベルの設定を行う場合には、--levelsオプションで設定したいランレベルを指定する)。また、Aというシステムサービスはランレベル3で、Bというシステムサービスはランレベル3と5でというように、システムサービスによって異なるランレベルで実行する設定にしたいときは、一度ntsysvを終了させて、あらためて起動しなければならない。グラフィカルに表示されるので最初は便利に思えるのだが、スクロールが意外と面倒だったりもする。

 これらの問題を一気に解決するのがchkconfigコマンドだ。chkconfigコマンドでは、システムサービスのランレベルの表示、設定、変更が可能だ。

 システムサービスの状態を調べるには、--listオプションを指定する。--listオプションだけを指定してchkconfigコマンドを実行すると、現在の全システムサービスの状態が表示される。なお、chkconfigコマンドは基本的にはrootで実行するのだが、--listオプションだけは一般ユーザーでも実行できる。chkconfigコマンドは/sbinディレクトリにあるので、/sbin/chkconfig -listのようにすればいい。

# chkconfig --list 
canna           0:off   1:off   2:on    3:on    4:on    5:off   6:off 
FreeWnn         0:off   1:off   2:on    3:on    4:on    5:on    6:off 
keytable        0:off   1:off   2:on    3:on    4:on    5:on    6:off 
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off 
(省略)

 どれか1つのシステムサービスの状態を表示するには、--listオプションの後に表示したいサービス名を指定する。

# chkconfig --list httpd ←httpdの状態を表示
httpd           0:off   1:off   2:off   3:off   4:on    5:on    6:off 
# chkconfig --level 3 httpd on ←httpdのランレベル3をオンに設定
# chkconfig --list httpd ←ランレベル3がオンになっている
httpd           0:off   1:off   2:off   3:on    4:on    5:on    6:off

 新しいシステムサービスを追加するには、--addオプションでサービス名を指定する。システムサービスを削除するには、--delオプションでサービス名を指定する。

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間