挂载 NFS 网络文件系统(PC虚拟机与开发板实现文件互通)

本文档详细介绍了如何在Ubuntu主机上配置NFS服务,以便与开发板进行文件共享。首先确保主机和开发板可以ping通,然后在主机上安装NFS服务,配置/etc/exports文件,设定共享目录和访问权限。接着在开发板上安装NFS客户端,并使用mount命令挂载主机的共享目录。整个过程旨在简化开发过程中文件的传输和访问。
摘要由CSDN通过智能技术生成

准备阶段:

1.主机和开发板可以ping通

如果用的是vmware则是以下步骤

 配置成这样就可以

互ping若可以ping通则OK(确保在同一局域网下)

 

sudo apt install net-tools

(安装ifconfig可查询网卡信息)


2.在开发主机上开启NFS服务

Ubuntu 系统默认没有安装 NFS 服务,需要使用如下命令安装 NFS 服务端软件:

# 以下命令在主机上运行 

sudo apt install nfs-kernel-server

在配置 NFS 时需要使用到用户 uid 和组 gid,可使用 id 命令查看,在开发主机上的终端输入如下 命令:

# 以下命令在主机上运行

id

安装 NFS 服务后,会新增一个/etc/exports 文件(即/etc 目录下名字为 exports 的文件),NFS 服务 根据它的配置来运行,其默认内容可通过命令 cat /etc/exports 查看,

使用 vim 打开/etc/exports 文件命令如下:

# 以下命令在主机上运行,可用 gedit 替换 vim

sudo vim /etc/exports

在/etc/exports 文件末尾添加如下语句并保存,注意如下语句写到/etc/exports 文件是在同一行。

/home/embedfire/workdir 192.168.0.0/24(rw,sync,all_squash,anonuid=998,anongid=998,no_subtree_check)

注意具体的配置需要根据自己的实验环境进行配置,请理解如下说明根据自己的实验环境进行 修改:

• /home/embedfire/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:不检查子目录权限,默认配置。 本配置中的 anonuid 和 anongid 把客户机的用户映射成本地 uid/gid 为 998 的用户,即开发主机 的 embedfire,那么当在开发板上使用与开发主机不同的用户访问 NFS 共享目录时,都会具有 embedfire 的权限,方便互相访问。如开发板上的 root 用户创建文件,在开发主机上会被认为是 embe dfire 创建的;在开发主机上仅 embedfire 能读写的文件,在开发板上的 root 或其它用户也能 对该文件进行读写(被当成了 embedfire)。当然这并不是一种安全的访问设置方式,不过这用在 我们的开发中是非常方便的配置。

为 了 确 保 共 享 的 配 置 有 效, 我 们 还 需 要 创 建 共 享 的 目 录, 在 本 例 子 中 共 享 的 目 录 为/home/embedfire/workdir。

# 以下命令在主机上运行

mkdir /home/embedfire/workdir

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

# 以下命令在主机上运行

sudo exportfs -arv

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

# 以下命令在主机上运行

showmount -e

若还不行则重启一下nfs服务

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

3.开发板安装nfs服务

开发主机开启 NFS 服务后,我们还需要在开发板安装 NFS 客户端,来让开发板使用 NFS 服务。 执行安装 NFS 客户端命令:

sudo apt install nfs-common -y

查看 NFS 服务器共享目录 在开发板上执行“showmount -e +“NFS 服务器 IP””命令。

注意在不同网络环境下,NFS 服务器 IP 可能不一样,以实际情况为准。

showmount -e 192.168.0.219

如下图:

使用 mount 命令挂载 NFS 服务器的共享目录到开发板/mnt 目录下:

注意: 需要把下面的 192.168.0.219 设置为用户实际网络环境下的 NFS 服务器 IP

# 以下命令在开发板上运行

sudo mount -t nfs 192.168.0.219:/home/embedfire/workdir /mnt

以上命令使用的各个参数如下:

• -t nfs:指定挂载的文件系统格式为 nfs。

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

• /home/embedfire/workdir:指定 NFS 服务器的共享目录。

• /mnt:本地挂载目录,即要把 NFS 服务器的共享目录映射到开发板的/mnt 目录下。 若挂载成功,终端不会有输出,Linux 的哲学思想是“没有消息便是好消息”。

如下图:

mount -t nfs -o nolock 192.168.0.219:/home/embedfire/app /mnt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值