NFS(Network File System)网络文件系统的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利;NFS一般用来存储共享视频,图片,文件等静态数据。如下图所示,我们安装在虚拟机vmware上的ubuntu做为nfs服务器。开发板作为nfs共享客户端,这样开发板就可以共享Ubuntu上共享的目录了。
为什么我们要通过nfs服务来将ubuntu系统的文件目录共享给开发板呢?
答:因为我们开发板的应用程序(二进制可执行程序)是在ubuntu系统上通过开发板的工具链进行编译的,就意味着需要将在Ubuntu上编译好的应用程序拷贝到开发板上去运行测试。这个时候就可以通过nfs把ubuntu上编译好的应用程序放到共享目录后,开发板这边只需要挂载到共享目录即可直接执行或者操作ubuntu共享目录里的应用程序或者其他文件了。
ubuntu安装nfs服务器步骤如下
1、安装nfs服务器
sudo apt-get install nfs-kernel-server
2、修改配置文件
sudo vim /etc/exports
注:“exports”文件用于配置 NFS 服务器中输出的共享目录
修改内容如下:
/共享目录绝对路径 *(rw,sync,no_root_squash,no_subtree_check)
配置说明:
/home/nfs: 是nfs服务的客户端共享的目录,可自行创建,这个路径必须为绝对路径。
rw:挂接此目录的客户端对该共享目录具有读写权限。
*:允许所有的网段访问,也可以使用具体的 IP。
sync:资料同步写入内存和硬盘。
no_root_squash:root 用户具有对根目录的完全管理访问权限。
no_subtree_check:不检查父目录的权限。
3、重启 nfs 服务
sudo /etc/init.d/nfs-kernel-server restart
sudo /etc/init.d/rpcbind restart
4、nfs服务的挂载测试
(1)给开发板配置网络,查看WIFI-07章节。
(2)串口进入开发板终端运行挂载指令:
mount -o nolock 192.168.80.61:/home/nfs /mnt/
指令说明:
192.168.80.61:这个IP是ubuntu的IP,可以运行ifconfig指令查看你的ubuntu系统IP。
mnt/:是开发板挂载的目录
注意:开发板的网段一定要和ubuntu系统在同一个网段,并且ping得通。也就是说你的电脑和开发板要连接同一个路由器。
如上图所示,nfs服务安装成功。开发板已经可以正常和ubuntu建立共享目录来传输文件。