news 2026/9/8 17:41:58

第十六讲:安装NFS服务器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第十六讲:安装NFS服务器

大家好,接下来的一段时间我将开始学习野火的Linux系统课程并将学习到的干货逐步更新到我的CSDN博客中。没时间刷课的同学可以把我的博客喂给AI 突击一下。

目录

什么是NFS?

常见配置命令

常见问题

实战:

1.更新apt:

2.下载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 文件系统

什么是NFS?

NFS:网络文件系统,嵌入式开发常用,开发板可以通过网络直接访问 Ubuntu 主机上的共享文件夹,不用反复拷贝文件。

常见配置命令

1.安装服务端

sudo apt install nfs-kernel-server -y

2.创建共享文件夹

sudo mkdir -p /home/embedfire/workdir # 修改目录权限,避免挂载权限报错 sudo chmod 777 /home/embedfire/workdir

3.编辑 exports 配置文件

sudo vim /etc/exports

4.在文件末尾添加这一行(允许任意 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-server

6.查看 NFS 共享是否生效

showmount -e localhost

输出出现共享目录代表服务配置成功。

7.开发板挂载命令

mount -t nfs 192.168.x.x:/home/embedfire/workdir /mnt

192.168.x.x是你的 Ubuntu 主机 IP,/mnt是开发板本地挂载点。

常见问题

  • 修改/etc/exports必须重启 nfs‑kernel‑server 服务配置才生效。
  • 挂载失败:检查 Ubuntu 防火墙,关闭防火墙或者放行 NFS 端口。
  • 权限报错:确认共享目录权限、no_root_squash参数是否写对。

实战:

1.更新apt:

sudo apt update

2.下载NFS软件包:

sudo apt install nfs-kernel-server -y

NFS会被下载到/etc/exports,

3.创建一个文件夹:

sudo mkdir -p /home/embedfire/workdir

4.进入/etc/exports文件:

sudo vi /etc/exports

5.编辑/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配置 -v:verbose,打印输出过程,看到 exporting 就代表成功

两种生效方式二选一:

  1. sudo exportfs -arv热加载,不重启 NFS 进程,已经挂载的连接不会断开
  2. 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 -y
  • sudo:管理员权限
  • 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
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/8 17:38:14

Clawdbot深度拆解:AI客服智能对话引擎与多渠道接入实战

2. Clawdbot 核心功能拆解 2.1 智能对话引擎:不止是聊天机器人 很多朋友一听到 AI 客服机器人,第一反应就是"不就是个自动回复吗"。说实话,Clawdbot 的智能对话引擎完全不是传统意义上的 FAQ 应答机,它在设计上做了几个…

作者头像 李华
网站建设 2026/9/8 17:38:02

WandEnhancer 三步解锁 WeMod Pro:本地补丁工具完整上手教程

WandEnhancer 三步解锁 WeMod Pro:本地补丁工具完整上手教程 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 用 WeMod 免费版每天被倒计…

作者头像 李华
网站建设 2026/9/8 17:36:36

Java集合源码与数据结构:从ArrayList到HashMap的底层原理

ArrayList和LinkedList的区别是什么?HashMap的底层结构长什么样?HashSet为什么能保证元素不重复?这几个问题,几乎是Java面试必问的基础题,也是很多人在准备校招和社招时最先背的“八股文”。可一旦面试官追问到“Array…

作者头像 李华
网站建设 2026/9/8 17:35:33

IA-LUT:4D查找表破解暗光视频增强的实时与一致性难题

暗光视频增强在业内一直是个“做了很多年但落地很难”的方向。单帧图像增强的论文层出不穷,效果也确实越做越好,但一旦从图片切到视频,各种问题就冒出来了——最典型的就是实时性不够和帧间闪烁严重。我最早接触这个方向的时候,试…

作者头像 李华