07-挂载NFS网络文件系统

网络文件系统

网络文件系统,常被称为NFS(Network File System),它是一种非常便捷的在服务器与客户端通过网络共享文件的方式。

开启了NFS服务后,客户端访问服务器共享文件时如同访问本地存储器(SD卡/磁盘等等)上的文件一样,在嵌入式开发时,我们常常利用这个特性在主机上共享文件,主要有以下应用:

  • 在NFS服务器上编译应用软件,客户端(开发板)通过NFS访问并运行应用程序进行测试。
  • 把NFS作为根文件系统来启动

至于为什么这样应用,服务器端的硬件相比开发板更加好,有时候开发板的硬件条件不能够编译软件是可以用服务器端来编译,一方面提高开发效率,还有一方面节省开发板的空间。

NFS环境搭建

开发主机(Ubuntu18.04)

连接到局域网

应用场景中开发主机和开发板需要通过网络互相访问,另外由于NFS文件系统暴露到公网需要处理很多安全问题,为简化操作,只把开发主机和开发板连接到局域网,即都使用网线把它们连接到同一个网段(还没学网络,不知道这个说法对不对,有错希望指出)。

开发主机的虚拟机网络配置改成“桥接网卡”:
在这里插入图片描述

互ping测试

开发板和主机连接好网络后,相互之间进行互ping测试,通过命令ifconfig查看网络接口的信息可以看到IP地址。

如果使用ifconfig命令提示找不到命令,使用如下命令安装:

sudo apt install net-tools
安装NFS服务

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

sudo apt install nfs-kernel-server
配置NFS

安装NFS服务后,虚拟机会新增一个/etc/exports文件(即/etc目录下名字为exports的文件),NFS服务根据它的配置来运行。

使用如下命令打开exports文件来配置:

sudo vim /etc/exports

在文件末尾(不能在文字后面接着,另起一行)添加如下语句:

# 以下内容是虚拟机要共享的文件夹,IP地址等等,根据实际环境进行修改
/home/gu/workdir *(rw,sync,no_root_squash)
创建共享目录

使用如下命令在主机(虚拟机)上创建共享文件目录:

mkdir /home/gu/workdir
更新exports配置

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

sudo exportfs -arv
查看NFS共享情况

使用showmount -e可查看当前NFS服务器的加载情况,具体如下图:
在这里插入图片描述

开发板安装NFS客户端

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

sudo apt install nfs-common -y

查看NFS服务器共享目录
安装好NFS客户端后在开发板上执行showmount -e+“NFS服务器IP”命令,不同网络环境下,NFS服务器(开发主机)IP可能不一样,以实际情况为准。

如果显示出的结果有之前在开发主机上设置好的共享文件路径,则表示成功。

临时挂载NFS文件系统

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

sudo mount -t nfs 主机IP:/home/gu/workdir /mnt

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

  • -t nfs:指定挂载的文件系统格式为nfs。
  • 主机IP:指定NFS服务器的IP地址。
  • /home/gu/workdir:指定NFS服务器的共享目录。
  • /mnt:本地挂载目录,即要把NFS服务器的共享目录映射到开发板的/mnt目录下。

如果挂载成功,终端不会有输出,Linux的哲学思想是“没有消息便是好消息”。

挂载只是临时的,开发板在重启后需要重新使用命令挂载该NFS目录才能访问。

取消挂载

命令如下:

# 以下命令在开发板上运行
sudo umount /mnt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值