M.C.P.C.

―むり・くり―プラスコミュニケーション(更新終了)


| トップページ |

2004年5月14日 02:01

MacOS9からnetatalk 2.0β1のボリュームへアクセスする

このエントリーをはてなブックマークに追加 mixiチェック

netatalk_icon_2.pngFedora Core 1最小構成にnetatalk2.0β1をインストール
REDHAT 7.3 で netatalk 2.0β1
の続きになります。

~~~

netatalk 2.0 から、AFP 3 がサポートされました。

  • 32文字以上の長いファイル名のサポート
  • UTF-8によるアクセス

などがサポートされています。

そういや、プロプラ製品ですがHELIOS EtherShare 3.1 では、AFP 3.1 がサポートされています。

MacOSX のような、やたらファイル名が長くて、スリープに入りやすいOSを使っている方には、AFP 3時代のサーバが必須だと思います。ほんとかな?

~~~

AFP 2クライアント(MacOS9とか8)用 文字コード 設定

※ AFP の細かいバージョンは調べきれなかったので、2.x とか 3.x とかでなくて 2 とか 3 にしています。補足できる方はコメント付けてください。

AFP 3 が使えるのは、MacOSXですから、MacOS9からは 旧来の AFP 2 でアクセスすることになります。また、netatalk 2.0 は、AFP 2 もサポートしています。AFP 2 は、AFP クライアント側の文字コードに依存するので、日本人が使う環境で、netatalk 2.0β をいれたままの状態では、クライアントの文字コード指定が正しく設定されていない状態になっています。

/etc/netatalk/afpd.conf

- -transall -uamlist uams_clrtxt.so,uams_dhx.so -nosavepassword -maccodepage SHIFT_JIS

等とします。要は、-maccodepage SHIFT_JIS が、MacOS9 日本語環境 からアクセスするための設定になります。ちなみに、この設定は、AFP 3 クライアント(=MacOSX)には影響しません(常にUTF-8でアクセスされる)。

MacOS9 のクライアント用の設定はこれでOKです。

参考:
http://www.tech-arts.co.jp/macosx/macosx-jp/htdocs/17600/17606.html

~~~

サーバボリュームのメタデータの形式について

http://blog2.myu-k.co.jp/monar/archives/netatalk-2.0-beta1/upgrade.html#id2883325

古い netatalk 1.x で使われたボリュームを、ちゃんとした設定なしに netatalk 2.0 で共有するようにすると、netatalk 2 用の形式に自動的にアップグレードされるので、気をつけるようにと書いてあります。

僕んちでの経験ですが、文字コード設定をちゃんとしないで、自動的にアップグレードが働くと、そのボリュームは セレクタで選択できなくなります! 泣く泣く、rm -rf AppleD* をしなくてはならず、当然リソースフォークが消えてしまいます。慎重に。

netatalk 1.x のときのボリュームの形式を、netatalk 2 の新しい形式に変換させないようにして共有するためには、以下のようにすると書いています。

/etc/netatalk/AppleVolumes.default

cap の場合:

/var/netatalk/furui furui adouble:v1 volcharset:ASCII

~~~

サーバボリューム用 文字コード 設定

netatalk 2 から、サーバボリュームの文字コードも UTF-8 がデフォルトになりました。しかし、サーバ側の文字コードは、いろいろ変えたいものです。例えば、Linux で言えば、Fedora Core 1 以前の Linux のファイルシステムでは、ファイル名はおおむね euc でエンコードされているでしょうし、Anonymous FTP などで /incoming に入ってくる ファイル、HTTP の アップロードスクリプトで、ファイルをアップロードするときは、クライアントの環境の文字コード(おおむね shift-JIS)でエンコードされているでしょう。sambaで共有していた場合、cap になっていたり、euc になっていたリするでしょう。当然、netatalk 1 時代のボリュームだと だいたい cap エンコーディングではないでしょうか。

/etc/netatalk/AppleVolumes.default

utf-8 の場合:

/var/netatalk/atarasi atarasi

shift-jisの場合:

/var/netatalk/atarasi atarasi volcharset:sJIS

euc-jpの場合:

/var/netatalk/atarasi atarasi volcharset:eucJP

capの場合:

/var/netatalk/atarasi atarasi volcharset:ASCII

それぞれの関係は、以下の図の通りになっています(こんな設定にしてはいけません!)

OS8.1の画面にnetatalk2のボリュームマウントしまくりの図
▲MacOS8から、いろんな文字コード設定の同じボリュームをマウントしてみました。

投稿 大野 義貴 [netatalk] | |

トラックバック(0)

トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/96

コメントする