关于linux中tftp命令的信息( 四 )


新建一个空文件,将下面代码复制,保存之后,修改文件权限,使之具有执行权限后 , 就可以自动搭建嵌入式TFTP开发环境了 。
以下为脚本代码:
#!/bin/bash
####################################################
# 搭建TFTP服务所需要安装的软件有tftp-hpa,tftpd-hpa以及xinetd , #
# 其中:#
#tftp-hpa: 是客户端软件;#
#tftpd-hpa: 是服务程序;#
#xinetd: 是新一代进程守护程序 。#
####################################################
function creat_xinetd_conf
{
echo"# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/
defaults
{
# Please note that you need a log_type line to be able to use
log_on_success
# and log_on_failure. The default is the following :
# log_type = SYSLOG daemon info
}
includedir /etc/xinetd.d"/tmp/xinetd.conf
}
function config_xinetd_conf
{
creat_xinetd_conf
filename=/etc/xinetd.conf
example=/tmp/xinetd.conf
test -f $filename#返回值为0,代表文件存在返回值为1,代表文件不存在
if [ "$?" -eq 0 ];then
echo "xinetd.conf文件存在"
diff -E $example $filename
case $? in
1)#文件内容有误
rm -rf $filename
mv -f $example $filename
echo "xinetd.conf文件内容修改成功";;
0)#文件内容正确
rm -rf $example
echo "xinetd.conf文件内容正确";;
*)
rm -rf $example
echo "未知错误 , 程序终止";;
esac
else
echo "xinetd.conf文件不存在,正在创建该文件"
mv -f $example $filename
echo "xinetd.conf文件创建成功"
fi
}
#=============================================#
function modify_tftpd_hpa
{
echo "# /etc/default/tftpd-hpa
TFTP_USERNAME=\"tftp\"
TFTP_DIRECTORY=\"/tftpboot\"
TFTP_ADDRESS=\"0.0.0.0:69\"
TFTP_OPTIONS=\"-l -c -s\""/tmp/tftpd-hpa
rm -rf /etc/default/tftpd-hpa
mv -f /tmp/tftpd-hpa /etc/default/tftpd-hpa
echo "tftpd_hpa 文件内容修改成功"
mkdir -p /tftpboot
chmod 777 /tftpboot
}
#=============================================#
function modify_tftp
{
echo "service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -c
per_source = 11
cps = 100 2
flags =IPv4
}"/tmp/tftp
rm -rf /etc/xinetd.d/tftp
mv -f /tmp/tftp /etc/xinetd.d/tftp
echo "tftp 文件内容修改成功"
}
#=============================================#
function test_tftp
{
echo "This is a test file"/tftpboot/TEST
cd /tmp
echo "请在终端命令行中依次键入\"get TEST\"以及\"quit\""
tftp localhost
cat /tmp/TEST# 返回值为0,表示成功查看指定的文件返回值为1 , 表示不能正常查看指定的文件
if [ $? -eq 0 ]; then
echo "tftp测试成功,可以正常使用"
rm -rf /tftpboot/TEST /tmp/TEST
else
echo "tftp测试失败 , 请检查tftp配置"
rm -rf /tftpboot/TEST /tmp/TEST
fi
}
#=============================================#
function step_1#安装TFTP相关服务
{
apt-get update#安装软件之前,先升级一下数据库,获取软件包的最新相关信息
apt-get install tftp-hpa#安装TFTP服务的客户端软甲
apt-get install tftpd-hpa#安装TFTP服务的服务器端软件
apt-get install xinetd#安装新一代进程守护程序
}
function step_2#配置TFTP相关服务
{
config_xinetd_conf#配置/etc/xinetd.conf文件
modify_tftpd_hpa#修改/etc/default/tftp-hpa文件

推荐阅读