vfs_fruit — OS X と Netatalk との相互運用性を強化する
vfs objects = fruit
この VFS モジュールは samba(7)システムの一部である。
The vfs_fruit
モジュールは、Apple SMB クライアント
との互換性向上と、Netatalk 3 AFP ファイルサーバとの相互運用性を提供する。
このモジュールは、もしも文字変換をするのであれば、
vfs_catia
といっしょに使うべきであり、さらに、
vfs_streams_xattr
と共に使わなければならない。
正しい設定方法は、例 の節を参照のこと。
モジュールは、共有に対して、代替データストリーム(ADS)
のサポートと、OS X 特有のストーリム "AFP_AfpInfo" と "AFP_Resource"
を横取りし、それを特別な方法で扱う機能を有効にする。
その他すべての名前付きストリームは、vfs_fruit
といっしょにロードされねばならないvfs_streams_xattr
にゆだねられる。
OS Xクライアントに対する、ADSサポートが有効な共有 があると言うことは、Apple固有のSMBサーバ実装の動作と似て、 Sambaが大文字と小文字を区別することにより引き起こされる 深刻なパフォーマンスの低下を回避すると言う点において価値がある。
OS X メタデータとリソースフォークストリームは、Netatalk 3 と
互換性のある方法で、下記のように設定することにより格納される。
fruit:resource = file
と
fruit:metadata = netatalk
OS X は、NTFS の不正な文字を、SMB要求中で、Unicode
のプライベート領域にマップする。
fruit:encoding = native
を設定することにより、
すべてのマップされた文字は ネイティブなASCII文字に変換される。
最後に、共有アクセスモードは、
fruit:locking = netatalk
を設定することにより、Netatalk AFP 共有モードに対して
チェックすることもできる。
このモジュールは、このマニュアルページで言及されている 物以外に対してはスタックできない。
どこに OSX リソースフォークを格納するかを制御する:
file (既定値)
-
OS X と Netatalk 互換の ._ AppleDouble ファイル
を使う。
xattr
- use a
xattr, requires a filesystem with large xattr support
and a file IO API compatible with xattrs, this boils
down to Solaris and derived platforms and
ZFS
拡張属性(xattr)を使用する。これは、大きなサイズの拡張属性をサポート
するファイルシステムと、拡張属性に準拠した
ファイルIO APIが必要となる。つまり、
Solaris と Solaris派生プラットフォームのZFSが必須である。
stream
-
VFSスタックの、次のモジュールに、ストリームを渡す
OS X メタデータストリームが格納される場所を指定する:
netatalk (既定値)
-
Netatalk 互換の xattr を使う
stream
-
VFSスタックの次のモジュールにストリームを渡す
none (既定値)
-
cross protocol lockingを使わない
netatalk
-
Netatalk で cross protocol locking を使う
ファイルシステムに格納される、OS X クライアントで一般的に 使われる、不正なNTFS ASCII文字セットを制御:
private (規定値)
-
OS Xクライアントによってエンコードされた形で文字を格納:
Unicodeプライベート領域にマップされる
native
-
そのままのASCII値として文字を格納
グローバルオプションで、Appleの コードネーム AAPLの、SMB2+拡張を 有効にするかどうかを指定する。規定値では、 yesである。この拡張は、Macからの接続時に いくつかの足らない機能を補う:
ディレクトリ一覧表示は、Macのファイルシステム メタデータで強化され(UNIXモード、FinderInfo、リソースフォーク サイズと実行パーミッション)、その結果、驚異的な性能向上が得られ るので、Mac クライアントは、ディレクトリエントリごとに、個別に このメタデータをフェッチする必要がない。
ディレクトリエントリのUNIX モードを問い合わせ/ 変更する機能。
ディレクトリ一覧表示時に、特定のMacメタデータの計算を無効 にするときに使う、共有単位のオプション群がある。規定値では すべて有効である:
readdir_attr:aapl_rsize = true | false
readdir_attr:aapl_finder_info = true | false
readdir_attr:aapl_max_access = true | false
NFS ACE 経由での、ディレクトリエントリのUNIX モードを問合せ/変更する 機能を有効にするかどうかの指定で、既定値は yes。
Mac リソースフォークを格納する目的のため、 vfs_fruit それ自身に よって作成された、内部 AppleDouble ファイルの閲覧と変更を、クライアントから 防止するため、._ AppleDouble ファイルを見せなくするかどうかの指定。
._ ファイルを見せなくすると、いくつかのアプリケーションが動かなくなる ことがある。たとえば、 ._ ファイルを含むため、Mac クライアントからの Mac ZIP の回答は失敗する。このオプションを false に設定すると、これを修正するが、 内部的に作成された ._ ファイルの露出をリークする概念は、他の不明な 副作用を引き起こすかもしれない。
既定値はyesである。
OS X 固有の、すべての付属するメタデータと一緒にファイル全体 コピーを要求する copychunk ioctl を有効にするかの指定。
注意: copyfile 要求は、サーバがコピーを行っている間は クライアントに対してブロックされることに注意。
規定値はnoである。
[share]
vfs objects = catia fruit streams_xattr
fruit:resource = file
fruit:metadata = netatalk
fruit:locking = netatalk
fruit:encoding = native