NikTalk
Hi!大家好,我是Nik。一名在人工智能+物联网行业混迹多年的AIOT架构工程师兼产品经理。欢迎您来到我的博客!这里记录了我的AIOT职业生涯,从最开始的一名普通嵌入式软件工程师->到嵌入式系统工程师->再到AIOT架构师兼产品经理一路上的所学所感所得。希望这些知识,经验,技术以及感悟对后来的你,在技术学习以及职业发展的道路上有所帮助。记得关注我,我将不定期分享一些AIOT相关的技术和行业信息。唯一微信号:aiotnik

ubuntu安装nfs服务器-04

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建立共享目录来传输文件。