(本記事は、メインサイト
http://www.geocities.jp/humanrace96/insserv.html
とリンクしています)
---
update-rc.dはもう古い!?
昨夜、とあるツールを Raspberry pi に登録しようとしていて知った。update-rc.d はもう古い、これからは insserv だと、既に squeeze の時に提唱されていたことを!
うがぁ。知らなかった。
というわけで、使ってみたのでおさらいだ。
ふがほげ
まず、登録しようとしたサービスなんだけど、checkinstallでインストールをかまそうとしたせいか元々のツールが親切だったのか、ちゃんと /etc/init.d/****** も作られている。だから走らせようとしたのだけど、以下の問題があるのに気づいた。
- runlevel 2 で停止になっている。
Debian系ではネットワークオン+マルチユーザーのrunlevelは 2 なのである。故に、2で動かないのは困る。
そんなわけで設定するぞー。
/etc/init.d/boinc-client
こんな項目があるので書き換える。
### BEGIN INIT INFO # Provides: boinc # Required-Start: $network # Required-Stop: $network # Default-Start: 3 4 5 # Default-Stop: 0 1 2 6 # Short-Description: This script monitors the BOINC client. # Description: This script starts the local BOINC client as a daemon # For more information about BOINC (the Berkeley Open Infrastructure # for Network Computing) see http://boinc.berkeley.edu ### END INIT INFO
該当部分を以下のように。
# Default-Start: 2 3 4 5 # Default-Stop: 0 1 6
ちなみに $network というのは文字通りネットワークで、上の設定だと「ネットワークとともに起動して停止する」って事みたいだ。これを特定のジョブと連携させるなら、こういうことらしい。
# Required-Start: ssh # Required-Stop: ssh
コマンドライン
さて、いよいよ本題だ。サービス登録は以下に。
$ sudo insserv -d boic-client
ちなみに、登録解除は以下に。
$ sudo insserv -r boic-client
なお、使ってないけど、こんな使い方もできるそうな。
$ insserv boic-client,start=2,3,4,5
ふむふむ。おぼえておこう。
余談
ちなみに余談だが、登録したツールの結末は以下のようだった……。
Message from server: This project doesn't support computers of type armv6l-unknown-linux-gnueabihf
あー、プロジェクトの方でARMはサポートしとらんと?むう、そりゃ仕方ねえな。