以前就听说过nfs服务,但是一直没有用,在学习制作根文件系统的时候,才算是真正用上它了,我感觉它还不错,通过它“挂载”制作好的根文件系统。它在嵌入式中的角色就用下面的一张图说明吧!
由图可知,需要两台机器,一台做NFS Server,一台做NFS Client。那么我们先来安装NFS Server。
注意:我的NFS Server端使用的是Ubuntu14.04 而NFS Client端使用的是Ubuntu12.04.
1、执行如下命令,安装NFS Server:
sudo apt-get install nfs-kernel-server
2、执行如下命令,创建一个文件夹作为你想分享的文件夹,即想被NFS Client mount的文件夹:
mkdir -p /home/adminuser/share
注意:这个文件夹最好在当前用户有权限的目录下创建,方便且不易出错。
3、执行如下命令,配置NFS Server:
sudo vim /etc/exports
在最后一行添加: /home/adminuser/share *(rw,sync,no_root_squash,no_subtree_check)
注意:红色的目录,和第二步创建的目录是同一个,下面讲一下黄色的配置的大概意思:
*:允许所有的网段访问,也可以使用具体的IP
rw:挂接此目录的客户端对该共享目录具有读写权限
sync:资料同步写入内存和硬盘
no_root_squash:root用户具有对根目录的完全管理访问权限。
no_subtree_check:不检查父目录的权限。
修改完上述文件之后保存退出。
4、执行如下命令,重启服务:
sudo service portmap restart
或
sudo /etc/init.d/portmap restart
NFS是一个RPC程序,使用它之前,需要映射好端口,通过portmap设定。
之后重启NFS服务:
sudo service nfs-kernel-server restart
或
sudo /etc/init.d/nfs-kernel-server restart
如果都启动成功,那么NFS Server端就算配好了。接下来开始配置NFS Client端。
我的NFS Server的IP地址是:172.16.155.147,我要先试试这个服务器可不可用,使用如下命令:
showmount -e 172.16.155.147
结构出现了如下信息,需要先安装nfs-common,那没办法,就先安装吧
执行如下命令,安装nfs-common:
sudo apt-gete install nfs-common
安装完成后,再试一试showmount -e 172.16.155.147,结果如下图所示:
现在可以看到NFS Server端的那个共享目录了,接下来,我想把他挂载到我本地的/home/darren/share 目录下
创建share目录:
mkdir -p /home/darren/share
挂载NFS Server上的目录:
sudo mount -t nfs 172.16.155.147:/home/adminuser/share /home/darren/share
挂载后已经可以看到NFS Server上的内容了,OK,到此大功告成。
参考:
Ubuntu 12.04下NFS安装配置图解 http://www.linuxidc.com/Linux/2013-08/89154.htm
Ubuntu 14.04中挂载其它NFS服务器的文件系统 http://www.linuxidc.com/Linux/2014-04/100496.htm