DLNAサービスmediatombが起動しなくなった時の対処

今日、自宅のNASのファームウェアのアップデートをしたところ、DLNAサーバーとして利用していたmediatombが起動しなくなりました…orz

もともとmediatombは自宅サーバーがNASをNFSマウントしてまして、その配下の音楽ファイルをmediatombでスキャンしていたのもあり、どうやらNASの再起動とともにおかしくなってしまった様子。

そこで調べたら解決できたのでメモとして残しておきます。

 

ちなみにmediatombのインストール手順については下記を参照してください。

[blogcard url=”http://wiki.inamuu.com/index.php?mediatomb%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB”][/blogcard]

 

まず、気が付いたのはタブレットからmediatombが見えなかったときに気が付きました。

自宅サーバーのログを調べてみると

could not load correct lastID (db not initialized?)

こんなエラーが出ておりました。そのまま、/etc/init.d/mediatomb startを実行してもどうやら起動していない様子。

調べてみると、下記サイトにDBデータを削除しろとのこと。

参考にしたURL

どうやらmediatomb自体はスキャンしたデータをDBに保存しているだけで、アプリケーションの起動自体はDBは要らないようです。

上記サイトではSQLiteを利用した想定だったので、私の場合はMySQLで同じことをしました。

# mysqldump -u root -p mediatomb | gzip > mediatomb.`date +%Y%m%d`.sql.gz

# mysql -p mediatomb -e “show tables” | xargs -IARG mysql -p mediatomb -e “drop table ARG”

上記SQLでmediatombデータベース内のテーブルをすべて削除しています。

テーブルごとにパスワードを入力する必要があるので、面倒であれば-pの後にパスワードを直接書いてしまった方がよいかもしれません。

※パスワードの入力履歴を削除したければ.bash_historyから削除するか、そもそもシェルスクリプトにしてしまうのもありかと思います。

テーブルを消した後に、/etc/init.d/mediatomb start を実行したところ、ログには

2016-02-06 22:51:34 INFO: Configuration check succeeded.
2016-02-06 22:51:34 INFO: database doesn’t seem to exist. automatically
creating database…
2016-02-06 22:51:34 INFO: database created successfully.
2016-02-06 22:51:34 INFO: Initialized port: 50500
2016-02-06 22:51:34 INFO: Server bound to: 192.168.1.10
2016-02-06 22:51:35 INFO: MediaTomb Web UI can be reached by following this
link:
2016-02-06 22:51:35 INFO: http://自宅サーバーのローカルのIPアドレス:50500/
2016-02-06 22:51:36 INFO: Exception: Object not found: 91172

と、こんな感じで起動することができ、アクセスもできました。

あとは、GUIからスキャン設定してOKです。

しばらくするとDLNAクライアントから音楽ファイルの一覧が確認できるかと思います。

 

以上、DLNAサービスのmediatombが起動しなくなった時の対処についてでした。