这里写目录标题
挂载NFS网络文件系统
NFS用于文件传输,共享文件夹,这样在Ubuntu虚拟机上编译好的文件可以直接放进共享文件夹,在开发板上就能直接获取到,并进行调试。
在进行下面连接和挂载的操作前,需要先配好好静态ip,并保证Ubuntu、开发板二者之间能相互ping通,才能正常连接。
在Ubuntu和开发板上可以通过修改/etc/network/interface文件配置静态IP
1、安装NFS服务端
1.1、安装nfs-kernel-server软件
在虚拟机上安装NFS服务端软件nfs-kernel-server
sudo apt install nfs-kernel-server
1.2、配置NFS
1.2.1、修改配置文件
安装成功后会在/etc目录下多一个exports文件,该文件为NFS配置文件
在该文件最后一行加上以下内容:
/home/len/linux/nfs_share 192.168.1.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000,no_subtree_check)
- /home/embedfire/workdir:要共享的开发主机目录,注意使用空格与后面的配置隔开。
- 192.168.1.0/24:配置哪个局域网内的主机能访问,处于192.168.1.0/24下的主机都能访问该文件夹
- 这个配置域也可以直接写可访问的主机名,如把“192.168.0.0/24”替换为开发板主机名“imx6ull14x14evk”,则仅该开发板能访问共享的目录。
- rw: 表示客户机的权限,rw表示可读写,具体的权限还受文件系统的rwx及用户身份影响。
- sync:资料同步写入到内存与硬盘中。
- anonuid=1000:当前用户的uid(可以通过id命令查看)
- anongid=1000: 当前用户的用户本地组id(可以通过id命令查看)
- no_subtree_check:不检查子目录权限,默认配置。
1.2.2、创建共享目录
通过以下命令创建目录:
mkdir /home/len/nfs_share
1.2.3、更新配置文件
配置完成后通过以下命名更新配置:
sudo exportfs -arv
该命令的参数说明如下:
- -a:全部mount或umount文件/etc/exports中的内容。
- -r:重新mount文件/etc/exports中的共享内容。
- -u:umount目录。
- -v:在exportfs的时候,将详细的信息输出到屏幕上。
1.2.4、查看NFS共享情况
使用以下命令可以查看NFS服务器加载情况:
showmount -e
2、安装NFS客户端
2.1、安装nfs-common软件
在开发板上执行以下命令安装nfs-common客户端软件(如果找不到软件源就先执行sudo apt-get update
更新软件源在安装,确保开发板已经连上WiFi能上网才能安装软件)
sudo apt install nfs-common -y
执行以下命令查看NFS服务器共享目录:(ip改成你虚拟机的ip地址)
showmount -e 192.168.1.140
(这里可以留意一下,如果虚拟机的ip没在192.168.1.0/24下,可能是网络连接模式没有修改,改成“桥接模式”(在特殊的情况,如果你的开发主机是连接WiFi,无线的,那么还需要在“编辑”-》“虚拟网络编辑器”-》“更多配置”修改桥接的网口))
以下是执行该命令返回的内容,可以看到共享的文件夹目录地址:
root@firefly:~# showmount -e 192.168.1.140
Export list for 192.168.1.140:
/home/leo/nfs_share 192.168.1.0/24
2.2、挂载nfs文件夹
执行以下命令进行NFS文件挂载:
mount -t nfs -o nolock,nfsvers=3,vers=3 192.168.1.145:/home/leo/nfs_share /home/root/nfs
此处的192.168.1.145要改成相应的虚拟机ip,/home/leo/nfs_share要改成上面相应的共享文件夹目录,/home/root/nfs最后的这个目录为相应的NFS挂载文件目录
这样就挂载成功了,在虚拟机的nfs_share文件夹下创建修改文件,都会同步到开发板上的nfs文件夹里!
leo@linux:~/nfs_share$ ls
leo@linux:~/nfs_share$ touch test
leo@linux:~/nfs_share$ ls
test
root@ATK-IMX6U:~/nfs# ls
test
以上就完成了整个挂载NFS网络文件系统的流程!