トップ «前の日記(2010-10-27(Wed)) 最新 次の日記(2010-11-02(Tue))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2010-10-28(Thu) 冷たい雨が止んだか不明

fuse-convmvfs

某NASのマウントで嵌っていた。
漢字の共有名が端末と違う文字コードの場合、 マウントするときには、nkf(1) などで文字コードを 置換してやればいいのだけど(mount(8)の一覧表示の時にマウント元が 化けるだけで済む)、 samba-2.xなNASを、lennyなどのmount.cifsでマウントすると 中のファイル名が化けてしまう。Ubuntu-10.10でもそうだったが、 こちらは/etc/samba/smb.conf に doc charset = CP932 を 追記するだけで、GNOME上で化けずに表示できた。

適当に検索して、fuse-convmvfs を見つけた。lenny に apt-get する。
使い方は、一旦NASの共有をどこか(src)にマウントした 後で、fuse経由で再度別のディレクトリ(mountpoint)にマウントする、 らしい。man を見ると、srcとmountpointを同一にするな、 と念を押している。

# mount -t cifs //$NAS//public /media/path1 -o user=foo,password=bar
 
# convmvfs /media/path2 -o icharset=cp932,srcdir=/media/path1

これを再度sambaなどで共有する場合は、-o に allow_other を追加すればよい。

ちなみにSamba3.x でも共有名やファイル名をShift_JISで設定、保存できた。
smb.conf に、

[global]
dos charset = cp932
unix charset = cp932
 
[Shift_JIS_public]
; バイブル本にあったけど、今はなくても動いてるようだ
vfs object = cap

にする。もちろん共有するディレクトリの文字コードはShift_JISにする。
Windows上から書き込んだファイル名も、Shift_JISで保存される。

でも、convmvfs を使わなくても、文字化けもなくマウントできてしまった。
EUC-JP(unix charset = EUCJP-MS) でも同様。

Windows9xなどをcifsでマウントした場合にも使えそうな気がするが、手元に 環境がないのでよくわからない。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。