2017/09/03

rump_smbfs

dynabook SS SX/15Aに入れたNetBSD/i386のホームディレクトリの下に、Windows 10で使っているPCの「Documents」ディレクトリ以下をコピーするようにしています。昨年来Windows VistaからNetBSD/i386への移行を検討しているときにも、いろいろと試してみた結果、NetBSD/i386側からmount_smbfsでWindows 10の共有フォルダ「Users」をマウントし、rsyncを使ってコピーする方式で運用するつもりでした。

ここで最も重要なポイントは、Windows側の文字コードCP932をNetBSD/i386+MATE側の文字コードUTF-8に変換するタイミングです。当初検討していた時には、2つの可能性がありました。
  1. rump_smbfsを使い、マウント時にコード変換をおこなえるようにしておく。 
  2. mount_smbfsを使い、マウント時にはコード変換をおこなわず、rsyncでコピーするタイミングで文字コード変換をおこなう。
当初検討していた時には、どちらの方式でも構わないと思っていました。試してみたら、rump_smbfsを使うと、ネットワークが不安定になってしまい、ちょくちょく固まるので使いものになりませんでした。それでrsyncを使ってみると問題なかったので、それ以来mount_smbfsとrsyncを利用していました。

ところが、つい先月下旬に、いつもと同様にrsyncを使ったら異常終了するようになってしまいました。これまで問題なかったのに突然エラーが出るようになったのか不明ですが、 何度試してみても駄目でした。rsyncはオプションを指定すると詳細な処理情報を出せるのですが、原因にたどり着けそうな情報が得られません。

そこで改めてrump_smbfsを利用してみました。以前はネットワークが不安定になりましたが、今度は安定しています。そもそも以前不安定だったのは、rump_smbfsが原因だったのではなく、無線LANの親機の設定が悪かったようなのです。無線LANでダブルチャンネルを利用しようとしていましたが、これが不安定の原因になっていたようです。これを使うのを止めるように設定してからは安定するようになっています。

試行錯誤を繰り返した結果、rump_smbfsに戻ってきました。ファイル名の文字コード変換をおこなうにはオプション「-E UTF-8:CP932」を指定すれば良いようです。

0 件のコメント:

コメントを投稿