网络文件系统NFS network file systme 是一种将远程主机上的分区经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地分区分区一样对远程主机的共享目录进行操作。
嵌入式linux的NFS开发环境的实现包含两个方面.
1.linux服务器端的NFS服务器支持。
2.嵌入式目标系统的NFS客户端的支持。
为此,NFS开发环境的建立需要配置linux服务器端嵌入式目标系统端。
在ubuntu系统下,使用NFS需要首先安装以下NFS的软件包
服务器端:nfs-common nfs-kernel-server portmap
客户端: nfs-common portmap
注意:目标板上的linux系统有linux内核和busybox共同提供对NFS的支持,不必安装其他的NFS客户端。
安装服务器端软件包的命令:
- sudo apt-get install nfs-kernel-server
安装nfs-kernel-server时,apt会自动安装nfs-common,portmap。
需要配置/etc/exprots
在exprots中设置的语法
举例说明:
/home/share 192.168.1.15 (rw,sync) *(ro)
配置说明:对IP地址为192.168.1.15的客户端赋予读写权限,其他IP地址的客户端仅有只读权限。
/home/share 192.168.1.* (rw,sync,no_root_squash)
配置说明:允许IP地址范围在192.168.1.*的计算机以读写的权限来访问/home/share目录
/home/share *(rw,no_root_squash)
配置说明:/home/share目录允许所有的IP以读写的权限来访问
参数的说明,下面的链接有详细说明
http://blog.csdn.net/Test_sunny/archive/2010/04/08/5463587.aspx自己在这次NFS建立中,
- # /etc/exports: the access control list for filesystems which may be exported
-
# to NFS clients. See exports(5).
-
#
-
# Example for NFSv2 and NFSv3:
-
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
-
#
-
# Example for NFSv4:
-
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
-
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
-
#
- 添加了下面的一行
-
/home/yu/share *(rw,sync,no_root_squash)
启动关闭 nfs 服务的命令
- yu@ywx:~/mnt$ sudo /etc/init.d/nfs-kernel-server start
-
yu@ywx:~/mnt$ sudo /etc/init.d/nfs-kernel-server stop
-
yu@ywx:~/mnt$ sudo /etc/init.d/nfs-kernel-server restart
在NFS服务器启动后,还需要检查linux服务器的防火墙等设置(一般要关闭防火墙服务),确保没有屏蔽NFS使用的端口和允许通信的主机,主要是检查linux服务器iptables, ipchains 等选项的设置 ,以及/etc/hosts.deny,
/etc/hosts.allow文件,通常在开发中,关闭防火墙。
首先在linux服务器上进行NFS服务器的回环测试,验证共享目录是否能够被访问。
将/home/yu/share 加载到 /home/yu/mnt 下 ,需要等待几秒中
- yu@ywx:~$ sudo mount -t nfs 192.168.109.128:/home/yu/share /home/yu/mnt
-
这里没有空格
查看/home/yu/mnt 下文件,test.txt 就是/home/yu/share中的文件
- yu@ywx:/$ cd /home/yu/mnt/
-
yu@ywx:~/mnt$ ls
-
test.txt
-
yu@ywx:~/mnt$
解除加载
- yu@ywx:~$ sudo umount /home/yu/mnt
参考:《ARM嵌入式linux系统技术开发详解》
阅读(1138) | 评论(0) | 转发(0) |