LoginSignup
6
6

More than 5 years have passed since last update.

insservの使い方

Posted at

insservの使い方

insservとは

Debian系のOSなどで、使用する/etc/init.d/配下にあるファイルを、
OSが起動時に起動するデーモンとして登録するコマンド。

update-rc.dコマンドに代わって、最近のDebian系で用いられているらしい。

-r, --remove

デーモンを削除するオプション。

insserv -r deamon_name

-f, --force

強制実行オプション。

insserv -rf deamon_name

-v, --verbose

詳細表示オプション。

標準出力に処理内容を表示する。

# insserv -v deamon_name
insserv: enable service ../init.d/deamon_name -> /etc/init.d/../rc0.d/K02deamon_name
insserv: enable service ../init.d/deamon_name -> /etc/init.d/../rc2.d/S01deamon_name
insserv: creating .depend.boot
insserv: creating .depend.start
insserv: creating .depend.stop

-d, --default

対象ファイルに記載されているLSB(Liunx Standerd Base)コメントに記載されているランレベルにデーモンを登録する。

### BEGIN INIT INFO
# Provides:          deamon_name
# Required-Start: 
# Required-Stop:
# Should-Start:
# Default-Start:        2
# Default-Stop:         0

# insserv -dv deamon_name
insserv: enable service ../init.d/deamon_name -> /etc/init.d/../rc0.d/K02deamon_name
insserv: enable service ../init.d/deamon_name -> /etc/init.d/../rc2.d/S01deamon_name
insserv: creating .depend.boot
insserv: creating .depend.start
insserv: creating .depend.stop

-p , --path

登録デーモンファイルのパスをデフォルトの/etc/init.dから変更するオプション。

・ デーモンのパスを/etc/init.dから/var/tmp/に変更する
# ls -l /var/tmp/deamon_name
-rwxr-xr-x 1 root root 1491 Aug  3 10:53 /var/tmp/deamon_name

# insserv -p /var/tmp/ -dv deamon_name 
insserv: creating directory '../rc0.d/'
insserv: creating directory '../rc1.d/'
insserv: creating directory '../rc2.d/'
insserv: creating directory '../rc3.d/'
insserv: creating directory '../rc4.d/'
insserv: creating directory '../rc5.d/'
insserv: creating directory '../rc6.d/'
insserv: creating directory '../rcS.d/'
insserv: enable service ../init.d/deamon_name -> /var/tmp/../rc0.d/K01deamon_name
insserv: enable service ../init.d/deamon_name -> /var/tmp/../rc2.d/S01deamon_name
insserv: creating .depend.boot
insserv: creating .depend.start
insserv: creating .depend.stop

・ /var/tmp/を指定すると一つ上の/var/配下に、各ランレベルのディレクトリが作成される
# ls -l /var/
/var/rc0.d
/var/rc1.d
/var/rc2.d
/var/rc3.d
/var/rc4.d
/var/rc5.d
/var/rc6.d
/var/rcS.d

-o , --override

/etc/insserv/overrides/配下にデーモンに登録しようとしているファイルと同じファイル名のファイルを配置すると、
登録するファイルのLSBコメントが無視(override)され、/etc/insserv/overrides/配下のファイルのLSBコメントにもとづき、
登録が行われる。

-oオプションを使うと、/etc/insserv/overridesから任意のディレクトリに変更できる。

・ 登録ファイル
# head /etc/init.d/deamon_name 
#! /bin/sh
### BEGIN INIT INFO
# Provides:          deamon_name
# Required-Start: 
# Required-Stop:
# Should-Start:
# Default-Start:        2
# Default-Stop:         0


・/etc/insserv/overrides/配下のファイル
# head /etc/insserv/overrides/deamon_name 
#! /bin/sh
### BEGIN INIT INFO
# Provides:          deamon_name
# Required-Start: 
# Required-Stop:
# Should-Start:
# Default-Start:        2 3
# Default-Stop:         

・ 登録
insserv -dv deamon_name
insserv: enable service ../init.d/deamon_name -> /etc/init.d/../rc2.d/S01deamon_name
insserv: enable service ../init.d/deamon_name -> /etc/init.d/../rc3.d/S01deamon_name
insserv: creating .depend.boot
insserv: creating .depend.start
insserv: creating .depend.stop

・/var/tmp/deamon_nameにファイルを配置
# head /var/tmp/deamon_name
#! /bin/sh
### BEGIN INIT INFO
# Provides:          deamon_name
# Required-Start: 
# Required-Stop:
# Should-Start:
# Default-Start:        2
# Default-Stop:         

・ オプションを指定して、登録
insserv -o /var/tmp/ -dv deamon_name 
root@armadillo:/etc/insserv/overrides# insserv -o /var/tmp/ -dv deamon_name 
insserv: enable service ../init.d/deamon_name -> /etc/init.d/../rc2.d/S01deamon_name
insserv: creating .depend.boot
insserv: creating .depend.start
insserv: creating .depend.stop

-c , --config

コンフィグファイルのパスを変更するオプション。
/etc/insserv.confがデフォルトのパスになっているが、デフォルト以外のファイルを
使用したい場合に使用する

insserv -c /var/tmp/insserv.conf  -d deamon_name

-n, --dryrun

システムへの変更は行わず、処理

# insserv -n -r deamon_name 
insserv: remove service /etc/init.d/../rc2.d/S01deamon_name
insserv: remove service /etc/init.d/../rc3.d/S01deamon_name
insserv: dryrun, not creating .depend.boot, .depend.start, and .depend.stop

※ lsでみるとファイルが削除されず残っていることがわかる
# ls -l /etc/rc2.d/S01deamon_name 

-s, --showall

各デーモンの登録番号と、ランレベルの情報を表示する

# insserv -s
※ K[終了] or S(起動):登録番号:ランレベル:デーモン名 ↓
K:02:0 1 6:apache2
K:05:0 1 6:rsyslog
K:03:0 1 6:watchdog
K:06:0 6:hwclock.sh
・
・
・
S:02:2 3 4 5:apache2
S:01:2 3 4 5:rsyslog
S:01:2 3 4 5:watchdog
S:04:S:hwclock.sh
S:03:2 3 4 5:ntp
6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6