ubuntu19版本配置nfs内核服务

20 篇文章 2 订阅

参考:
1.百度百科–nfs
2.NFS exports参数说明
3.uboot 无法通过 nfs 启动 Ubuntu 18.04 内的根文件目录
什么是nfs?
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

nfs的应用
在嵌入式中的应用:
在嵌入式交叉开发中,我们常常把“根文件”系统放在主机上,然后在开发板启动的时候通过nfs来挂载主机上的根文件系统。这样省去了每次都要把文件系统烧写到存储设备上的步骤,提高了开发效率。

在ubuntu系统中安装nfs内核服务:

sudo apt-get install nfs-kernel-server

在/etc/exports下配置nfs文件,添加目标系统的根文件系统映射目录,我这边的根文件系统是放在在/opt/rootfs目录下。

sudo vim /etc/exports

在这里插入图片描述
则在exports文件里添加内容:/opt/rootfs *(subtree_check,rw,no_root_squash,async)
在这里插入图片描述
保存后,重启nfs服务

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

sudo exportfs -a(最好每修改过/etc/exports 后需要执行一次)

查看nfs服务是否开启

showmount -e

在这里插入图片描述
出现/opt/rootfs *信息表示挂载成功

这里需要注意的是,将文件系统挂载到嵌入式linux目标版时,由于这里使用的ubuntu版本是19的,ubuntu 17.10之后的nfs默认就只支持协议3和协议4,但是uboot默认启动的是协议2,要想让nfs支持协议2,就得在/etc/default/nfs-kernel-server添加RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog",然后重新启动nfs服务。
具体步骤如下:

 sudo vim /etc/default/nfs-kernel-server
 然后在末尾添加:

在这里插入图片描述
测试:

挂载文件系统:/opt/rootfs

sudo mount 192.168.10.136:/opt/rootfs /mnt

查看mnt下是否可以看到rootfs中的内容。

nfs常用参数:
ro 只读访问

rw 读写访问

sync 所有数据在请求时写入共享

async NFS在写入数据前可以相应请求

secure NFS通过1024以下的安全TCP/IP端口发送

insecure NFS通过1024以上的端口发送

wdelay 如果多个用户要写入NFS目录,则归组写入(默认)

no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。

hide 在NFS共享目录中不共享其子目录

no_hide 共享NFS目录的子目录

subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)

no_subtree_check 和上面相对,不检查父目录权限

all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。

no_all_squash 保留共享文件的UID和GID(默认)

root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)

no_root_squash root用户具有根目录的完全管理访问权限

anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID

anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值