ubuntu搭载网络文件系统与linux开发板共享资源

2024-02-10 06:59

本文主要是介绍ubuntu搭载网络文件系统与linux开发板共享资源,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

搭建NFS

如果ubuntu是运行在虚拟机上的,首先需要修改ubuntu与windows的网络连接模式,将其修为桥接模式与windows连接网络。

ubuntu以及开发板安装net-toos

sudo apt install net-tools

互ping测试

互相ping的原因是确保设备已经连接上网络,以及查看它们是否处在同一局域网下。

ping 目标主机名或ip地址

开发主机ping开发板
在这里插入图片描述
开发板ping主机
在这里插入图片描述
在上图中开发板使用ifconfig命令可查看到开发板有两个网卡,分别是其两 个网络接口的信息,其中eth1没有接网线,所以不能正常使用,而eth2可看到其IP地 址为192.168.100.3,在开发主机的终端上可使用该IP进行ping测试。根据开发主机的ip和子网掩码,我们可以判断开发主板处于192.168.100.*的网段中, 我们只要保证开发主机网络也在同一个局域网网段中,就能让它们通信。

ubuntu开启NFS服务

安装NFS服务

在ubuntu终端输入以下命令安装nfs服务

sudo apt install nfs-kernel-server
查看用户ID

终端输入命令查看自己主机的用户id

id
配置nfs

安装NFS服务后,会新增一个/etc/exports文件,NFS服务根 据它的配置来运行。打开文件配置nfs,我这里使用后的是vscode作为编辑器。

sudo code /etc/exports --user-data-dir

在/etc/exports文件末尾添加如下语句并保存,注意如下语句写到/etc/exports文件是在同一行,并且example对应自己的ubuntu用户名。

#把以下内容添加至/etc/exports文件末尾,注意以下内容处于同一行
#以下内容的IP地址和uid,gid需要根据自己的环境进行修改
/home/example/workdir 192.168.0.0/24(rw,sync,all_squash,anonuid=998,anongid=998,no_subtree_check)
  • /home/example/workdir:要共享的开发主机目录,注意使用空格与后面的配置隔开。

  • 192.168.0.0/24:配置谁可以访问,其中的/24是掩码,此处表示24个1,即11111111.11111111.11111111.00000000, 即掩码是255.255.255.0。结合前面192.168.0.0表示此处配置IP为 192.168.0.*的主机均可以访问该目录,即局域网上的所有主机。

  • 若局域网是其它网段,请参考此处的配置,不能直接用星号表示,如欲配 置192.168.1.* 的局域网下所有机器都可以访问,则配置为 192.168.1.0/24。

  • 这个配置域也可以直接写可访问的主机名,如把“192.168.0.0/24”替换为开 发板主机名“imx6ull14x14evk”,则仅该开发板能访问共享的目录。

  • rw: 表示客户机的权限,rw表示可读写,具体的权限还受文件系统的rwx及用户身份影响。

  • sync:资料同步写入到内存与硬盘中。

  • anonuid=998:将客户机上的用户映射成指定的本地用户ID的用户,此处998是开 发主机embedfire用户的uid,此处请根据具体的主机用户uid进行配置。

  • anongid=998: 将客户机上的用户映射成属于指定的本地用户 组ID,此处998是开发主机embedfire用户组gid,此处请根据具体的主机用户组gid进行配置。

  • no_subtree_check:不检查子目录权限,默认配置。

创建共享目录

在自己的ubuntu主机上创建自己的共享目录

mkdir /home/username/example_dir

username对应自己ubuntu的用户名,example_dir是自己要创建的共享目录名。

更新exports配置

修改完/etc/exports文件并保存后,可使用exportfs命令更新配置。

sudo exportfs -arv
  • -a:全部mount或umount文件/etc/exports中的内容。

  • -r:重新mount文件/etc/exports中的共享内容。

  • -u:umount目录。

  • -v:在exportfs的时候,将详细的信息输出到屏幕上。
    若配置成功,该命令执行后会列出共享的目录项:
    在这里插入图片描述

查看NFS共享情况

使用showmount –e 可查看当前NFS服务器的加载情况,具体见下图。

showmount -e

在这里插入图片描述

开发板安装NFS客户端

sudo apt install nfs-common -y
查看服务器共享目录
showmount -e 服务器ip(因为在NFS中,ubuntu作为服务器)
挂载临时网络文件系统
sudo mount -t nfs server ip:/home/username/dir/ /mnt
  • -t nfs:指定挂载的文件系统格式为nfs。

  • server ip:指定NFS服务器的IP地址。

  • /home/username/dir:指定NFS服务器的共享目录。username是自己ubuntu的用户名。

  • /mnt:本地挂载目录,即要把NFS服务器的共享目录映射到开发板的/mnt目录下。
    如果挂载成果,终端不会有输出。这时候就可以在开发板看到共享目录下的内容,当然前提是你的共享目录下是有内容的。我们可以在ubuntu上随意创建一个文件或者其他来测试是否挂载成功,比如在ubuntu创建一个文件:

sudo touch example.txt

如果网络文件系统搭载成功就可以在开发板的/mnt目录上看到example.txt文件。

取消挂载

当客户机在网络上无法找到NFS共享的目录时,如开发主机关机时,在NFS的客户机 的终端常常会输出一些提示,或在使用ls命令查看共享目录会导致长时间等待,这时可以对目录使用umount命令取消挂载,示例如下:

在#以下命令在开发板上运行
sudo umount /mnt

使用该命令时以要取消挂载的目录作为参数即可,没有输出表示执行正常。如果 在当前挂载的目录进行umount操作,会提示“device is busy”。建议取消挂载时,先切换到家目录cd ~,在进行umount操作。

这篇关于ubuntu搭载网络文件系统与linux开发板共享资源的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/696435

相关文章

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

Linux中的计划任务(crontab)使用方式

《Linux中的计划任务(crontab)使用方式》:本文主要介绍Linux中的计划任务(crontab)使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言1、linux的起源与发展2、什么是计划任务(crontab)二、crontab基础1、cro

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决