--.--.-- --:-- | EDIT
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Category: スポンサー広告
Permanent Link | Comment(-) | Trackback(-) | PageTop↑
2012.02.12 12:27 | EDIT
Ubuntu起動時にMediaTombを自動起動させる
前回までの試みでMediaTombを用いることでNAS上のメディアデータをDLNA配信することが実現できたのだが、Ubuntu起動の度に毎回NASのディスクをマウントして、MediaTombを起動するようなコマンドをいちいち手入力しているようでは面倒で仕方がない。よってUbuntu起動時にMediaTombが自動的に起動するように設定みようと思う。
ネットで検索してみると、MediaTombの自動起動を行うには、以下ファイルを編集すれば良いらしい。
/etc/default/mediatomb
# Defaults for MediaTomb initscript
# sourced by /etc/init.d/mediatomb
# installed at /etc/default/mediatomb by the maintainer scripts
#
# This is a POSIX shell fragment
#
# Set whether the daemon should be started. Set this value to anything
# but 'yes' to enable the daemon
NO_START="no"
: : : : : : : : : : : : : :
このファイルのNO_STARTの引数が"no"となっていればUbuntuの起動時にMediaTombが自動起動ができるようになるそうだ。さっそく編集のためにファイルを開いてみたところ、デフォルト状態で既に"no"になっていた。本来ならばUbuntu起動とともにMediaTombが起動していてもおかしくなはずだが、何故か現時点でMediaTombは起動していない。

ここで試しに以下のコマンドを実行しMediaTombの再起動をかけてみたところ、MediaTombが正しく起動することが分かった。起動後はメディアデータへのアクセスも全く問題ないため、現状の環境ではUbuntu起動時にのみなんらかの障害が発生していると考えられる。
# /etc/init.d/mediatomb restart
* Restarting upnp media server mediatomb [ OK ]

そこで先人たちの情報に従ってMediaTombの挙動を確かめるべく、Ubuntuの起動後にMediaTombのログファイルmediatomb.logを開いてみると、ログの末尾に2行のエラーが発生していることが分かった。このエラーはMediaTombが起動するときに未だネットワークが起動していないことを示すそうだ。
/var/log/mediatomb.log
  :    :    :    :    :    :    :    :    :    :    :    :    :    :
2012-02-12 11:00:49 ERROR: main: upnp error -117
2012-02-12 11:00:49 ERROR: upnp_cleanup: UpnpUnRegisterRootDevice failed

問題はMediaTombのサービス起動がネットワークのサービス起動よりも早くなっていることにあるため、解決策としては、MediaTombのサービスが起動する順番を遅らせるか、MediaTombのサービス起動時間を遅らせる方法があるらしい。
先ず前者の方法を試してみよう。その前に現在のUbuntuのランレベルを調べてみると2になっているようだ。
# runlevel
N 2

ランレベル2の中にあるmediatombのサービス設定(シンボリックリンク)を確認するとS98になっており、サービスの起動順としては既に後ろの方になっているようだ。とすると、ここでのチューニングは改善の見込みは無さそうだ。
# ls /etc/rc2.d/*mediatomb
/etc/rc2.d/S98mediatomb

サービスの起動順で調整が無理だとすると、あとは後者のMediaTombのサービス起動時間を遅らせるためにウェイトを追加する方法になる。以下のファイルにsleep 10のウェイトを挿入し、サービスが10秒遅れで起動するようにしてみる。
/etc/init.d/mediatomb
#! /bin/sh
#
# MediaTomb initscript
#
# Original Author: Tor Krill <tor@excito.com>.
# Modified by: Leonhard Wimmer <leo@mediatomb.cc>
# Modified again by Andres Mejia <mcitadel@gmail.com> to
# base it off of /etc/init.d/skeleton
#
#

sleep 10

### BEGIN INIT INFO
# Provides: mediatomb
: : : : : : : : : : : : :

Ubuntuを再起動したところ、今度は上手くMediaTombのサービスが開始するようになった。

Ubuntu起動時にNAS上のフォルダを自動マウントさせる
MediaTombの自動起動はできるようになったため、今度はNAS上のフォルダも自動的にマウントされるようにしてみよう。ネットの情報によると、自動マウントさせるには/etc/network/if-up.d/の下に任意の名前のファイルを作成しmountコマンドを記述すれば良いようだ。今回はmntdskというファイル名を作ってみた。ちなみにfstabに追加する方法もあるが、ネットワークの起動が遅い場合上手くいかないことがあるらしいので、今回はif-up.dの下に置く方法を選択している。
/etc/network/if-up.d/mntdsk
#!/bin/sh

mount -t cifs //192.168.0.128/share1 /mnt/share1 -o username=xxxxxxx,password=xxxxxxxx,iocharset=utf8

ファイル作成後、パーミッションを755に変更すればOKだ。これでUbuntu起動後から、NAS上のフォルダが自動的にマウントされるようなる。

以上の操作によって、パソコンの電源を入れるだけでDLNAクライアントからNAS上のメディアデータを認識できるようになった。

次回へ続く
関連記事
コメント:
コメント:を投稿する

トラックバック:

FC2カウンター

検索フォーム

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。