一、nfs简介
nfs(Network File System)网络文件系统,其基于UDP/IP使用nfs能够再不同计算机之间通过网络进行文件共享,能使使用者访问网络上其他计算机中的文件系统就像在访问自己的计算机一样。
在Linux开发过程中,我们通常在Ubuntu系统上进行代码的编写,然后将其使用交叉编译工具编译成能够被ARM处理器识别的可执行文件,要将编译好的可执行文件下载到开发板上执行,就需要建立开发板与Ubuntu的文件传输通道。
二、Ubuntu系统nfs服务器安装步骤
1、在命令行中使用如下命令安装nfs
sudo apt-get install nfs-kernel-server
2、修改nfs服务器的配置文件
sudo vi /etc/exports
打开的文件在最后一行添加如下语句:
第一个是共享文件夹的路径(看自己设置的),*代表所有客户端均可访问(可以改成ip地址或者用户名限制客户端),括号里面的东西就是客户端的权限,在此之前,需要现创建一个共享文件夹,这里我在我的家目录下的Linux目录下新建了一个nfs文件夹,新建文件夹之后还需要通过一下命令将此文件夹的权限修改为最高。
sudo chmod 777 /nfs
修改完成之后可以看到对应的文件夹变成绿色的了。
3、重启nfs服务,让配置生效
sudo service nfs-kernel-server restart
至此,服务器端就配置完成。
4、客户端安装命令
sudo apt-get install nfs-common
三、本地验证是否能挂载成功
在本地新建一个文件夹用与挂载,我这里依然选择在Linux目录下新建一个nfs_test文件夹。
使用如下命令进行挂载(这是我的目录,需要根据你的目录修改)
sudo mount -t nfs -o nolock,nfsvers=3,vers=3 192.168.1.11:/home/kekou/Linux/nfs /home/kekou/Linux/nfs_test/
然后在使用touch命令在nfs目录下创建一个test.c文件,随后就能够在nfs_test目录下看到我们创建的test.c文件了。
四、开发板挂载Ubuntu服务器
当我们在进行驱动开发的时候,需要在Ubuntu服务器上面编写并运行代码,然后将交叉编译器编译出来的可执行文件放到开发板上执行。,这就需要频繁的在Ubuntu和开发板之前传输文件,nfs就能便于我们开发。
同样的在开发板上执行挂载命令,需要用网线将开发板和主机连起来,还要配置开发板的ip和Ubuntu的ip在同一个网段(配置ip推荐看韦东山老师的视频,个人觉得讲的非常细)
五、卸载命令
使用如下命令取消挂载,必须要到根目录下执行才能够取消成功,否则会报错设备正在忙碌。
sudo umount /home/kekou/Linux/nfs_test