一、NFS介绍
NFS(Network File System,网络文件系统)是由SUN公司发展,并于1984年推出的技术,用于在不同机器,不同操作系统之间通过网络互相分享各自的文件。NFS设计之初就是为了在不同的系统间使用,所以它的通讯协议设计与主机及操作系统无关。
NFS分服务器和客户机,当使用远端文件时只要用mount命令就可把远端NFS服务器上的文件系统挂载在本地文件系统之下,操作远程文件与操作本地文件没有不同。NFS服务器所共享文件或目录记录在/etc/exports文件中。
嵌入式Linux开发中,会经常使用NFS,目标系统通常作为NFS客户机使用,Linux主机作为NFS服务器。在目标系统上通过NFS,将服务器的NFS共享目录挂载到本地,可以直接运行服务器上的文件。在调试系统驱动模块以及应用程序,NFS都是十分必要的,并且Linux还支持NFS根文件系统,能直接从远程NFSroot启动系统,这对嵌入式Linux根文件系统裁剪和集成也是十分有必要的。
二、NFS服务器安装和配置
Ubuntu 14.04上默认是没有安装NFS服务器的。下边介绍具体的步骤
1、 首先要安装NFS服务程序:
sudo apt-get install nfs-kernel-server
上述说明:安装nfs-kernel-server时,apt会自动安装nfs-common和portmap。
2、 配置 NFS 文件系统服务
sudo gedit /etc/exports
修改/etc/exports文件,
上述说明:NFS 服务端是通过读入它的配置文件“/etc/exports”来决定所共享的文件目录的、权限。
添加如下内容,
/opt/nfs *(rw,sync,no_root_squash,no_all_squash)
上述说明:比如我要将的/opt/nfs目录让*的ip共享, 则在该文件末尾添加上述语句。也可用192.168.1.*代替*,表示192.168.0开头的ip都可以,这里的*号表示第四段随便是什么都可以,当然要在255内。
然后,保存退出即可。
3、启动NFS服务
sudo service nfs-kernel-server start
三、 本地验证NFS服务器
将NFS服务器目录挂载到本机另外一个目录下,可以看到挂载点目录下可以看到NFS服务器目录中的文件。
sudo mount -t nfs 127.0.0.1:/opt/nfs /mnt
ls /mnt
sudo umount /mnt/
三、用开发板验证NFS服务器是否可用
连好串口线、网线,启动target开发板,进入系统。在命令提示符下,配置好开发板的IP地址和服务器IP地址。
target# mount -t nfs 192.168.1.3:/opt/nfs /mnt -o nolock
target# ls /mnt
target# umount /mnt/
挂载成功后,可以在开发板的/mnt目录下看到NFS服务器上的文件。
说明:使用开发板与虚拟机安装的客户系统进行NFS挂载,需要将虚拟网卡设置为Bridged模式,并建议使用静态IP地址。
**********************************************************************************************************************************************************************
[附录] etc/exports配置文件的书写规范