差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| darwin:install [2006/03/04 20:40] – osamu | darwin:install [2008/06/01 18:12] (現在) – osamu | ||
|---|---|---|---|
| 行 2: | 行 2: | ||
| OpenDarwinを古いPCにインストールして、iTunes Macのファイルサーバー兼daapサーバーにする。 | OpenDarwinを古いPCにインストールして、iTunes Macのファイルサーバー兼daapサーバーにする。 | ||
| - | OpenDarwinを試す前に、Linux (Fedora Core)をファイルサーバーにして使っている。ファイル名の扱いはMacもFedora CoreもUTF-8なので、メインのiTunes機であるMac miniからはサーバーのハードディスクを直接NFSでマウントしたところ、濁点つきのカナが入ったファイル名の扱いがおかしくて、ファイルを読んで書き戻すと一見同じ名前のファイルが2つできたりする。UTF-8の「方言」で、濁点つきカナを1文字としてハンドルするか、文字本体と濁点の2文字でコンポーズするかの違いらしい。 | + | ===== 最初はLinuxで試してみた ===== |
| + | OpenDarwinを試す前に、Linux (Fedora Core)をファイルサーバーにして使ってみた。ファイル名の扱いはMacもFedora CoreもUTF-8なので、メインのiTunes機であるMac miniからはサーバーのハードディスクを直接NFSでマウントしたところ、濁点つきのカナが入ったファイル名の扱いがおかしくて、ファイルを読んで書き戻すと一見同じ名前のファイルが2つできたりする。UTF-8の「方言」で、濁点つきカナを1文字としてハンドルするか、文字本体と濁点の2文字でコンポーズするかの違いらしい。 | ||
| - | 結局、Linuxのファイルシステムのまま、MacからはAppleTalk (netatalk)で、WindowsからはSambaでアクセスするようにし、FTPでの読み書きはファイルサーバー自身の中でSamba経由でマウントしてファイル名をShift-JISにして見せて、テレビにつないだiTunes Winからジュークボックス的にアクセスするときはmt-daapd経由でつなぐという、あまり気持ちよくない使いかたをしている。 | + | 結局、Linuxのファイルシステムのまま、MacからはAppleTalk (netatalk)で、WindowsからはSambaでアクセスするようにし、FTPでの読み書きはファイルサーバー自身の中でSamba経由でマウントしてファイル名をShift-JISにして見せて、テレビにつないだiTunes Winからジュークボックス的にアクセスするときはmt-daapd経由でつなぐという、あまり気持ちよくない使いかただった。 |
| OpenDarwinをサーバーにすれば、いろんなところがネイティブになって、もっとスマートで安定して使えるんじゃないかという期待。 | OpenDarwinをサーバーにすれば、いろんなところがネイティブになって、もっとスマートで安定して使えるんじゃないかという期待。 | ||
| 行 10: | 行 11: | ||
| ===== OpenDarwin x86のインストール ===== | ===== OpenDarwin x86のインストール ===== | ||
| Darwin 8.0.1はSSE2の載ったCPUでないと動かないので、OpenDarwin 7.2.1 をインストール。 | Darwin 8.0.1はSSE2の載ったCPUでないと動かないので、OpenDarwin 7.2.1 をインストール。 | ||
| + | ネットワークカードは、よくあるRTL8139(カニ印)チップのものはドライバが無いので使えない。DEC Tulipや3Com 3C905などのカードを探してくること。ジャンク屋に行けば100円ぐらいで売られている。 | ||
| + | |||
| インストールCD-ROMのISOイメージをCD-Rに焼いて、CD-ROMブートするとインストール開始。 | インストールCD-ROMのISOイメージをCD-Rに焼いて、CD-ROMブートするとインストール開始。 | ||
| インストール後、rootのパスワードを設定、ユーザーを登録してから、リブート。 | インストール後、rootのパスワードを設定、ユーザーを登録してから、リブート。 | ||
| リブート時、'' | リブート時、'' | ||
| + | |||
| ==== ブートオプションを設定 ==== | ==== ブートオプションを設定 ==== | ||
| 一旦立ち上がったら、上記の'' | 一旦立ち上がったら、上記の'' | ||
| 行 21: | 行 25: | ||
| ===== OpenDarwinの設定 ===== | ===== OpenDarwinの設定 ===== | ||
| - | [[http:// | + | [[http:// |
| 行 35: | 行 39: | ||
| </ | </ | ||
| + | ==== sshd起動 ==== | ||
| + | SSH でログインできるようにしておこう。 | ||
| + | OpenDarwin 7.2 は Mac OS X 10.3 相当だから、sshd は xinetd 経由。 | ||
| + | ''/ | ||
| + | <code xinetd> | ||
| + | | ||
| + | </ | ||
| ==== Timezone設定 ==== | ==== Timezone設定 ==== | ||
| - | http:// | + | http://www.opendarwin.info/ |
| <code sh> | <code sh> | ||
| + | # rm -f / | ||
| # ln -s / | # ln -s / | ||
| </ | </ | ||
| 行 60: | 行 71: | ||
| # / | # / | ||
| </ | </ | ||
| - | |||
| - | |||
| ===== プログラムのインストール ===== | ===== プログラムのインストール ===== | ||
| 行 69: | 行 78: | ||
| http:// | http:// | ||
| + | |||
| + | (注:opendarwin.org はすでに活動停止しているので、現在は http:// | ||
| + | |||
| <code sh> | <code sh> | ||
| $ ftp http:// | $ ftp http:// | ||
| 行 95: | 行 107: | ||
| ==== NFS設定 ==== | ==== NFS設定 ==== | ||
| NetInfoまたは''/ | NetInfoまたは''/ | ||
| - | http:// | + | http:// |
| OpenDarwin 7.2.1 の初期設定状態では、NFSの起動時にエラーが出ていた。スタートアップスクリプト ''/ | OpenDarwin 7.2.1 の初期設定状態では、NFSの起動時にエラーが出ていた。スタートアップスクリプト ''/ | ||
| 行 107: | 行 119: | ||
| iTunes共有のサーバーの役割をするdaapデーモン。 | iTunes共有のサーバーの役割をするdaapデーモン。 | ||
| daapd と mt-daapd がある。 | daapd と mt-daapd がある。 | ||
| - | daapdのほうは、DarwinPortsにあるバージョンで安定して動くが、mt-daapdはDarwinPortsにあるバージョンでは最新のiTunesで認識されないバグがあるので、mt-daapdを使う場合はソースからmakeする。 | + | daapdのほうは、DarwinPortsにあるバージョンでそのまま動くが、mt-daapdはDarwinPortsにあるバージョンでは最新のiTunesで認識されないバグがあるので、mt-daapdを使う場合はソースからmakeする。 |
| + | 機能面では、mt-daapdのほうが積極的にアップデートされているので、おすすめ。たとえば、daapdではジャンル名がうまく表示されなかったり、コンピレーションのフラグがついている曲がアルバムとしてまとまって表示されないなど不満点がある。 | ||
| === daapd === | === daapd === | ||
| 行 136: | 行 149: | ||
| sudo port install zlib | sudo port install zlib | ||
| </ | </ | ||
| + | 一度 port install mt-daapd して、DarwinPortsに自動的にこれらをインストールさせるというのも、あり。 | ||
| + | DarwinPorts が使えなければ、ソースからビルドするのが早いかも。 | ||
| [[http:// | [[http:// | ||
| 行 144: | 行 159: | ||
| </ | </ | ||
| - | できたmt-daapdのディレクトリに移動。 | + | できたmt-daapdのソースディレクトリに移動してconfigure、make。 |
| 最新のバージョン 0.2.4 で試したところ、ポート番号の取り扱いにバグがあるようで、iTunesから接続すると、iTunes側に変なエラーが出てつながらない。daapのポートである3689番につなごうとしているのにmDNS(Rendezvous改めBonjour)は26894番という違うポート番号を返している様子。ポート番号のバイト順が違う模様(big endianとlittle endianの問題)。 | 最新のバージョン 0.2.4 で試したところ、ポート番号の取り扱いにバグがあるようで、iTunesから接続すると、iTunes側に変なエラーが出てつながらない。daapのポートである3689番につなごうとしているのにmDNS(Rendezvous改めBonjour)は26894番という違うポート番号を返している様子。ポート番号のバイト順が違う模様(big endianとlittle endianの問題)。 | ||
| - | で、正しいかどうかわからないけど、プログラムをちょっと修正。srcディレクトリの中のrend-osx.cを開いて、rend_callback()という関数の中、 | + | で、プログラムをちょっと修正。srcディレクトリの中のrend-osx.cを開いて、rend_callback()という関数の中、 |
| < | < | ||
| usPort=msg.port; | usPort=msg.port; | ||
| 行 154: | 行 169: | ||
| usPort=htons(msg.port); | usPort=htons(msg.port); | ||
| </ | </ | ||
| - | に書き換える。 | + | に書き換える(この修正はmt-daapdのご本家には[[http:// |
| 書き換えたら、 | 書き換えたら、 | ||
| 行 160: | 行 175: | ||
| ./configure | ./configure | ||
| </ | </ | ||
| - | gdbm.hがどこにあるか分からないというエラーが出る場合は、 | + | gdbm.hがどこにあるか分からないというエラーが出る場合は、gdbmのインクルードファイルとライブラリのパスを指定。 |
| < | < | ||
| ./configure --with-gdbm-includes=/ | ./configure --with-gdbm-includes=/ | ||
| 行 170: | 行 185: | ||
| </ | </ | ||
| で、できあがり。 | で、できあがり。 | ||
| - | contribディレクトリ | + | contribディレクトリの中のmt-daapd.confを/ |
| + | あとは、自動起動するようにしておく。くわしくは、[[http:// | ||
| ==== Bonjour (Rendezvous) のホスト名設定 ==== | ==== Bonjour (Rendezvous) のホスト名設定 ==== | ||

