SSブログ

玄箱を iTunes 5 対応サーバーにする [Linux]

メインマシン PowerMac G3 の iTunes フォルダのバックアップを玄箱(Vine Linux 2.6)に取るのと共に、iTunes サーバーとしてLAN内の他の PC から iTunes で音楽を共有出来るようにしてみた。

OS X ハッキング! の記事によると、Linux で iTunes サーバーを立てるには Howl, libid3tag, mt-daapd の3点が必要とのこと。最後の2点は こちら で Linkstation 用の PPC バイナリが配布されていたが、iTunes 5 に対応した最新バージョンではない。

そこで最新版をそれぞれソースからコンパイルすることに。

・Howl 1.0.0 (ダウンロード先)
コンパイルは ./configure; make; make install で問題無し。/usr/local/bin 及び /usr/local/lib にバイナリとライブラリがインストールされる。続いてソースディレクトリの起動スクリプト etc/mDNSResponder 及び etc/nifd を root 権限で /etc/rc.d/init.d にコピー。nifd の方はパス名の記載漏れがあるので、28行目を以下のように修正:

(誤) nifd $OTHER_NIFD_OPTS
(正) /usr/local/bin/nifd $OTHER_NIFD_OPTS


最後に以下の手順でサービスを登録する。

# chkconfig --add nifd
# chkconfig --add mDNSResponder
# service nifd start
# service mDNSResponder start
「OS X ハッキング!」の記述とは異なり、mt-daapd の動作に howl は必ずしも必要では無いことが判明。howl を無効化するには以下の手順でサービスの停止&自動起動の解除を行う。(2005/09/19 20:57)
# service mDNSResponder stop; service nifd stop
# chkconfig --del mDNSResponder
# chkconfig --del nifd
howl が不要な理由は、現行の mt-daapd は howl の担っていた Bonjour 機能を内蔵している為。(2006/09/24)

・libid3tag 0.15.1b (ダウンロード先)
./configure で zlib.h が無いと怒られたので、apt-get で zlib-devel をインストールする必要があった。

 # apt-get install zlib-devel
Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
  zlib-devel 
0 packages upgraded, 1 newly installed, 0 to remove(replace) and 0 not upgraded.
Need to get 61.2kB of archives. After unpacking 165kB will be used.
Get:1 http://www.t.ring.gr.jp 2.6/ppc/main zlib-devel 1.1.4-0vl2 [61.2kB]
Fetched 61.2kB in 7s (7966B/s)
Executing RPM (-U)...
zlib-devel                  ##################################################


あとは、make; make install でOK。/usr/local/lib にインストールされる。ライブラリなので、設定は特に必要なし。

・mt-daapd 0.2.3 (ダウンロード先)
上の例と同様に ./configure が gdm.h not found で止まったので、 apt-get install gdm-devel を実行。あとは make; make install で問題無し。次ぎに起動スクリプト contrib/mt-daapd を /etc/rc.d/init.d にコピーし、以下の修正を加える:

17行目:(誤) daemon mt-daapd → (正) daemon /usr/local/sbin/mt-daapd
26行目:(誤) killall -INT mt-daapd → (正) #killall -INT mt-daapd
27行目:(誤) # killproc mt-daapd → (正) killproc mt-daapd
13行目:(追加) export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib


続いてに設定ファイル contrib/mt-daapd.conf を /etc にコピーし、マシン環境に合わせて編集。うちでは、

web_root      /usr/local/share/mt-daapd/admin-root
admin_pw      *******
mp3_dir        /export/mp3
servername    kurobox


の4箇所を変更した。mp3_dir で指定した共有ディレクトリ及びその中の音楽ファイルに対してユーザー nobody が読み出し権限を持っている必要があるのに注意。最後に howl と同様にサービスの登録&起動を行えば、 LAN 内マシン上の iTunes でソース一覧に自動的に青いアイコンの共有先として現れる。

# chkconfig --add mt-daapd
# service mt-daapd start


また、http://kurobox:3689 で web ブラウザからの設定も可能。(名前解決出来ない場合は http://192.168.0.100:3689 のように IP アドレス指定でも可)

PowerMac G3 (OS X 10.2.8) から 玄箱(Vine Linux 2.6) への音楽ライブラリのバックアップには rsync を使用。PowerMac のターミナルで以下のコマンドを書いたスクリプトを実行して同期するようにした。(画面の都合上⇒部分で改行。)

$ rsync -avW -e ssh --delete --exclude '.DS_Store' ⇒
            $HOME/Music/iTunes/iTunes\ Music kurobox:/export/mp3

iTMS-J で購入した曲も、共有先マシンの iTunes を購入時のアカウントで認証しておけば再生出来る模様(未認証の場合、再生時に認証ダイアログが表示される)。日本語の曲名も問題無いようだ。デフォルトで mt-daapd は クライントの接続時に共有フォルダをスキャンしてファイルリストを再構築するせいか、玄箱の非力さ故に接続までにちょっと時間がかかる気がするが、まあ良しとする。

あと、mt-daapd の contirb/mt-daapd.playlist を /etc にコピーして編集すれば Smart Playlist を作ることも出来るらしい。

しばらく使っていると、何かのきっかけで共有先として見えなくなることがある。原因は不明。root で service mt-daapd restart とやれば再び現れる。(2005/09/19 21:01)
上記の問題だが、クライアント側で iTunes を終了した後に発生することが分かった。検索した結果、以下のように NIC をプロミスキャスモード(他人宛のパケットを破棄せずに全て受け取るモード)にすれば解決するとのこと(情報源:mt-daapd forum の投稿)。恒久対策とは思えないが、他に策が無いのでしばらくはこの手で行くことに。(2005/09/19 22:23)
# /sbin/ifconfig eth0 promisc
NIC をプロミスキャスモードにしないといけないのは Linux PPC の持つ根本的な問題で、 「/sbin/ifconfig eth0 promisc するしかない」というmt-daapd の作者のコメントを発見。こうなれば仕方ないので、起動スクリプト /etc/rc.d/init.d/mt-daapd の start 部分にこの1行を加えることで対処。(2005/09/19 23:01)
自分の環境では影響なかったのだが、iTunes 5 では環境設定の「一般」で「表示: □ ラジオ」のチェックボックスをオンにしてインターネトラジオを表示するようにしておかないと DAAP 共有が見えないらしい(一種のバグか?)。(2005/09/19 23:57)

 

iPod & iTunes hacks—デジタルミュージックを自由に楽しむテクニック

iPod & iTunes hacks—デジタルミュージックを自由に楽しむテクニック

  • 作者: エディックス, Hadley Stern
  • 出版社/メーカー: オライリー・ジャパン
  • 発売日: 2005/05
  • メディア: 単行本


nice!(0)  コメント(0)  トラックバック(1) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 1

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。