尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

第十六讲:安装NFS服务器

第十六讲:安装NFS服务器 大家好接下来的一段时间我将开始学习野火的Linux系统课程并将学习到的干货逐步更新到我的CSDN博客中。没时间刷课的同学可以把我的博客喂给AI 突击一下。目录什么是NFS常见配置命令常见问题实战1.更新apt2.下载NFS软件包3.创建一个文件夹4.进入/etc/exports文件5.编辑/etc/exports文件6.更新 exports 配置不重启服务动态加载配置7.Ubuntu 服务端查看本机 NFS 共享8.打开MobaXterm软件连接好电源usb启动开发板登录账密9.在主机端和MobaXterm串口端都输入ifconfig命令查看主机和板子的IP地址10.板子串口端PING主机IP地址主机PING板子IP地址11.开发板安装 NFS 客户端12.开发板查看 NFS 服务器共享目录13.挂载 NFS 文件系统什么是NFSNFS网络文件系统嵌入式开发常用开发板可以通过网络直接访问 Ubuntu 主机上的共享文件夹不用反复拷贝文件。常见配置命令1.安装服务端sudo apt install nfs-kernel-server -y2.创建共享文件夹sudo mkdir -p /home/embedfire/workdir # 修改目录权限避免挂载权限报错 sudo chmod 777 /home/embedfire/workdir3.编辑 exports 配置文件sudo vim /etc/exports4.在文件末尾添加这一行允许任意 IP 访问嵌入式开发常用/home/embedfire/workdir *(rw,sync,no_subtree_check,no_root_squash)参数解释/home/embedfire/workdir要共享的本地目录*允许所有 IP 访问可以替换成指定 IP 例如192.168.1.0/24只允许局域网网段rw可读可写sync数据同步写入磁盘no_subtree_check不检查父目录权限提升性能no_root_squash客户端 root 用户不压缩权限嵌入式开发板挂载必加5.重启 NFS 服务让配置生效sudo systemctl restart nfs-kernel-server6.查看 NFS 共享是否生效showmount -e localhost输出出现共享目录代表服务配置成功。7.开发板挂载命令mount -t nfs 192.168.x.x:/home/embedfire/workdir /mnt192.168.x.x是你的 Ubuntu 主机 IP/mnt是开发板本地挂载点。常见问题修改/etc/exports后必须重启 nfs‑kernel‑server 服务配置才生效。挂载失败检查 Ubuntu 防火墙关闭防火墙或者放行 NFS 端口。权限报错确认共享目录权限、no_root_squash参数是否写对。实战1.更新aptsudo apt update2.下载NFS软件包sudo apt install nfs-kernel-server -yNFS会被下载到/etc/exports3.创建一个文件夹sudo mkdir -p /home/embedfire/workdir4.进入/etc/exports文件sudo vi /etc/exports5.编辑/etc/exports文件NFS 共享配置行用来告诉 NFS 服务器哪个文件夹对外共享、允许谁访问、权限是什么。配置语法/home/embedfire/workdir *(rw,sync,no_subtree_check,no_root_squash)片段含义/home/embedfire/workdirUbuntu 本机要对外共享的文件夹路径*允许所有 IP 地址的设备访问可以改成192.168.1.0/24只允许局域网设备rwread‑write客户端可以读、写这个共享目录sync同步模式客户端写入文件立刻保存到磁盘防止断电丢数据no_subtree_check不校验父目录权限减少系统开销提升 NFS 运行速度no_root_squash关键嵌入式开发板必加开发板上 root 用户访问共享文件夹时不压制权限。不加这条开发板 root 会变成普通用户出现权限不足无法创建 / 修改文件。6.更新 exports 配置不重启服务动态加载配置sudo exportfs -arv -a全部共享目录 -r重新加载/etc/exports配置 -vverbose打印输出过程看到 exporting 就代表成功两种生效方式二选一sudo exportfs -arv热加载不重启 NFS 进程已经挂载的连接不会断开sudo systemctl restart nfs‑kernel‑server完整重启服务会断开现有挂载连接7.Ubuntu 服务端查看本机 NFS 共享showmount -e #输出列表出现共享目录代表配置生效。8.打开MobaXterm软件连接好电源usb启动开发板登录账密9.在主机端和MobaXterm串口端都输入ifconfig命令查看主机和板子的IP地址10.板子串口端PING主机IP地址主机PING板子IP地址都能PING通说明主机的UBUNTU系统和板子上的Debian系统是通的。11.开发板安装 NFS 客户端sudo apt install nfs-common -ysudo管理员权限apt install安装软件包nfs‑commonNFS 客户端工具包开发板只做客户端不需要装 nfs‑kernel‑server 服务端-y自动确认安装不用手动输入 yes只有开发板是 Debian/Ubuntu 系统才敲这条很多嵌入式开发板根文件系统已经自带 nfs 客户端就不用装。12.开发板查看 NFS 服务器共享目录showmount -e 192.168.1.100 作用在开发板上远程查询 Ubuntu (NFS 服务端) 开放了哪些共享文件夹。服务端、客户端查看 NFS共享目录区别命令执行机器功能showmount -eUbuntu服务端本机查看本机自己的 NFS 共享showmount -e 192.168.x.x开发板客户端远程查看 Ubuntu 的共享目录13.挂载 NFS 文件系统mount -t nfs 服务端IP:服务端共享目录 开发板本地挂载点 sudo mount -t nfs 192.168.1.100:/home/embedfire/workdir /mnt语句解析片段解释sudo mount挂载命令需要管理员权限‑t nfs‑t指定文件系统类型nfs就是 NFS 网络文件系统192.168.1.100:/home/embedfire/workdir服务端地址共享目录冒号不能丢代表 Ubuntu 上的共享文件夹/mnt开发板本地挂载点挂载之后访问开发板/mnt就等价于访问 Ubuntu 的共享目录逻辑把 Ubuntu 电脑的文件夹映射到开发板的 /mnt 目录开发板读写 /mnt文件实际存放在 Ubuntu 主机上。卸载命令sudo umount /mnt
返回列表