NFS服务器与客户端的安装于配置

从网上找了些有关NFS安装预配置的资料,结合自己的实践,对NFS的搭建作了一下笔记(很多内容摘自网络)。

        为何要搭建NFS? 

在嵌入式 linux 开发的时候,常常需要使用 nfs 以方便程序的调试。使用 nfs,用户可以将板子要用到的

根文件系统放在主机目录下,开发板则通过以太网挂载到这个目录并将这个目录下的文件作为根文件系统的内容,这

样用户的程序更新后不必重新烧写板子的根文件系统便能被重新使用,这点能够大大加快程序的调试。 

ubuntu 下安装 nfs 服务器的步骤如下: 

1、进行 NFS 服务器端与客户端的安装(在PC安装客户端的作用是可以在PC本机进行 NFS 服务的测试): 

sudo apt-get install nfs-kernel-server   nfs-common   portmap 

2、NFS的配置:

     配置/etc/exports文件
     sudo vim /etc/exports

在exports的最后加入如下的内容并保存

/home/rootnfs *(rw,sync)

解释一下:

  /home/rootfs 是 NFS 的共享目录,*表示任何 IP 都可以共享这个目录,你可以改为受限的 IP,rw表示的是权限,sync 是默认的。 

nfs常用的参数有:

  ro 只读访问
rw 读写访问sync 所有数据在请求时写入共享
async nfs在写入数据前可以响应请求
secure nfs通过1024以下的安全TCP/IP端口发送
insecure nfs通过1024以上的端口发送
wdelay 如果多个用户要写入nfs目录,则归组写入(默认)
no_wdelay 如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置。
hide 在nfs共享目录中不共享其子目录
no_hide 共享nfs目录的子目录
subtree_check 如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)
no_subtree_check 和上面相对,不检查父目录权限
all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash 保留共享文件的UID和GID(默认)
root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squas root用户具有根目录的完全管理访问权限
anonuid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的UID
anongid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的GID

3、重启 NFS 服务 
sudo /etc/init.d/portmap restart
sudo /etc/init.d/nfs-kernel-server restart   

4、本机进行测试 
     4.1 显示出共享出来的目录
     $ showmount -e
     4.2 将nfs的/home/rootnfs目录挂载到本地磁盘上。
     $ sudo mount -t nfs localhost:/home/rootnfs /mnt
     4.3 查看挂载情况
     $ df
     4.4 卸载
     $ sudo umount /mnt
5、 在开发板上测试(将主机的/home/rootnfs挂载到开发板的/mnt目录,PC中的ubuntu虚拟机的IP为192.168.0.20
mount -t nfs -o nolock 192.168.0.20:/home/rootnfs /mnt



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章