【Linux开发环境搭建】NFS服务开启与使用、目录挂载与卸载

 一、Ubuntu端配置:

  • Ubuntu下使用以下命令安装NFS服务:

sudo apt-get install nfs-kernel-server portmap

  • 创建一个nfs文件夹,路径: /home/pjw/linux/nfs

mkdir /home/pjw/linux/nfs/
  • 给予NFS目录可读可写可执行权限(文件或文件夹给权限后变为绿色)
sudo chmod 777 /home/pjw/linux/nfs/

如图,建立了nfs文件夹,并放入了zImage文件。

  • 打开 nfs 配置文件/etc/exports

sudo vi /etc/exports
  •  在配置文件中添加如下内容:

/home/pjw/linux/nfs *(rw,sync,no_root_squash)

/home/pjw/linux/nfs:NFS共享目录

*:表示允许所有的网络段访问

rw:访问者具有可读写权限

sync:表示将缓存写入设备中,即同步缓存

no_root_squash:表示访问者具有root权限。 

  • 重启 NFS 服务:

sudo /etc/init.d/nfs-kernel-server restart
  • 查看 NFS 共享目录:
showmount -e

 

二、开发板端配置:

  • 开发板根目录下新建 mountnfs 文件夹(/home/root/mountnfs)
mkdir mountnfs

如图,根文件目录下已建立 mountnfs 文件夹

 

  • 先ping Ubuntu主机,确保网络通讯正常

  • 将Ubuntu(IP:192.168.1.41)上的NFS目录(/home/pjw/linux/nfs)挂载在开发板的/home/root/mountnfs下

mount -t nfs -o nolock,nfsvers=3 192.168.1.41:/home/pjw/linux/nfs mountnfs/ 

如果不加 -onolock,nfsvers=3 ,挂载的时候会出现各种问题,所以我们要指定nfs版本为3。

Ubuntu 17.10 之后 nfs 默认就只支持协议3和协议4,但是 uboot 默认启动的是协议2 。

mount -o vers=4 192.168.1.41:/home/pjw/linux/nfs mountnfs/
  • -o vers=4:表示使用 NFS 文件系统第 4 版本,若不注明版本可能会提示参数错误。
  • dev:目标主机的名字,此处也可以直接使用目标主机的 IP 地址,如本例子的目标机器 IP 192.168.1.41
  • /home/pjw/linux/nfs:远端的主机共享目录。
  • mountnfs/:本地挂载点,即要把远端共享的目录映射到本地的哪个目录。
  • 挂载成功后,进入 mountnfs 文件夹,可以看到文件夹里已经有了zImage,说明开发板通过NFS服务成功访问NFS服务器。

  • 查看挂载目录:​​​​​(df命令)​​

  • 卸载NFS挂载目录:(umount 命令)

问题:提示设备正忙。

解决

1、取消挂载时,先切换到根目录~,再进行 umount 操作。如图所示,卸载成功。

2、(不建议使用)借助fuser命令找出占用目录umount 的所有进程,然后kill掉。

fuser -km /home/root/mountnfs

再运行卸载命令,成功后如图所示,已成功卸载。

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值