在嵌入式的学习过程中,TFTP服务是我们经常要用的一个服务,不过tftp的用处有很多,之前记得有过利用tftp进行pxe网络安装linux或者其他操作系统等,接下来我就记录下今天搭建tftp服务器的配置过程。
环境:虚拟机Vmware workstation8.0 Redhat5.5版本
TFTP概述:
在嵌入式开发中有宿主机和目标机之分:宿主机是执行编译、链接嵌入式软件的计算机;目标机是运行嵌入式软件的硬件平台。TFTP 服务器作为工作于宿主机的软件,主要提供对目标机的主要映像文件的下载工作。
TFTP 服务器的安装:
利用以下命令就可以查看TFTP 服务器是否已启动,如果启动则不用安装。
- [root@localhost /]# netstat -a |grep tftp
- udp 0 0 *:tftp *:*
若没有安装,在 Redhat Enterprise Linux 5 的安装光盘中有 RPM 安装包,挂载光盘后进入到对应文件夹,找到相应的安装包。类似于如下格式:
- tftp-0.42-3.1.i386.rpm
- tftp-server-0.42-3.1.i386.rpm
其中 tftp-server-xxx.rpm 是 tftp 服务器的安装文件,另一个是 tftp 客户端的安装文件。
执行安装命令:
- [root@localhost Server]# rpm –ivh tftp-server-0.42-3.1.i386.rpm
建立tftp 的主工作目录,并赋予777权限:
- [root@localhost Server]# mkdir /tftpboot
- [root@localhost Server]#chmod –R 777 /tftpboot
注意:该目录可能已经存在。
修改配置文件:
- [root@localhost Server]# vi /etc/xinetd.d/tftp
主要注意修改的两个地方:
- service tftp
- {
- socket_type = dgram
- protocol = udp
- wait = yes
- user = root
- server = /usr/sbin/in.tftpd
- server_args = -s /tftpboot -c
- disable = no
- per_source = 11
- cps = 100 2
- flags = IPv4
- }
保存退出后,重新启动服务。执行如下命令:
- [root@localhost Server]# /etc/init.d/xinetd restart
再次查看是否启动
- [root@localhost /]# netstat -a |grep tftp
- udp 0 0 *:tftp
出现如上输出则表示已经配置成功。
TFTP 客户端的安装:
在终端下输入 tftp 检查客户端是否已经被正确安装。
- [root@localhost Server]#tftp
如果提示 command not found,则说明 tftp 客户端没有被正确安装。否则视为已正确安装。
上面已经找到 tftp 客户端的安装文件:tftp-0.42-3.1.i386.rpm
执行安装命令:
- [root@localhost Server]# rpm –ivh tftp-0.42-3.1.i386.rpm
测试 TFTP 服务:
在终端提示符下输入如下命令:
- [root@localhost Server]#tftp 127.0.0.1
然后可以采用put和get命令进行上传和下载测试。注意get下载目录默认为/tftpboot/目录,所需要上传文件必须位于当前目录。
TFTP服务器的配置