1.NFS

NFS是Network File System,网络文件系统,可以通过网络让不同机器、不同系统之间实现文件共享。通过NFS ,可以访问远程共享目录,就和访问本地磁盘一样。在嵌入式Linux开发中常用于开发板运行目标机上的程序。

2.Linux主机建立NFS服务端

2.1.安装NFS服务器

sudo apt-get install nfs-kernel-server

2.2.添加NFS共享目录

在安装完NFS服务器后,需要指定用于共享的NFS目录。

2.2.1.创建共享目录

sudo mkdir /nfsroot
sudo chmod -R 777 /nfsroot
sudo chown -R nobody /nfsroot

2.2.2.编辑配置,指定NFS共享目录

sudo vim /etc/exports

在文件末尾添加我们指定的NFS共享目录:

/nfsroot	*(rw,sync,no_root_squash)

【嵌入式Linux(环境篇)】Ubuntu上搭建NFS(网络文件系统)_linux
将文件保存并退出,指定成功。

2.2.3.启动NFS服务

sudo /etc/init.d/nfs-kernel-server start

注:NFS服务在系统启动时会自动启动。
【嵌入式Linux(环境篇)】Ubuntu上搭建NFS(网络文件系统)_linux_02

3.Linux主机建立NFS客户端自测

3.1.安装NFS客户端

sudo apt-get install nfs-common

【嵌入式Linux(环境篇)】Ubuntu上搭建NFS(网络文件系统)_linux_03

3.2.挂在NFS共享目录到另一目录

sudo mount -t nfs <Linux主机ip地址>:/nfsroot /mnt -o nolock

【嵌入式Linux(环境篇)】Ubuntu上搭建NFS(网络文件系统)_linux_04

3.3.查看测试结果

进入/nfsroot共享目录,创建一个测试文件夹:

sudo mkdir nfs_test

【嵌入式Linux(环境篇)】Ubuntu上搭建NFS(网络文件系统)_linux_05

然后进入/mnt目录下查看:
【嵌入式Linux(环境篇)】Ubuntu上搭建NFS(网络文件系统)_linux_06

4.在Linux开发板上挂载NFS
mount -t nfs <Linux主机ip地址>:/nfsroot /mnt -o nolock

【嵌入式Linux(环境篇)】Ubuntu上搭建NFS(网络文件系统)_linux_07

5. 遇到问题及其解决方案

在云服务器上开启了nfs服务,在服务器上本机可以挂载,但是在开发板上不可以挂载,显示:
【嵌入式Linux(环境篇)】Ubuntu上搭建NFS(网络文件系统)_linux_08

原因:使用了非法端口,也就是使用了大于1024的端口。

解决问题:修改配置文件/etc/exports,加入 insecure 选项,重启nfs服务。
【嵌入式Linux(环境篇)】Ubuntu上搭建NFS(网络文件系统)_linux_09

结果:挂载成功。

【嵌入式Linux(环境篇)】Ubuntu上搭建NFS(网络文件系统)_linux_10