一、确认ubantu和开发板之间是连通的
首先确认 ubantu 和 开发板 在同一个局域网下,并且可以ping得通。
例如在开发板的控制台输入 ping+ip ,ip为ubantu的ip;
ubantu的ip可以通过ifconfig查看;
然后输入命令ping+ip;
ping 192.168.1.104
看到以下情况说明ping得通。
二、安装nfs服务器+客户端
一般ubantu作为服务器,所以在ubantu里输入以下指令安装:
1.第一步建议更新一下(可省略)
sudo apt-get update
sudo apt-get upgrade
2.安装nfs
sudo apt-get install nfs-kernel-server
安装完后在home目录下新建一个nfs的文件夹。
sudo mkdir /home/nfs
3.在配置文件里添加nfs 共享目录
sudo vi /etc/exports
在末行添加入
/home/nfs/ *(rw,sync,no_root_squash)
/home/nfs: nfs共享文件夹的路径,如果想在别的目录下创建共享文件夹的话这里要改;
* :为允许访问的ip,如果指定ip访问这里则是ip地址;如果想所有ip都能访问,这里写 * ;
rw:为客户端的权限,rw为可以读写;
sync:指资料同步写入内存和硬盘;
no_root_squash:当登录 NFS 主机使用共享目录的使用者是 root 时,其权限将被转换成为一名使用者, 通常它的 UID 与 GID 都会变成 nobody 身份;
4.重启nfs服务
sudo /etc/init.d/nfs-kernel-server restart
提示ok说明重启服务成功了
这里可以输入 showmount -e 查看共享文件夹的路径是否是对的
和我们的设置的一致就ok啦!
三、开发板安装nfs客户端
1.开发板输入:
sudo apt-get install nfs-common
2.安装完后查看是否可以看到ubantu共享文件夹,输入:
showmount -e 192.168.1.104
可以看到和我们在ubantu看到的文件夹路径是一致的,说明没有问题。
3.挂载nfs共享文件,输入:
sudo mount -t nfs 192.168.1.104:/home/nfs /mnt
-t nfs :为指定挂载的文件格式为nfs
192.168.1.104:为ubantu服务器的ip地址
/mnt:为本地挂载目录
没有报错说明应该是成功挂载了
四、测试nfs服务
开发板切换到本地所挂载的目录下 /mnt
新建一个文件出来,写入hello world!
这时候切换到ubantu服务器这边,切换到nfs文件夹
看得到当前目录下有一个main.c的文件,可以cat一下里面的内容
说明nfs搭建成功!
五、过程问题
1.开发板在挂载文件时提示access denied by server while mounting(安装时服务器拒绝访问)解决方法:
这个问题有几种可能,我碰到的是因为我的开发板分配的ip太靠后了
解决:在ubantu服务器这端进入到配置nfs共享文件那里
sudo vi /etc/exports
加入insecure 选项,重启nfs服务
重启服务
sudo /etc/init.d/nfs-kernel-server restart
这时候可以发现开发板这边重新挂载就可以成功挂载了。