1. NFS简介
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。(引自百度百科)
2. 配置ubuntu虚拟机
如果开发使用的是虚拟机的话这块需要配置虚拟机的网络适配器为桥接模式,这样虚拟机才能跟主机在一个网段,跟你的目标板也才能在同一个网段
3. 服务端安装
3.1 使用命令安装
直接使用apt install在线安装即可
sudo apt-get install nfs-kernel-server
3.2 配置
配置共享路径,修改 /etc/export 配置文件即可
sudo vim /etc/exports
在文件末添加如下内容:
/home/guomq/nfs *(rw,sync,no_root_squash,insecure)
- /home/guomq/nfs 代表的是共享的目录
-
- 代表是允许所有的网络访问
- ro 该主机对该共享目录有只读权限
- rw 该主机对该共享目录有读写权限
- root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户
- no_root_squash 客户机用root访问该共享文件夹时,不映射root用户
- all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户- - anonuid 将客户机上的用户映射成指定的本地用户ID的用户
- anongid 将客户机上的用户映射成属于指定的本地用户组ID
- sync 资料同步写入到内存与硬盘中
- async 资料会先暂存于内存中,而非直接写入硬盘insecure 允许从这台机器过来的非授权访问
- 允许客户端从大于1024的tcp/ip端口连接服务器
3.3 重启NFS
/etc/init.d/rpcbind restart
/etc/init.d/nfs-kernel-server restart
3.4 测试NFS服务
showmount -e 127.0.0.1
出现如下结果表示配置成功
4. 挂载文件系统到开发板上
4.1 查看开发板是否支持nfs
cat /proc/filesystems
/mnt/nfs # cat /proc/filesystems
nodev sysfs
nodev rootfs
nodev ramfs
nodev bdev
nodev proc
nodev cgroup
nodev cgroup2
nodev tmpfs
nodev devtmpfs
nodev configfs
nodev debugfs
nodev sockfs
nodev pipefs
nodev rpc_pipefs
nodev devpts
ext3
ext2
ext4
cramfs
vfat
msdos
nodev nfs
nodev nfs4
fuseblk
nodev fuse
nodev fusectl
如果有nodev nfs说明支持nfs文件系统,如果没有的话需要配置内核打开NFS文件系统的支持
4.2 挂载
mount -t nfs 192.168.5.174:/home/guomq/nfs /mnt/nfs -o nolock
- 192.168.5.174 是服务端的地址
- /home/guomq/nfs 是我们配置的服务端的 NFS 目录
- /mnt/nfs 是目标目录
挂载完后我们在开发板上执行mount命令就可以看到挂载的信息
至此远程挂载NFS的所有步骤就完成了