2011年5月31日火曜日

FreeBSDのSMB(CIFS)マウント対応状況



mount_smbfs


現状mount_smbfsのほうは日本語が通らない。


厳密にいうとサーバ側がUnicodeだと文字化けする。


パッチはある。(パッチさえ当てれば、転送速度も速くていいんじゃないかな?)


http://www.mail-archive.com/freebsd-users-jp@jp.freebsd.org/msg03921.html


FreeBSD本家のほうが、もうパッチだらけだしゼロからお任せできる人が


出るまで待とうというメッセージをのこして止まっている。


http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/151845





fuse-smbfs


日本語がきちんと通る!(MacやTimecapusle等UTF-8なsambaに接続できる)


しかしportsに収録されているものはバージョンが古く(0.3系)安定性に欠ける。


原因はsambaのlibsmbclientを使っているが、そいつがメモリリークしてると本家のサイトには書いてあるが、原因は追ってないので不明。


新しいバージョンである0.5系ではメモリリークがあるライブラリを別プロセスに閉じ込めているので、


ファイルが急に見えなくなっても、別のディレクトリにcdして戻ってくれば復活する。


一応0.5系ようのportsファイルは以下においておきます。


http://syunei.dip.jp/~akira/fusefs-smbnetfs.tar.gz





あと気にくわない動作として、opendirでファイル一覧がそろってから一気に読もうとするのでファイルが多いとすごいストレスフル。。。





追記:


/sys/libkern/iconv.cでXLAT16_ACCEPT_3BYTE_CHRというのがあるので、そいつをdefineして、buildworldしなおせば2byte文字からUTF-8(3byteまで)は対応できそう。ただしUTF-8の4byteは未対応だし、UTF-8から何かへの変換は不可。


ま、4byte UTF-8は日本語でもマイナーな文字しかないし、MySQLやSQLServerの対応もいまいち不安定らしいので、ホビーユースでは気にしなくていいっぽい。PostgreSQLは真面目に対応してるらしい。。。(また聞きなのでまちがってたらごめん)


さらに追記


おかしいのはTime capsuleのほうかもしれない。


他のマシンだとまだまともにマウントできたりもするので、調査中です。





0 件のコメント:

コメントを投稿