[PR] 本ブログの商品紹介リンクには広告が含まれています
古いPCにMac OSと互換性の高いUNIXをインストールして、無料ソフトウェアだけでMac/Windows対応のiTunesの音楽ライブラリを保存するファイルサーバーとして、また、ネットワーク経由で他のiTunesに音楽を配信するiTunes共有ストリーミングサーバーとして使うというお話。テクニカルに言うと、OpenDarwin x86をNFS/Sambaファイルサーバー+DAAPD(mt-daapd)サーバーにする手順のご説明。
いや、OpenDarwin x86を使ってみたかっただけです。手段のために目的は選びません。
音楽CDをMP3/AACファイルに変換したり、iPodの「母艦」として音楽ファイルをSyncするのにはAppleが無料で配っている
iTunesというソフトを使うわけですが、
Mac miniを買ってからこっち、Windows版iTunesからMac版iTunesに乗り換えました。
Mac miniは一番安いやつで、ハードディスクの容量が小さくて手持ちの音楽ライブラリが入りきらないため、外にファイルサーバーをつけることにしました。
せっかくなので、ファイルサーバー側に、iTunes同士で音楽を共有してストリーミングするときのプロトコルであるDAAPの仕組みもインストールします。こうしておくと、ファイルを共有せずに他のiTunesからファイルサーバー上の音楽ライブラリを閲覧して再生することができます。ネット上の映像配信用にテレビとオーディオセットに小さいWindows PCがつないであるのですが、これのiTunesをジュークボックスにするのがゴール。
最初はLinux(Fedora Core)をPCにインストールして、それをMacのファイルサーバーにしてみました。
LinuxをWindowsのファイルサーバーにする場合は、Linux側にWindowsのファイル共有プロトコルをしゃべらせるSambaをインストールするわけですが、Mac OSは根っこは本物のUNIXなので、UNIXのもともとのネットワークファイル共有の仕組みであるNFSでダイレクトにつながります。
昔はUNIXでファイルの中身やファイル名などに日本語を使うときの文字コードはEUCと相場が決まっていた(そういえば、NEWS OSはShift JISだったな)のですが、モダンなMac OSではUnicode(UTF-8)を使っているので、サーバー側もそれに合わせて設定。
試しに使ってみていると、おかしな挙動に気がつきました。もともとWindowsからLinuxに保存した音楽ファイルの曲名やアーティスト名をMac側から編集したとき、つまりファイルを書き換えたときに、ファイルによって同じ名前に見えるファイルが2つできてしまうのです。どうやら、ファイル名にひらがなやカタカナ、それも濁点や半濁点がついたファイルだけおかしなことになる様子。さらに調べてみると、2つできたファイルは、Mac OS側から見ると同じ名前なのですが、Linuxの上で見ると濁点や半濁点が独立した1文字として書かれています。例えば、元は「ムーンライダーズ.mp3」だったファイルをMacから保存し直すと、もとのファイルに上書きせずに、元のファイルは残ったままで新しく「ムーンライタ゛ース゛.mp3」ができてしまうのです。
調べてみると、これはMac OSがその他の普通のUTF-8とちょっと違う方言(俗称 UTF-8-MAC)を使っているために起こっていることでした。Mac OSでは、文字の「本体」と濁点や半濁点などをそれぞれ別の文字として保存して、表示するときに合成するというお約束に従っているそうで。
こういう場合、Linuxに昔の(UNIXでない)Mac OS由来のファイル共有プロトコルであるAFP(AppleTalk File Protocol)をしゃべらせる、いわばAppleTalk版のSambaみたいなnetatalkを入れてしのぐというのが常道なんでしょうが、せっかくUNIX(と、その仲間)同士なのにネイティブなプロトコルでつなげないのはどうも気持ちが悪い。
Mac OS Xと同じ文字コードを使う無料のOSはないものかと見回してみると、ありました。
Mac OS Xの根っこの部分、つまりMac OS XからかっこいいGUIとグラフィックエンジンを外した基本のUNIX部分であるDarwinのそのまたオープンソース版、
OpenDarwin。ありがたいことに、Macintoshの上で動くバージョンだけではなく、普通のIntel入ってるPCで動くバージョンも作られています。
そんなわけで、前置きが長くなりましたが、普通の古いPCにOpenDarwinをインストール、NFS共有したMacのiTunesのファイル置き場にして、mt-daapdでほかのiTunesに音楽を流す環境を作るまでの手順。
OpenDarwinでNFSがすんなり起動しなかったり、mt-daapdに奇妙なバグがあったり、ちょっと手こずった記録を
『OpenDarwinでiTunes Mac/Win用サーバーを作る』にまとめてあります。
ご興味がある方は、ぜひどうぞ。