Fedora 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
それぞれの関係は、以下の図の通りになっています(こんな設定にしてはいけません!)
▲MacOS8から、いろんな文字コード設定の同じボリュームをマウントしてみました。