NFS服务器的安装和测试

在嵌入式linux开发中,nfs还是比较常用的,通过nfs可以讲开发板程序挂载到宿主机上,更加方便开发。

我们来看看如何安装和使用nfs,一般在ubuntu中默认没有安装nfs,需要手动安装一下

$ sudoapt-get install nfs-kernel-server

上述命令默认也会安装nfs客户端,所以我们可以直接在宿主机上既做服务器,又做客户端来测试一下nfs功能。

安装之后,我们需要设置一下nfs,都有什么需要设置呢?首先那个文件夹作为共享文件夹的,然后谁可以访问这个共享文件夹呢?共享文件夹有什么权限呢?

我们进入/etc/exports文件

添加

/nfs/rootfs  *(rw,sync,no_subtree_check,no_root_squash)

/nfs/rootfs  共享的目录

*                 表示任何客户端都可以连接我(可以设置为特定的 比如192.168.1.100)

rw               共享目录可读可写

sync:        将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;

no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

no_root_squash:来访的root用户保持root帐号权限;

基本的设置就是这些了。

我们重启一下nfs服务器

$ sudoservice nfs-kernel-server restart

$sudo /etc/init.d/nfs-kernel-serverrestart

我们来简单测试一些nfs服务器

NFS服务器的安装和测试_第1张图片

mount [-t vfstype] [-o options] device dir 
mount 的用法,-t表示挂载文件系统 nfs表示挂载nfs文件系统

我的IP是192.168.43.143 将这台主机的/home/yuming/nfs/rootfs 挂载到/mnt下,在/mnt下创建文件并输入“hello world”,然后再cat一下挂载目录下的hello文件。



开发板与宿主机通过NFS连接,有时候会会出现下列问题:connection refused



 nfs mount 默认选项包括文件锁,依赖于portmap提供的动态端口分配功能。
        解决方法:kill 文件锁(lockd)或者mount -o nolock

 

        于是尝试mount -o nolock -t nfs 192.168.43.143:/home/yuming/nfs/rootfs /mnt,正常工作。



你可能感兴趣的:(Linux,学习)