FrontPage

initとrunlevel(rc.d)

Debianでは/etc/rcS.d以下を実行した後、/etc/inittabに指定されたrunlevelのrc*.dを実行します。runlevelは標準では

  • init0 停止
  • init1 シングルユーザーモード
  • init2 マルチユーザーモード
  • init3 init2と同じ
  • init4 init2と同じ
  • init5 init2と同じ
  • init6 再起動 となっています。

rc*.dの編集

update-rc.dというスクリプトを使用します。

例)inetdを停止する場合。

# update-rc.d -f inetd remove  - 全てのRunLevelからinetdのリンクを削除します。

アップデートされるとまたリンクが生成されてしまいますが、Debian本来の意図する動作としては
インストールされている=使用する
なので、不必要なパッケージは削除しておくほうが望ましいといえます。
また、

# apt-get remove <package>

してもrc.dのシンボリックリンクは残ったままなので、そういう時は遠慮なく削除しましょう。

次に、PostgreSQLを起動できるようにしてみます。
まず、/etc/init.d/に"postgres"という起動スクリプトを準備します。
続けて、以下のコマンドでrc.d内に起動スクリプトを作成します。

# update-rc.d postgres defaults 90

これで、各RunLevel?にK90postgresやS90postgresが作成されます。
ただ、rc0.dとrc1.d、rc6.dはK90では都合が悪い(Postgresは、もっと早く停止したい)ので、もう少し細かく設定します。

# update-rc.d postgres start 90 2 3 4 5 . stop 10 0 1 6 .

これで以下のようなリンクファイルが作成されます。

/etc/rc0.d/K10postgres
/etc/rc1.d/K10postgres
/etc/rc2.d/S90postgres
/etc/rc3.d/S90postgres
/etc/rc4.d/S90postgres
/etc/rc5.d/S90postgres
/etc/rc6.d/K10postgres

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-11-29 (土) 20:40:04 (650d)