みかづきの色々

デバイス(スマホからキャンプ用品まで)とかプログラミングとか中心のいろいろ試験的なブログ。

update-rc.dはもう古い?insservを使ってみる。

(本記事は、メインサイト
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

こうすると、sshの起動後に起動し、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はサポートしとらんと?むう、そりゃ仕方ねえな。