I can believe fly.

Wednesday, March 11, 2009

linux下执行mount问题

  上回在linux下执行mount,出现中文目录问题,后面加了iocharset=cp963参数搞定,命令是:
sudo mount -t cifs -o iocharset=cp963,username=user,password=pwd //192.168.0.0/Backup /data/mnt/samba
  今天继续执行copy动作:cp -rf /data/mnt/samba/src /data/dst,却出现如下错误:
cp: cannot stat `/data/mnt/samba/src/\324\317\302\311\316\350台.bmp': No such file or directory
  疑问:/src目录下有5个中文名称的文件,为什么有四个可以正常copy到dst目录下,只有一个怎么也不过去.

  后面,先umount掉,继续重新执行:
sudo mount -t cifs -o codepage=936,iocharset=uft8,username=user,password=pwd //192.168.0.0/Backup /data/mnt/samba
  这时候来查看中文目录,显示全变成了乱码了,就把iocharset=uft8改为iocharset=gb2312来执行
显示是正常的,但copy的问题还是存在着.

.........中间让朋友帮上去服务器分析一下,他查了一下那目录是什么编码..................
  后面发现在重新执行以上任何mount的动作,都成功不了,总是报如下两种错误:
mount error 20 = Not a directory
(网上资料是说可以执行echo 0 > /proc/fs/cifs/LinuxExtensionsEnabled,好像在这边没效果)
mount error 79 = Can not access a needed shared library
(这个问题更是一头雾水)

继续寻找原因,朋友试着将-t cifs改为-t smbfs,命令:
sudo mount -t smbfs -o iocharset=cp963,username=user,password=pwd //192.168.0.0/Backup /data/mnt/samba
成功执行,但是无论iocharset=cp963采用什么编码,都显示乱码,根本无法copy操作

补充:
1.重新换个目标挂载目录/data/mnt/samba改为/data/mnt/test,问题还是存在
2.执行sudo reboot,重启电脑,也没有解决

No comments: