Ubuntu 12.04のリポジトリからインストールされるmediatombの自動起動の無効化ができないバグを回避する方法。
バグレポートはlaunchpad.netの『Bug #277393 init script fails if NO_START="yes" 』に報告済みで、パッケージとしては未解決。
検証環境
・Ubuntu 12.04.4 LTS
・mediatomb 0.12.1
mediatombの標準的な自動起動無効化の方法
mediatombの設定ファイルに書かれているとおりに無効化してみる → 無効化できない!
/etc/default/mediatomb
# Set whether the daemon should be started. Set this value to anything # but 'yes' to enable the daemon #NO_START="no" # ↓ NO_START="yes"
upstartの無効化手順を踏んでみる → この方法も効果なし!
# update-rc.d mediatomb disable # sysv-rc-conf --list | grep media mediatomb 0:off 1:off 2:off 3:off 4:off 5:off 6:off
Ubuntuの公式ページ『MediaTomb - Community Ubuntu Documentation』に書かれている次のような方法も試してみるが、効果なし。
# mv /etc/init.d/mediatomb /etc/init.d/mediatomb.backup # update-rc.d mediatomb remove
状況
どの方法を試しても、mediatombが起動している。upstartの中で起動されているようだ。
# initctl list | grep media mediatomb start/running, process 3064 # ps -ax | grep -e media 3064 ? Ssl 0:00 mediatomb -c /etc/mediatomb/config.xml -u mediatomb -g mediatomb -l /var/log/mediatomb.log -e eth0
upstartの設定ファイルで無効化してみる
/etc/init/mediatomb.conf
#start on (local-filesystems and net-device-up IFACE!=lo) # ↓ start on runlevel [] stop on runlevel [!2345]
もしくは、/etc/default/mediatomb の NO_START をきっちりと処理するように
/etc/init/mediatomb.conf
script
[ -r $DEFAULT ] && . $DEFAULT
##### 次の1行を追加する
[ $NO_START = yes ] && exit 0
#####
[ ! $USER ] && USER=root
スマートなのは、下のやり方ですね。launchpad.netのバグレポートでの回答も、ユーザがこういうふうにスクリプト修正するとよいと書いてあります。