废话不说,直接进入步骤;
1、网络连通
虚拟机,开发板,主机都要在同一个局域网中;开发板可以用网线直接链接在主机中,也可以通过链接路由器(如果连在路由器上会方便点,可以上网);如果你主机链接的是无线网的话,把虚拟机和 主机和开发板都设置为同一个局域网都有可能ping不通。可能你虚拟机和主机能ping通(桥接模式),但是你开发板ping不通主机和虚拟机;因为其实他们三个不是在同一个局域网中,虽然你设置的ip和网关都在同一个局域网中(192.168.1.1),但是其实质是虚拟机和主机在同一局域网中。解决的办法是先把主机的无线网禁止掉,然后重启虚拟机中的网络(service network restar),这样三个系统才能相互ping通。最后你再把无线网启动,就不会影响到开发板和虚拟机之间的网络了,但是这样的话,虚拟机就不能上外网了。
下面都是在服务器上操作的,也即是虚拟机上:
2、安装软件包
先让虚拟机链接到外网(不懂怎么配置虚拟机网络可以看下这个Linux下的网络配置命令);安装两个软件包:yum install -y nfs-utils portmap;
依次启动:
service portmap start ;如果显示 portmap: unrecognized service 这个错误(找不到这个服务),那就试试 service rpcbind start ;这是由于包的名称改变了;
service nfs start;启动nfs服务
service nfslock start;启动nfs锁服务
3、修改脚本
vim /etc/exports
/home/nfs *(sync,ro,no_root_squash) ;/home/nfs表示要和开发板(客户端)共享的目录;* 表示所有主机都能共享这个目录(可以指定某个IP段共享),后面是同步,读写权限,以及不用root权限登录;具体的可以查下资料,这里只说最简单的配置;
exportfs -ra 可以使/etc/exports文件中的配置生效;exportfs -v 显示服务器上NFS的输出目录
下面的操作都在客户端,也就是开发板:
4、直接挂载目录
mount -t nfs 192.168.1.150:/home/nfs /mnt/share ;把虚拟机中/home/nfs目录挂载到开发板中的/mnt/share目录中;
如果产生
“svc: failed to register lockdv1 RPC service (errno 5).
lockd_up: makesock failed, error=-5” 错误,可以试试下面命令;
mount -t nfs -o nolock 192.168.1.150:/home/nfs /mnt/share
卸载和其他卸载命令一样:umount /mnt/share (注意要先退出该目录,否则会出现:Device or resource busy错误);
补充:
在开发板(客户端)挂载目录时,报这个错:“mount: RPC: Unable to receive; errno = No route to host” ;
解决办法是:service iptables stop 和 setenforce 0