今日、自宅の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データを削除しろとのこと。
どうやら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が起動しなくなった時の対処についてでした。