Fedora10:NFS文件系统基本设置

Fedora10+win7+2440开发板

NFS:Net File System 的缩写,即网络文件系统 Fedora10 NFS 允许一个系统在网络上与它人共享目录和文件。通过使用 NFS ,用户和程序可以象访问本地文件一样访问远端系统上的文件。嵌入式开发中使用Fedora10 NFS 最显而易见的好处是:

1、因为通常的数据可以存放在 HOST 机器上而且可以通过网络访问到,因此嵌入式的开发空间变得和 HOST 机器一样大,不必再受几十M 之约束了。

2、减少对 Flash 的烧写次数,增加了 Flash 的寿命

3、不必再每改动了一下点就要重新制作文件系统,重新烧写了,开发完全像在 PC 上一样方便。 

注:NFS 由 Sun microsystems公司开发。是一种网络操作系统,是使用底层传输层协议 TCP/IP 的应用层协议。

基本步骤:

1.查看本机物理网卡

IP:192.168.1.12

子网掩码:255.255.255.0

默认网关:192.168.1.1

DNS:192.168.1.1
2.关闭 Fedora10 NFS中的防火墙,#service iptables stop
3.设置虚拟机中的 Linux 为桥接模式: 
a)VM——Setting——Network Adapter , 选择桥接模式 ; 
b)Edit——Virtual Network Settings——Host Virtual Network Mapping , 在 VMnet0 的下拉框中选择计算机的物理网卡 ; 
4.Linux 中,system —— administration —— network —— devices
 —— 双击其中的网卡在出现的对话框中,在下拉列表中设置如下内容:

address:192.168.1.9

subnet mask:192.168.1.1

default gateway address:192.168.1.1

然后在Fedora10中,通过配置/etc/sysconfig/networking/devices/ifcfg-eth0 restart来激活网络配置,也可参考我前一段时间写的Fedora10:桥接方式中介绍的配置静态IP.

5.配置 Fedora10 NFS 服务的共享目录 : 

#gedit  /etc/exports 添加内容

/tftpboot/fs_qtopia  *(rw,sync,no_root_squash) 这个是配置的 Fedora10 NFS 服务的目录,即被其他计算机 mount 的目录 被其他计算机 mount 的 IP (访问权限 * 表示所有的客户机都可以挂接此目录, rw 表示挂接此目录的客户机对该目录有读写权限, no_root_squash 表示允许挂接此目录的客户机享有该主机的 root 身份,即如果客户机上用户是用 root 用户登录的,那么在 Fedora10 NFS 服务器上用户也享有 root 权限) , no_root_squash 选项时挂接的客户机有主机的 ROOT 身份 

设定格式如下:欲分享出去的目录主机名称1或者IP1(参数1,参数2) 主机名称2或者IP2(参数3,参数4)
上面这个格式表示,同一个目录分享给两个不同的主机,但提供给这两台主机的权限和参数是不同的,所以分别设定两个主机得到的权限。
可以设定的参数主要有以下这些:
rw:可读写的权限;
ro:只读的权限;
no_root_squash:登入到NFS主机的用户如果是ROOT用户,他就拥有ROOT的权限,此参数很不安全,建议不要使用。
root_squash:在登入 NFS 
nobody 身份;
all_squash:不管登陆NFS主机的用户是什么都会被重新设定为nobody。
anonuid:将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中。
anongid:同 anonuid ,但是变成 group ID 就是了!
sync:资料同步写入存储器中。
async:资料会先暂时存放在内存中,不会直接写入硬盘。
insecure 允许从这台机器过来的非授权访问。
 
例如可以编辑/etc/exports为:
/tmp     *(rw,no_root_squash)
/home/public 192.168.0.*(rw)   *(ro)
/home/test  192.168.0.100(rw)
/home/linux  *.the9.com(rw,all_squash,anonuid=40,anongid=40)
设定好后可以使用以下命令启动NFS:
/etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默认启动的)
/etc/rc.d/init.d/nfs start
 
exportfs命令:
如果我们在启动了NFS之后又修改了/etc/exports,是不是还要重新启动nfs呢?这个时候我们就可以用exportfs命令来使改动立刻生效,该命令格式如下:
exportfs [-aruv]
-a :全部mount或者unmount /etc/exports中的内容
-r :重新mount /etc/exports中分享出来的目录
-u :umount 目录
-v :在 export 的時候,将详细的信息输出到屏幕上。
具体例子:
[root @test root]# exportfs -rv <==全部重新 export 一次!
exporting 192.168.0.100:/home/test
exporting 192.168.0.*:/home/public
exporting *.the9.com:/home/linux
exporting *:/home/public
exporting *:/tmp
reexporting 192.168.0.100:/home/test to kernel
 
exportfs -au <==全部都卸载了。
6.#lokkit 关闭防火墙 

7. 启动rpcbind服务:service rpcbind start

查看rpcbind服务是否打开:service rpcbind status

8. 启动 Fedora10 NFS 服务器 : #service nfs start, 一旦修改了 /etc/exports , 就要重启 Fedora10 NFS 服务 #service nfs restart,显示 mount 的目录列表 #exportfs 

#mount –t nfs localhost:/tftpboot/fs_qtopia /mnt, 若 Fedora10 NFS 服务正常 (或者 #service nfs status 查看 nfs 的状态) , 则在 /mnt 下看到的内容应该和 /tftpboot/fs_qtopia 下的内容一致 ,应该可以解决问题。运行#service nfs stop 停止 Fedora10 NFS 服务。 

9. 开发板挂载虚拟机中的文件系统

修改开发板上的启动方式,使用命令:set bootargs noinitrd root=/dev/nfs nfsroot=192.168.1.9:/tftpboot/fs_qtopia ip=192.168.1.21:192.168.1.9:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0

具体此命令各部分含义在这里就不详说了

OK,到此NFS挂载文件系统的操作就结束了,接下来你就可以很方便的做开发了


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值