环境
- Linux 开发板一块
- ubuntu16.04 上位机
准备
先检查ubuntu和开发板有没有默认安装nfs,通过下面命令查看:
cat /proc/filesystem
若有一行为 nodev nfs,则Linux内核支持NFS
若没有则通过下面命令安装:
sudo apt-get install nfs-kernel-server
挂载
先在Ubuntu上创建一个nfs专有文件夹,后面会将该文件夹挂载都Linux开发板上
mkdir -p /home/hxy/nfs_zx
chmod 777 /home/hxy/nfs_zx
在Ubuntu的 /etc/exports 配置nfs,在文件的最后一行添加:
/home/hxy/nfs_zx *(sync,rw,no_root_squash)
或
/home/hxy/nfs_zx 192.168.11.9(sync,rw,no_root_squash)
上面这两段的含义如下:
-
/home/hxy/nfs_zx:与nfs服务客户端共享的目录,这个路径必须和你前面设置的文件的路径一致!
-
*:允许所有的网段访问,也可以使用具体的IP
-
rw:挂接此目录的客户端对该共享目录具有读写权限
-
sync:资料同步写入内存和硬盘
-
no_root_squash:root用户具有对根目录的完全管理访问权限。
-
no_subtree_check:不检查父目录的权限。
Ubuntu运行下面两个命令:
/etc/init.d/rpcbind restart
/etc/init.d/nfs-kernel-server restart
接下在开发板上执行:
mount 192.168.11.155:/home/hxy/nfs_zx /mnt
其中,192.168.11.155是主机IP,/home/hxy/nfs_zx是主机共享目录,/mnt表示将该共享目录挂载到linux开发板/mnt目录下
不过我运行上面的命令并没有成功,开发板一直阻塞不动了,可能是防火墙的原因,运行下面命令成功:
mount -o nolock -t nfs 192.168.11.155:/home/hxy/nfs_zx /mnt