NFS即网络文件系统。通过NFS可以将其某台计算机的目录通过挂载共享给其他计算机(如开发板),能提高开发和测试程序的效率。在我开发手机程序和开发板时经常使用。
整个过程其实很简单,特别是客户端。
服务端:
先安装nfs服务
sudo apt-get install nfs-kernel-server
/etc/exports加入:
/path_to_be_mount *(rw,fsid=0,insecure,no_root_squash,no_all_squash,async)
格式:目录 客户机(选项) 客户机(选项) …… 默认的选项是sync,ro,root_squash,no_delay常用的参数 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
重启服务
sudo /etc/init.d/nfs-kernel-server restart
客户端(如开发板):
只要先运行portmap就可以挂载了。
portmapmount -t nfs -o nolock server_ip:/path_to_be_mount nfs_mount_path
参考资料:
https://help.ubuntu.com/community/SettingUpNFSHowTo
http://www.freebsd.org/doc/zh_CN/books/handbook/network-nfs.html
http://hi.baidu.com/zzcqh/blog/item/8bca0089729e14bb0f2444bb.html