Chinaunix首页 | 论坛 | 博客
  • 博客访问: 468532
  • 博文数量: 150
  • 博客积分: 2706
  • 博客等级: 少校
  • 技术积分: 1200
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-09 11:41
文章分类

全部博文(150)

文章存档

2012年(7)

2011年(6)

2010年(68)

2009年(69)

我的朋友

分类: LINUX

2009-11-11 17:37:52


在redhat9.0创建tfp服务器和安装nfs系统
 
因为工作的需要,在用freescale的开发板iMX21时要首先架设tftp服务器和安装nfs支持系统在redhat上,
以下是我的学习安装经历:
(redhat9.0 2.4.20-8)
TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的 tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为u- boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。下面就详细介绍一下linux服务器端tftp-server的配置。
首先
在redhat 9.0的第三张光盘中,有tftp-server的安装rpm包。
tftp-0.32-4.i386.rpm
tftp-server-0.32-4.i386.rpm        
(1)        安装
#mount   –t   iso9660   /dev/hdc   /mnt/cdrom     //挂载光盘
#rpm   -ivh   tftp-server-0.32-4.i386.rpm          //安装
#rpm   -ivh   tftp-0.32-4.i386.rpm          //安装tftp执行命令,如果已经安装了则不用这步
(2)修改文件
在linux下,不管使用的是哪一种super-server,inetd或者xinetd,默认情况下TFTP服务是禁用的,所以要修改文件来开启服务。
根据(1)的安装方法,可以修改文件/etc/xinetd.d/tftp。主要是设置TFTP服务器的根目录,开启服务。修改后的文件如下:
service tftp
{      socket_type             =dgram
        protocol                   =udp
        wait                         =yes
        user                         =root
        server                      =/usr/sbin/in.tftpd
        server_args              =-s   /tftpboot -c
        disable                     =no#default is yes,modify it
        per_source              =11
        cps                          =100 2
        flags                        =IPv4
}
说明:修改项server_args= -s           -c,其中处可以改为你的tftp-server的根目录,参数-s指定chroot(可以自己任意指定),-c指定了可以创建文件。
(3)创建tftp根目录,启动tftp-server。
#mkdir   /tftpboot
#chmod o+w        /tftpboot
#service xinetd restart
这样,tftp-server就启动了。你可以登陆本机测试以下,命令如下:
(4)测试
本机测试
#tftp      your-ip-address
   tftp>get
   tftp>put
   tftp>q
window测试,Windows 2000之后的操作系统自带有客户端
tftp -i 192.168.0.1   get   b.exe 
tftp -i 192.168.0.1   put b.exe 
OK,tfp server架设完毕
NFS系统的安装
NFS服务就是将宿主机的一个目录通过网络可以被挂载到其他计算机上,并且作为其他计算机的一个目录。我们通过NFS可以很方便的将修改的文件通过NFS传输到目标板上。
(1)安装
1、NFS包
-----------
NFS需要5个RPM,分别是:
setup-* : 共享NFS目录在/etc/exports中定义
initscripts-* : 包括引导过程中装载网络目录的基本脚本
nfs-utils-* : 包括基本的NFS命令与监控程序
portmap-* : 支持安全NFS RPC服务的连接
quota-* : 网络上共享的目录配额,包括rpc.rquotad (这个包不是必须的)
redhat9.0下这五个包分别为:nfs-utils- 1.0.1-2.9.i386.rpm,initscripts-7.14-1.i386.rpm,portmap-4.0-54.i386.rpm,setup-2.5.25-1.noarch.rpm,quota-3.06-9.i386.rpm
2、基本监控程序
-------------------
要顺利运行NFS,至少需要五个Linux服务,它们各有不同的功能,有的负责装载服务,有的保证远程命令指向正确的位置。这些服务通过/etc/rc.d/init.d目录中的nfs,nfslock和portmap脚本启动。下面简单介绍每个监控程序:
(1) 基本NFS
rpc.nfsd是NFS服务器监控程序,它通过/etc/rc.d/init.d目录中的nfs脚本启动。NFS监控程序还启动rpc.mountd装载监控程序,并导出共享目录。
(2) RPC装载
可以用mount命令连接本地目录或网络目录,但还需要一个装载NFS目录的特殊监控程序rpc.mountd
(3) 端口映射器
portmap监控程序只是定向RPC通信数据流,但它对于NFS服务很重要。如果不运行portmap,则NFS客户机无法找到从NFS服务器共享的目录。
(4) 重新启动与statd
当NFS服务需要中断或者重新启动时,rpc.statd监控程序和rpc.lockd在服务器重新启动之后使客户机恢复NFS连接。
(5) 锁定
通过共享NFS目录打开文件时,锁定可以使用户不能覆盖同一个文件。锁定通过nfslock脚本并使用rpc.lockd监控程序启动运行。
3. 配置NFS
共享的NFS目录在/etc/exports中列出,这个文件控制对目录的共享。
书写规则是:共享目录 主机(参数)
e.g:/mnt/cdrom *.abc.com(ro,sync) master.abc.com(rw,sync)
上面的规则代表将/mnt/cdrom目录以只读同步方式共享给*.abc.com域,并且以读写同步方式共享给master.abc.com主机。任何共享目录都要指定sync或async,也就是指定文件写入磁盘之前共享NFS目录是否响应命令。
下面是一些NFS共享的常用参数:
ro:只读访问
rw:读写访问
sync:所有数据在请求时写入共享
async:NFS在写入数据前可以相应请求
修改了etc/exports而不想重新启动nfs,只需运行# exportfs -rv 即可
4. 启动NFS Server
# service portmap start
# service nfs start
根据需要设置在相应的运行级别自动启动NFS:
# chkconfig --level 235 portmap on
# chkconfig --level 235 nfs on
如果发现NFS在Linux系统启动后没有自动启动,则在/etc/rc.d/rc.local文件中添加一行
/etc/init.d/nfs restart
另外,还需要查看系统的iptables、/etc/hosts.allow、/etc/hosts.deny是否设置了正确的NFS访问规则。
参考:
5. 启动NFS Client
5.1 显示Server的共享目录
# showmount -e 10.193.10.1

5.2 mount
# mount -t nfs 10.193.10.1:/home/public /home/nfs/public
把10.193.10.1下的/home/public mount到本地/home/nfs/public下
用 df看一下目录mount是否成功
阅读(687) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~