Ubuntu でインストールしたデーモンアプリは、基本的にサービス起動することが前提なのでサービス制御するためには別のツールを使用しないといけません。
RedHat や CentOS などではデフォルトで chkconfig がインストールされていて、これでサービスの管理をしますが、Ubuntu では chkconfig がデフォルトではインストールされていません。
ここでは Ubuntu のサービス管理について紹介します。
Ubuntuのサービス管理
では chkconfig を入れようかなっと思うのですが、Ubuntu では sysv-rc-conf のパッケージが使われていることが多いようです。
sysv-rc-conf の使い方は chkconfig に非常に似ていて、それほど操作性に違和感はありません。
sysv-rc-confのインストール方法
インストール方法は下記の通りです。
1 | $ apt-get install sysv-rc-conf |
現在のサービスの状態一覧を取得するのは、chkconfig コマンドと同じく –list オプションを指定します。
1 2 3 | $ sysv-rc-conf --list (Apacheのみ抜粋) apache2 0:off 1:off 2:on 3:on 4:on 5:on 6:off |
Apache のサービス自動起動を off にするには下記のコマンドを実行します。
off を指定すると、すべてのランレベルで off となります。
1 2 3 4 | $ sysv-rc-conf apache2 off $ sysv-rc-conf --list (Apacheのみ抜粋) apache2 0:off 1:off 2:off 3:off 4:off 5:off 6:off |
存在しないサービスが一覧に表示される場合
chkconfig の時はどうだったか確認できていませんが、sysv-rc-conf で存在しないサービスに対して on や off を設定すると、新しく起動スクリプトが作成されてサービス一覧に表示されてしまいます。
1 2 3 4 | $ sysv-rc-conf apache3 off $ sysv-rc-conf --list (apache3のみ抜粋) apache3 2:off 3:off 4:off 5:off |
その場合は、/etc/rc[2-5].d の下にある該当のシンボリックリンクを削除して下さい。
1 2 3 4 | $ rm /etc/rc2.d/K80apache3 $ rm /etc/rc3.d/K80apache3 $ rm /etc/rc4.d/K80apache3 $ rm /etc/rc5.d/K80apache3 |