Ubuntu 22.04 配置 NFS 服务端:3 步实现开发板免拷贝文件共享
Ubuntu 22.04 高效开发板文件共享NFS服务端配置全指南在嵌入式开发和Linux系统管理中频繁地在开发主机与开发板之间传输文件是一项常见但耗时的任务。传统方法如SCP、SFTP或U盘拷贝不仅效率低下还会打断开发流程。本文将详细介绍如何在Ubuntu 22.04 LTS上配置NFSNetwork File System服务端实现开发板与主机之间的无缝文件共享。1. NFS技术概述与优势NFS网络文件系统是一种分布式文件系统协议允许用户像访问本地文件一样访问网络上的文件。对于开发板与主机之间的文件共享NFS提供了几项显著优势实时同步开发板可以直接访问主机上的文件无需手动上传下载高效开发修改代码后立即在开发板上生效加速开发调试循环节省存储开发板无需存储所有文件特别适合资源受限的设备权限统一文件权限和所有权在主机端统一管理与SCP、FTP等传统传输方式相比NFS特别适合以下场景特性NFSSCP/FTP实时性修改即时可见需手动传输使用便捷性挂载后透明访问每次需执行命令适合场景频繁修改的开发文件一次性传输的成品文件资源占用低仅传输实际访问部分高全文件传输2. 环境准备与依赖安装在开始配置前请确保满足以下条件Ubuntu 22.04 LTS主机服务端开发板与主机在同一局域网开发板支持NFS客户端功能双方网络连通可通过ping测试安装NFS服务端软件包sudo apt update sudo apt install -y nfs-kernel-server安装完成后验证服务状态sudo systemctl status nfs-server正常情况应显示active (running)。如果未自动启动可手动启动服务sudo systemctl start nfs-server提示为确保NFS服务开机自启可执行sudo systemctl enable nfs-server3. 配置NFS共享目录3.1 创建共享目录选择一个或创建新的目录作为共享空间。通常选择/home下的目录mkdir ~/nfs_share sudo chown -R nobody:nogroup ~/nfs_share # 设置权限 sudo chmod -R 777 ~/nfs_share # 开放所有权限开发环境简化设置注意生产环境应设置更严格的权限控制开发环境可适当放宽3.2 配置exports文件编辑NFS配置文件/etc/exportssudo nano /etc/exports添加以下内容根据实际需求调整/home/your_username/nfs_share *(rw,sync,no_subtree_check,no_root_squash)配置项说明rw读写权限sync同步写入保证数据一致性no_subtree_check提高性能禁用子树检查no_root_squash允许root用户保持权限开发环境常用3.3 应用配置使配置生效sudo exportfs -a # 重新导出所有共享 sudo systemctl restart nfs-kernel-server # 重启服务验证共享是否成功showmount -e localhost应显示你配置的共享目录。4. 开发板挂载NFS共享在开发板端执行以下命令挂载NFS共享根据开发板环境调整mkdir -p /mnt/nfs mount -t nfs -o nolock,vers3 192.168.1.100:/home/your_username/nfs_share /mnt/nfs参数说明nolock禁用文件锁避免某些兼容性问题vers3指定NFSv3协议多数开发板兼容性最好192.168.1.100替换为你的Ubuntu主机IP验证挂载df -h | grep nfs ls /mnt/nfs4.1 自动挂载配置如需开发板启动时自动挂载编辑/etc/fstab文件开发板端192.168.1.100:/home/your_username/nfs_share /mnt/nfs nfs nolock,vers3 0 05. 高级配置与优化5.1 性能调优参数在/etc/exports中添加性能相关参数/home/your_username/nfs_share *(rw,sync,no_subtree_check,no_root_squash,no_wdelay)新增参数说明no_wdelay禁用写延迟提高响应速度async异步写入性能更高但风险稍大5.2 安全加固措施生产环境应考虑以下安全配置限制访问IP/home/your_username/nfs_share 192.168.1.0/24(rw,sync,...)使用更安全的权限sudo chown -R developer:developer ~/nfs_share sudo chmod -R 775 ~/nfs_share启用防火墙规则sudo ufw allow from 192.168.1.0/24 to any port nfs5.3 常见问题排查问题1挂载时报access denied解决方案检查/etc/exports权限设置确保防火墙未阻止NFS端口默认2049开发板尝试使用-o nolock参数问题2传输速度慢优化建议尝试NFSv4如果开发板支持-o vers4调整rsize/wsize参数-o rsize8192,wsize8192使用TCP协议-o prototcp问题3文件权限混乱解决方法确保开发板与主机用户UID一致或使用all_squash和anonuid/anongid参数统一映射用户6. 实际开发工作流示例以下是一个典型的基于NFS的开发工作流程代码编辑在Ubuntu主机上使用IDE编辑代码保存到~/nfs_share/project编译构建在主机或开发板上编译根据项目需求调试运行直接在开发板上执行/mnt/nfs/project/app测试验证运行测试用例结果实时反映在主机文件系统中版本控制在主机端使用git管理代码变更性能对比测试操作SCP传输时间NFS访问时间10MB文件首次传输2.1s0.3s小文件(100个1KB)4.5s0.8s频繁修改开发循环每次需全量传输即时生效7. 替代方案比较虽然NFS是理想的开发环境解决方案但其他方法也有其适用场景SCP/SFTP优点安全适合一次性传输缺点每次需手动操作不实时TFTP优点简单适合小文件或固件更新缺点功能有限无目录列表等高级功能SAMBA优点Windows兼容性好缺点开销较大配置复杂选择建议开发阶段NFS生产部署SCP或定制方案Windows环境SAMBA8. 维护与监控长期使用NFS共享时建议设置监控和维护措施监控NFS性能nfsstat -c # 客户端统计 nfsstat -s # 服务端统计日志配置 编辑/etc/sysconfig/nfs或/etc/default/nfs-kernel-server启用调试日志RPCNFSDARGS-V 3 -d 1定期维护检查并清理旧文件监控磁盘空间使用定期更新NFS软件包通过本文介绍的NFS配置方法开发者可以建立高效的开发板-主机文件共享环境显著提升嵌入式开发效率。实际使用中根据项目需求调整安全性和性能参数即可获得最佳体验。

相关新闻

learn-opengl入门

learn-opengl入门

opengl是一个大状态机 环境配置 1.下载GLFW源代码 2.创建librarel文件包含include目录和第三方库libs 3.include直接从GLFW的源代码中拿,libs里需要编译生成的库glfw3.lib。 4.通过CMake编译源代码拿到glfw3.lib。 5.将我们的librarel加入编辑器的包含文件和库目录里&#xff0…

2026/7/6 21:34:28 阅读更多 →
初入编程世界感觉眼花缭乱?

初入编程世界感觉眼花缭乱?

眼花缭乱有没有?抽象理解第一个C语言程序1. C语言是什么概括:多用于底层开发的,面向过程的编程语言2. 上来就写程序?我开始也觉得不合理,哪有上来就敲代码嘛...QAQ其实不然,一个最简单的“Hello world”程序…

2026/7/6 21:34:28 阅读更多 →
@Async异步线程:Spring 自带的异步解决方案

@Async异步线程:Spring 自带的异步解决方案

前言 在项目应用中,使用MQ异步调用来实现系统性能优化,完成服务间数据同步是常用的技术手段。如果是在同一台服务器内部,不涉及到分布式系统,单纯的想实现部分业务的异步执行,这里介绍一个更简单的异步方法调…

2026/7/6 21:30:26 阅读更多 →

最新新闻

如何快速获取音乐歌词:一站式歌词下载解决方案

如何快速获取音乐歌词:一站式歌词下载解决方案

如何快速获取音乐歌词:一站式歌词下载解决方案 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 还在为找不到音乐歌词而烦恼吗?163MusicLyrics是一…

2026/7/6 22:21:04 阅读更多 →
直流电机驱动系统优化:TC78H660FTG与PIC18F87J11方案

直流电机驱动系统优化:TC78H660FTG与PIC18F87J11方案

1. 项目背景与核心器件选型 在工业自动化和消费电子领域,直流电机驱动系统的效率优化一直是工程师面临的关键挑战。TC78H660FTG作为东芝新一代H桥驱动器,与Microchip的PIC18F87J11微控制器组合,为解决这一问题提供了创新方案。 1.1 TC78H66…

2026/7/6 22:19:03 阅读更多 →
Flink Web UI未授权访问漏洞修复实战:从原理到Nginx反向代理加固

Flink Web UI未授权访问漏洞修复实战:从原理到Nginx反向代理加固

1. 项目概述:一次真实的Flink安全加固实战最近在梳理线上数据平台的资产时,安全扫描工具突然弹出一个高危告警:Apache Flink Web Dashboard存在未授权访问漏洞。这个告警让我心头一紧,因为这意味着任何能访问到Flink Web UI地址的…

2026/7/6 22:15:01 阅读更多 →
基于Playwright与飞书API构建电商数据自动化采集与同步系统

基于Playwright与飞书API构建电商数据自动化采集与同步系统

1. 项目概述:当飞书多维表格遇上Playwright自动化最近在帮一个做电商的朋友解决一个头疼事:他每天要手动去几个不同的电商平台后台,把各个商品的销量、库存、评价数抄下来,再填到飞书多维表格里做数据分析。这事儿听着就累&#x…

2026/7/6 22:15:01 阅读更多 →
6D 位姿估计 2024 综述:从 PnP 到 FoundationPose 的 3 大范式演进

6D 位姿估计 2024 综述:从 PnP 到 FoundationPose 的 3 大范式演进

6D位姿估计2024全景:从PnP到FoundationPose的技术跃迁与产业落地1. 技术演进的三次浪潮在增强现实导航手术机器人和智能仓储分拣系统中,精确的物体空间定位能力正成为关键瓶颈。6D位姿估计(3D位置3D旋转)技术历经三次方法论革新&a…

2026/7/6 22:13:00 阅读更多 →
Python Playwright自动化实战:从截图到表单提交的完整指南

Python Playwright自动化实战:从截图到表单提交的完整指南

1. 项目概述:为什么选择Playwright做自动化最近在帮团队处理一个重复性的网页操作任务,需要每天定时登录几个后台系统,截图保存数据报表,再提交一些固定的表单。手动操作不仅耗时,还容易出错。一开始我考虑过Selenium&…

2026/7/6 22:10:59 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻