安装网络文件系统时出错:mount error 20 = Not a directory

升级到Fedora 9之后,发现无法像以前那样mount samba共享文件系统了。

当我使用如下命令:

$mount -t cifs //192.168.1.2/samba /mnt/samba -o username=test,password=test

mount samba共享文件时,会出现如下错误:

mount error 20 = Not a directory
Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)

Google了一下,发现这种问题可能是由于cifs文件系统与较老版本的samba共享服务器不兼容所致,所以要解决这个问题,要么升级samba服务器程序,要么需要对cifs做些限制。根据网上的建议,可以使用:

$echo 0 > /proc/fs/cifs/LinuxExtensionsEnabled

修改cifs选项,禁止cifs的扩展功能,然后在mount就没有什么问题了。

但每次重启后都要执行一次这样的操作,未免有些麻烦,所以我改了一下系统的启动脚本,这样就可以把这些mount放到fstab里,让系统每次启动时自动mount了。方法如下:

修改/etc/init.d/netfs,按如下方式在start里添加+号所示的一行:

case "$1" in  start)
+       /sbin/modprobe cifs && echo 0 > /proc/fs/cifs/LinuxExtensionsEnabled
         ...

首先执行"/sbin/modprobecifs"是要加载cifs模块,否则我们所要修改的文件LinuxExtensionsEnabled可能还不存在,修改就会失败。由于不同启动Level的rc*.d/S**netfs都是链接到/etc/init.d/netfs的,所以此修改对所有启动Level都会生效。当然,如果你的系统不是这种链接,修改相应的文件也是一样的。

重启后再安装samba共享文件系统就没有问题了。

你可能感兴趣的:(网络,Google,服务器,脚本,扩展)