2007/07/20

ZaurusをSambaクライアントに

ZaurusをNFSクライアントに」ではZaurus(SL-C3000)をNFSクライアントにしましたが問題がありました。

問題1
ファイル名の日本語が表示出来ていません。

以前Sambaサーバ上のファイル名はShift-JISにしました。
NFSサーバとして使用している場合にはEUC-JPになっているはずです。多分。

ZaurusではSambaとNFSの両方で日本語表示できないということは、ZaurusはShift-JISでもEUC-JPでもないということでしょうか?
もしかしてUTF-8?

問題2
1Gくらいあるフォルダを"cp -ar"でNFS領域にコピーしたのですが、途中でcpがデッドロックとやらになってしまい止まってしまいました。

ログ(syslog)とか見てみたのですが、参考になるようなログはみつかりませんでした。
この場合どのログをみればよかったのでしょうか?
デッドロックの問題は原因がつかめていません。
まだ設定が不足している箇所も多数あると思いますが・・・。



上記のような問題が発生しているのを避けるため、NFSではなくSambaを使用してJULIE(NFSサーバ兼Sambaサーバ)にアクセスしてみるのはどうかと考えました。
本来であればNFSの設定を見直すべきかもしれませんが。

NFSの文字コード指定ってあるのか分かりませんが、Sambaならあるのは以前確認済みですし、日本語表示もなんとかなるのではないかとほのかな期待を抱いてやってみることにします。

(1) Zaurus用smbmountを取得
こちらからsmbmount_0.1_arm.ipkを取得し、インストールしました。
(後ほど述べますが、ここでインストールしたsmbmount_0.1_arm.ipkはその後アンインストールしました)

(2) JULIE(Sambaサーバ)の領域をマウント
#sudo smbmount //julie/share /mnt/julie/
-o username=xxx,ip=xxx.xxx.xxx.xxx

としてマウントしました。


(1)~(2)までで、とりあえずZaurusをSambaクライアントとして使用できるようになりました。
NFSを使用したときよりSambaを使っている方が動作が軽快な気がします。
(もちろんNFS設定をチューニングすればいいのかもしれません)

ところが、Zaurusのファイルマネージャではやはりファイル名の日本語表示が出来ていませんでした。

smbmountのオプションとしてcodepageとiocharsetがありますが、(1)でインストールしたsmbmount_0.1_arm.ipkでは対応していませんでした。

探してみたところcodepageとiocharsetのオプションに対応したsmbmountを配布されているサイトがありました。
こちらからsmbmount_2.2.8a-ja-1.0_arm.ipkをいただいてきてインストールし、次のようなコマンド引数でマウントしました。
sudo smbmount //julie/share /mnt/julie/
-o fmask=666,username=xxx,ip=xxx.xxx.xxx.xxx,
codepage=cp932,iocharset=utf8


結果、Sambaサーバ上の日本語ファイル名のファイルを、Zaurusのファイルマネージャで日本語表示出来るようになりました。



ちなみに、smbmountのオプションとして渡したiocharsetとcodepageは、Sambaのマニュアルには次のようにあります。
iocharset=<arg>
Linux 側のコードページ-文字コード変換 (NLS) で使用される文字コードを設定する。引数は iso8859-1 のようなキャラクタセットの名前でなくてはいけない。 (注: カーネル 2.4.0 以降のみサポートされる)


codepage=<arg>
サーバ側で使用される文字コードを指定する。 iocharset オプションを参照。例えば cp850 などである。 (注: カーネル 2.4.0 以降のみサポートされる)

私が行った設定の場合、iocharsetの説明中のLinuxとはZaurusを指し、codepageのサーバとはSambaサーバであるJULIE(Plamo Linux)を指します。

また、CP932はマイクロソフトのShift-JIS拡張らしいです。

0 件のコメント: