【Linux】新唐NUC977挂载NFS实现网络文件传输

简介: 【Linux】新唐NUC977挂载NFS实现网络文件传输

前言


相关简介:

  NFS(Network File System)即网络文件系统,是 FreeBSD 支持的文件系统

中的一种,它允许网络中的计算机之间通过 TCP/IP 网络共享资源。在 NFS 的应

用中,NFS 的客户端应用可以透明地读写位于远端 NFS 服务器上的文件,就像访

问本地文件一样。

  使用 NFS,可以很方便的将 PC 上编译好的程序或者一些其他文件复制到开发

板上调试,省去了频繁插拔 U 盘的繁琐。

  要实现 NFS 文件系统,需要现在 PC 的 Ubuntu 系统搭建好 NFS 服务器,并设

置共享目录,开发板挂载该共享目录,达到文件传输的功能。


完成目标:

  虚拟机编译c文件,将编译好的文件拷贝到共享目录,,开发板挂载共享目录并拷贝文件到开发板目录中运行。


一、虚拟机Ubuntu配置

Ubuntu 安装 NFS 服务

sudo apt-get install nfs-kernel-server

修改 NFS 配置文件

vim /etc/exports

在最后一行添加:

/srv/nfs4 *(insecure,rw,sync,no_subtree_check)

参数说明:

  • /srv/nfs4 : nfs服务器共享的目录(需要本身存在,记得创建否则会挂载失败)。
  • :代表允许所有的网段访问(也可以使用具体的IP)
  • rw:挂接此目录的客户端对该共享目录具有读写权限
  • sync:资料同步写入内存和硬盘
  • no_subtree_check:不检查父目录的权限。

重启 NSF 服务器

/etc/init.d/nfs-kernel-server restart

查看本机地址验证本机nfs服务开启是否成功

mount -t nfs -o nolock 192.168.190.128:/srv/nfs4 /mnt

参数说明:

  • 192.168.190.128:NSF服务器的IP地址
  • /srv/nfs4 :共享目录所在的文件夹,应与搭建服务器是设置的相同
  • /mnt :共享目录的挂载地址

然后我们使用交叉编译器编译一个文件先放在共享目录中,方便开发板待会儿运行使用;

#include <stdio.h>
int main()
{
    printf("hello world!\r\n");
    return 0;
}

二、开发板挂载

保证开发板与电脑是在同一个局域网

ifconfig eth0 up  # 打开网卡
udhcpc -i eth0  # dhcp分配IP

电脑和虚拟机以及开发板三者互ping完成通讯表示网络配置成功,然后就可以执行下面的操作;

这里我也搞了好久

好不容易ping通了还是无法挂载

这里的原因是内核不支持nfs,解决办法是在内核图形化配置中配置下面的选项

File systems—>

[*] Network File Systems —>

mount -t nfs -o nolock 192.168.1.6:/srv/nfs4 /mnt
cp /mnt/main ./
./main

执行效果

最后

Linux开发少不了文件的传输,挂载U盘、nfs都是传输文件的一种手段

本章需要注意的点:

  • 电脑与开发板一定是要在同一局域网下
  • 内核需要开启nfs支持
  • 编译运行文件需要使用交叉编译器编译

这里还可以设置一个开机启动自动进行上面的设置大大缩短开发的时间

vi /etc/init.d/rcS

在文件末添加

ifconfig eth0 up  # 打开网卡
udhcpc -i eth0  # dhcp分配IP
mount -t nfs -o nolock 192.168.1.6:/srv/nfs4 /mnt

2022-7-22补充开发板挂载nfs无法创建文件到PC端

修改权限

vim /etc/exports
#/srv/nfs4 *(insecure,rw,sync,no_subtree_check)  # 屏蔽之前的
 /srv/nfs4 *(insecure,rw,sync,no_root_squash)
/etc/init.d/nfs-kernel-server restart


相关文章
|
5月前
|
安全 Linux 网络安全
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
162 0
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
|
6月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
419 18
|
6月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
317 5
|
7月前
|
Web App开发 网络协议 Linux
【Linux】网络基础
TCP/IP五层模型是网络通信的基础框架,将复杂的数据传输过程分为物理层、数据链路层、网络层、传输层和应用层,每层各司其职,协同完成远程通信。该模型确保了不同设备和网络之间的互联互通,是现代互联网运行的核心机制。
594 5
|
7月前
|
网络协议 Linux 开发者
深入Linux中UDP网络通信机制编程探索
以上步骤概述了Linux中UDP网络通信的编程机制。在实现时,因关注细节和上下文环境可能有所调整,但大致流程是一致的。这些知识片段旨在帮助开发者快速上手Linux下的UDP编程,并提供可靠的信息作为编程的基础。在编程实践中,应结合实际业务需求,设计合适的数据传输协议,确保数据的正确性和实时性。
187 0
|
9月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
262 18
|
9月前
|
Linux 数据安全/隐私保护
使用Linux命令行接入无线网络Wi-Fi的示例。
现在,你已经使用命令行成功地连接到 Wi-Fi 网络了。这两个示例涵盖了用 `nmcli` 和 `wpa_supplicant` 连接无线网络的常见场景,让你能够不依赖图形化界面来完成这个任务。在日常使用中熟练掌握这些基本操作能增强你对 Linux 系统的理解,帮助你更有效地处理各种问题。
760 12
|
9月前
|
安全 Ubuntu Linux
Nipper 3.8.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.8.0 for Windows & Linux - 网络设备漏洞评估
356 0
Nipper 3.8.0 for Windows & Linux - 网络设备漏洞评估
|
11月前
|
Ubuntu Linux
Linux系统管理:服务器时间与网络时间同步技巧。
以上就是在Linux服务器上设置时间同步的方式。然而,要正确运用这些知识,需要理解其背后的工作原理:服务器根据网络中的其他机器的时间进行校对,逐步地精确自己的系统时间,就像一只犹豫不决的啮齿动物,通过观察其他啮齿动物的行为,逐渐确定自己的行为逻辑,既简单,又有趣。最后希望这个过程既能给你带来乐趣,也能提高你作为系统管理员的专业素养。
1792 20
|
11月前
|
JSON 运维 Ubuntu
Linux下如何使用Curl进行网络请求
希望这篇文章能帮助您在Linux下更好地使用Curl进行网络请求。如有疑问,请随时提问!
616 10

热门文章

最新文章