【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


相关文章
|
2月前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
233 7
|
4月前
|
Linux
linux开机挂载镜像
【10月更文挑战第1天】在 Linux 系统中,开机挂载镜像通常涉及几个关键步骤,包括创建挂载点、编辑配置文件以及重新加载配置
167 0
|
4月前
|
Kubernetes 容器
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
264 0
|
6月前
|
Ubuntu Linux
内核实验(四):Qemu调试Linux内核,实现NFS挂载
本文介绍了在Qemu虚拟机中配置NFS挂载的过程,包括服务端的NFS服务器安装、配置和启动,客户端的DHCP脚本添加和开机脚本修改,以及在Qemu中挂载NFS、测试连通性和解决挂载失败的方法。
361 0
内核实验(四):Qemu调试Linux内核,实现NFS挂载
|
6月前
|
运维 Ubuntu 安全
在Linux中,如何配置NFS共享?
在Linux中,如何配置NFS共享?
|
6月前
|
存储 Linux
在Linux中,如何使用fstab文件配置自动挂载?
在Linux中,如何使用fstab文件配置自动挂载?
|
6月前
|
网络协议 Ubuntu Linux
在Linux中,如何使用NFS和Samba共享文件和目录?
在Linux中,如何使用NFS和Samba共享文件和目录?
|
6月前
|
算法 Linux 索引
Linux0.11 根文件系统挂载(四)
Linux0.11 根文件系统挂载(四)
54 0
|
6月前
|
存储 Linux Shell
【应用服务 App Service】App Service For Linux 中如何挂载一个共享文件夹呢? Mount Azure Storage Account File Share
【应用服务 App Service】App Service For Linux 中如何挂载一个共享文件夹呢? Mount Azure Storage Account File Share
|
6月前
|
存储 Linux 网络安全
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)

热门文章

最新文章