一、NFS的介绍
NFS (Network File System)是一种基于网络的分布式文件系统协议,它允许不同的计算机通过网络共享文件和目录。通过NFS,一个运行NFS服务器的计算机可以将其文件系统的一部分或全部内容共享给其他计算机,这些计算机可以通过网络连接并挂载到该文件系统,从而可以像访问本地文件系统一样访问共享的文件和目录。NFS通常用于在多个计算机之间共享文件和数据,例如在大型企业中共享文件和数据。
二、Ubuntu搭建NFS服务器
1)在 ubuntu 安装 nfs 服务,指令
sudo aptitude install nfs-kernel-server
结果:
(2)在 家目录下创建nfs文件夹,指令:
sudo mkdir nfs
sudo chmod 777 nfs
(3) 打开配置文件添加 nfs 共享目录,修改配置文件,输入指令
vi /etc/exports
最后一行增加指令,如下:
/home/user/nfs/ *(rw,sync,no_root_squash)
如果/etc/exports禁止修改,则需要使用 chmod 增加权限。
其中:/home/user/nfs/ 是 nfs 服务器要共享的目录
rw:可读写权限;
sync:资料同步写入内存和硬盘;
no_root_squash:当登录 NFS 主机使用共享目录的使用者是 root 时,其权限将被转换成为一名使用者,通常它的 UID 与 GID 都会变成 nobody 身份。
(4) 重启 nfs 服务,指令:
sudo /etc/init.d/nfs-kernel-server restart
(5)自测:
mount -t nfs -o nolock,nfsvers=3,vers=3 192.168.1.196:/home/user/nfs /mnt
192.168.1.196:(Ubuntu)nfs服务器地址
/home/user/nfs:服务器目录
/mnt:挂载目录
(6)取消挂载 ,指令:
sudo umount /mnt
三、开发板搭建NFS客户端
(1) 挂载前开发板需要进行如下配置,开启NFS功能,输入 指令:
make linux-menuconfig
配置如下:File systems --> Network File Systems
保存退出,make 编译,重新烧录 uImage 即可。参考《新唐nuc980-串口测试笔记》。
(2) 开发板挂载 NFS 服务器共享的目录,/mnt目录下创建nfs目录,创建成功之后输入命令如下:
mount -t nfs -o nolock,nfsvers=3,vers=3 192.168.1.196:/home/user/nfs /mnt/nfs
结果:
测试:
Ubuntu新建文件0.txt,写入123。
开发板查看信息,如下:
注意:Ubuntu 要使用桥接模式,开发板和服务器在同一网段,能够互相ping通,开发板和电脑都连接到同一路由器。
欢迎关注公众号:嵌入式学习与实践
参考:《NUC980 Linux BSP 使用手册》