Ubuntu で chkconfig の代わりに update-rc.d を使う
現在、OS起動時に自動起動させたいデーモンの設定を CentOS などのRedhat 系では chkconfig, Debian では update-rc.d を insserv に置き換えて設定しますが、Ubuntu の場合は update-rc.d で設定できます。
Ubuntu 12.10 から chkconfig が使えなくなったので、代わりに使う update-rc.d についてまとめました。
chkconfig と update-rc.d の簡易対応表
chkconfig | update-rc.d |
$ chkconfig <script> on or $ chkconfig --add <script> | $ update-rc.d <script> defaults |
$ chkconfig <script> off or $ chkconfig --del <script> | $ update-rc.d <script> remove |
update-rc.d の書式
update-rc.d [-n][-f] <script> defaults [NN | NN-start NN-stop]
update-rc.d [-n][-f] <script> remove
update-rc.d [-n][-f] <script> start|stop NN runlevel runlevel ... .start|stop NN runlevel runlevel
defaults を指定すると、<script> をランレベル2345にサービスの起動用リンクを、ランレベル016にサービスの停止用リンクを作成します。
remove を指定すると、<script> のリンクを全てのランレベルから削除します。
NN にはシーケンスコード番号を2桁の数字で指定します。シーケンスコード番号は、init がスクリプトを実行する順序を決めるために利用されます。依存関係のあるスクリプトを実行/停止する場合に指定します。 (デフォルト値は20、大きいほど後で実行される)
但し、ubuntu 18.04 ではサポートされていない模様です。 下記の manpage では NN についての記述がそもそもありません。
$ update-rc.d <script> start 20 2 3 4 5 . stop 20 0 1 6 .
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults