在ferora2上配置nfs服务器出现的问题
1在配置nfs服务器时,情况如下:
启动 NFS 服务: [ 确定 ]
关掉 NFS 配额:无法注册服务: RPC:无法接收; errno = 拒绝连接
rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp).
[失败]
启动 NFS 守护进程: [失败]
启动 NFS mountd:Cannot register service: RPC: Unable to receive; errno = Connec tion refused
[失败]
请问上面的问题如何解决啊?
配置nfs服务器出现的问题
NFS 需要 portmap 支持,必须启动portmap服务
启动portmap,之后,再启动nfs ,果然正常。
nfs常出现的问题:
2: 防火墙
选中No firewall
System services,去掉ipchains和iptables两项服务。
在宿主机上自己mount自己,看是否成功就可以判断NFS是否配好了。例如在宿主机/目录下执行:
mount 192.168.2.32:/ /mnt
然后到/mnt/目录下看是否可以列出/目录下的所有文件和目录,可以则说明mount成功,NFS配置成功。
33. 关于通过NFS mount宿主机硬盘调试应用程序的问题
嵌入式LINUX调试应用程序最主要的方式就是通过NFS mount宿主机硬盘上的应用程序来执行,通过观察其在串口终端打印的信息来达到调试的目的。
在这个过程中,存在一个权限的问题,即板子mount宿主机硬盘后,这个NFS mount的操作默认的不是以root的权限执行的,因此一般的板子没有权限执行宿主机硬盘上的程序,这时就要在宿主机上执行chmod 777 app,其中app为应用程序可执行文件的名字。其实这种现象还是比较容易为开发人员解决的,因为当执行应用时,minicom就会报错, permision denied,或者unknown error 4。但对于有的情况就不一定这么容易看出是权限的问题:
例如:调试WEB管理软件cgi代码时,我们把宿主机上/cgi-bin/通过NFS mount到板子的CGI工作目录/home/httpd/cgi-bin/上,这时通过浏览器IE执行CGI操作时,就会报错403,这里也是一个权限的问题,即 CGI要求其工作目录可写,这时就必须在宿主机上执行:chmod 777 /cgi-bin,这时浏览器里立刻就可以工作了。
但实际上,REDHAT LINUX PC自己mount自己成功也不能完全说明NFS就可以工作了,因为还有一个防火墙的问题,一般的我们建议客户在安装REDHAT LINUX时就默认选择NO FIREWALL,但若客户没有这样选择的话,REDHAT 启动时会加载防火墙规则,这样你自己能 mount 自己,但其它PC和板子也无法mount这台PC。所以这时要运行setup关闭防火墙。注意!setup里面的防火墙显示永远都是HIGH,这个是REDHAT一直的一个小BUG,即使你安装时默认选择了NO FIREWALL,setup里面也照样会显示防火墙设置是HIGH的,这个可以不必理会。只要你选择了一次NO FIREWALL就可以了。关于防火墙等问题,请参见您的光盘里面的PDF手册。另外,建议对LINUX操作不是非常熟悉的客户,务必请阅读我们手册附录的“LINUX常用命令”。
还有,就是REDHAT还有这样一个问题,就是加入网关设置后,网络建立TCP链接非常慢,例如FTP/TELNET/NFS等都是,建立链接后,以太网通信还是很快的。若您安装网络时加入了网关,就会出现你在板子NFS mount REDHAT PC时,敲入mount -o nolock pcip:/ /mnt后非常长的时间不返回SHELL提示符,就一直停在那里,这就是建立连接的时间非常的长。一般的,遇到这种情况,建议在REDHAT LINUX PC上执行
route del default
即去掉网关,然后再进行NFS mount等操作就会非常快了。
再有,若您用的不是华恒的开发板,那么可能您的busybox可能没有加入NFS mount的支持,这样您就需要重新编译busybox,加入NFS mount支持,然后更新ramdisk,重新烧写即可。
当然了,测试NFS你必须用以太网将板子和REDHAT LINUX PC连接起来才行,连接的方式有两种:一是板子和PC都用普通的网线接到HUB或者交换机上;二是用交叉网线将板子和PC直连起来,注意!这种网线是特制的,内部收发交换的!
测试板子和PC网络是否连通的方式是:板子正常启动LINUX后,在minicom里面ping PC看是否能通即可,当然了,用PC来ping板子看是否通也是可以的。注意:板子必须启动到LINUX后才能ping通,板子处在bootloader阶段一般是无法ping通的,即使这时板子的bootloader初始化了以太网也不行。
若板子跟PC的网络不通,mount报错信息为:
# mount -o nolock 192.168.2.211:/ /mnt
mount: RPC: Unable to receive; eNrno = No route Fo host
mount: Sfsmount failed::Bad file descriptor
mount program didn't pass remote address!
mount: Mounting 192.168.2.211:/ on /mnt failed: Invalid argument
3:曾经出现过,客户端板子mount 之后出现
# cd /usr/project/mount/
# ls
nfs_stat_to_errno: bad nfs status return value: 45
ls: ./mc2410: Input/output error
nfs_stat_to_errno: bad nfs status return value: 45
ls: ./MC2410E_Disk: Input/output error
nfs_stat_to_errno: bad nfs status return value: 45
ls: ./QTEmbeded_introduce.txt: Input/output error
nfs_stat_to_errno: bad nfs status return value: 45
ls: ./Installing Qt_Embedded.txt: Input/output error
nfs_stat_to_errno: bad nfs status return value: 45
ls: ./Qt对象模型.txt: Input/output error
nfs_stat_to_errno: bad nfs status return value: 45
ls: ./Qt Pronect: Input/output error
fs_stat_to_errno: bad nfs status return value: 45
ls: ./Qt 源码的编译和运行步
阅读(7889) | 评论(0) | 转发(0) |