【Linux学习】启用NFS服务并挂载
20240924
启用NFS服务并挂载
下载软件包
sudo apt-get install nfs-kernel-server
配置NFS
gedit /etc/exports
末尾添加:
/home/nfs/ *(rw,sync,no_root_squash)

/home/nfs/:指示要共享的目录;“/home/nfs/ ”目录需要自己创建。
*:代表允许所有的网络段访问。rw:指示具有可读写的权限。sync:指示资料同步写入内存和硬盘no_root_squash:是 Ubuntu nfs 客户端分享目录使用者的权限。例如:如果客户端使用的是
root 用户,那么对于该共享目录而言,该客户端就具有 root 权限。
使用以下命令重新启动rpcbind服务:
/etc/init.d/rpcbind restart
启动nfs服务
使用以下命令重新启动nfs服务:
/etc/init.d/nfs-kernel-server restart
验证nfs
使用以下命令:
showmount -e
显示/home/nfs *表示挂载成功
可能需要重启系统才成功。
挂载到硬件板卡
在硬件板卡linux命令行终端下使用以下命令:
mount -t nfs -o nfsvers=3,nolock 192.168.0.12:/home/nfs /mnt/
随后,我们便可以在板卡上使用:
cd /mnt/
来访问Linux内的文件了。
如果不使用nfs了,我们可以使用:
umount /mnt/
卸载nfs挂载服务。
NFS挂载问题
NFS failed: Protocol not supported No such device
这里需要注意的是,将文件系统挂载到嵌入式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
然后在末尾添加:
RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"

