1.1搭建环境介绍硬件环境:
一台电脑。
讯威iTOP-RK3568开发板。
网络环境:
PC和开发板通过网线连接到路由器,虚拟机处于桥接模式。
1.2 设置NFS服务器
这里选择虚拟机Ubuntu作为主机。首先,在虚拟机Ubuntu上安装NFS服务。这是一个软件包,可以使用apt命令下载(确保虚拟机可以访问Internet)。在虚拟机Ubuntu的root用户下输入以下命令安装Ubuntu NFS服务:
apt-get 安装nfs-kernel-server
如下所示:
由于作者已经安装了它,所以这里显示零更新和零新安装。安装成功后,继续搭建NFS服务器。
使用以下命令修改导出文件的内容:
vim /etc/exports
在最后一行添加以下内容,添加完成如下图:
/home/nfs/*(rw、同步、no_root_squash)
我们来解释一下上面的输入意味着什么:
/home/nfs/:要共享的目录; “/home/nfs/”目录需要自己创建,在Ubuntu中默认是没有的。
*:代表允许所有网段访问;
rw:是读写权限;
sync:数据同步写入内存和硬盘;
no_root_squash:是Ubuntu nfs客户端共享目录用户的权限。如果客户端使用root用户,则客户端对共享目录拥有root权限;
Ubuntu nfs 的其他常用参数有:
ro:只读访问
async:nfs可以在写入数据之前进行相应的请求
安全:nfs 通过以下安全TCP/IP 端口发送
不安全:nfs通过1024以上端口发送
wdelay:如果多个用户要写入NFS 目录则分组(默认)
no_wdelay:如果多个用户要写入NFS目录,则立即写入。使用异步时,不需要此设置。
hide: 不共享nfs共享目录中的wife目录
no_hide:共享nfs目录的子目录
subtree_check:如果共享了/usr/bin等子目录,则强制nfs检查父目录的权限(默认)
no_subtree_check:与上面相反,不检查父目录权限。
all_squash:共享文件到匿名用户的UID和GID映射,适用于公共目录
no_all_squash:保留共享文件的UID和GID(默认)
root_squash root:所有用户请求都映射到与匿名用户相同的权限(默认)
no_root_squash root:用户对根目录具有完全管理访问权限
anonuid=xxx:指定nfs服务器/etc/passwd文件中最多匿名用户的UID
anongid=xxx:指定nfs服务器/etc/passwd文件中匿名用户的GID
接下来,使用以下命令重新启动rpcbind 服务。运行结果如下:
/etc/init.d/rpcbind 重新启动
然后输入以下命令重启nfs服务
/etc/init.d/nfs-kernel-server重新启动
运行结果如下:
使用以下命令检查nfs目录是否挂载成功(可能还需要重启Ubuntu才能再次挂载该目录),如下图:
显示安装-e
至此,Ubuntu nfs服务器的配置就完成了。