ubuntu 10.04下的配置tftp服务器
首先用命令netstat -a|grep tftp查看是否启动了tftp服务.
[root@localhost /]# netstat -a|grep tftp
若有上面的显示,表示tftp服务器已经启动,就不用安装了。
若没有显示,按下面的步骤安装。
第1步:准备安装tftp所需的软件(连网情况下)
(tftp-hpa是客户端,tftpd-hpa后者是服务程)在终端下输入 sudo apt-get install tftp-hpa tftpd-hpa,便可以安装好tftp-hpa和tftpd-hpa。然后还需要安装xinetd,在终端下输入 sudo apt-get install xinetd,安装好xinetd。
第2步: 配置相关服务文件。进入根目录下的etc文件夹(cd /etc/),首先看目录中有没有一个xinetd.conf文件,如果没有则新建一个,有的话查看内容,看是否与下面的一致,若不一致则修改,内容如下:
# 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 ont-size: 12pt; "> # log_type = SYSLOG daemon info
}
includedir /etc/xinetd.d
第3步:配置tftp服务器
命令:#sudo vim /etc/default/tftpd-hpa
将内容修改成:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
(#只要修改黄色:这是你tftp服务器的工作目录,可以由自己设置使用)
tftp服务器配置结束!
建立对应工作目录:
命令#sudo mkdir /tftpboot
#sudo chmod 777 /tftpboot (注意,在新建工作目录时,最好修改其权限为777)
第4步:配置tftp文件
然后进入/etc/xinetd.d文件夹
命令:#cd /etc/xinetd.d
查看是否有一个tftp文件,
如果没有就新建一个,如果有的话就查看内容是否与下面的一致,不一致则修改,内容如下:
service tftp
{
socket_type = dgram
wait = yes
disable = no
user = root
protocol = udp
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -c
#log_on_success += PID HOST DURATION
#log_on_failure += HOST
per_source = 11
cps =100 2
flags =IPv4
}
其中server_args一行是配置服务器的文件存放的位置,就是进行tftp传输的时候,都是从该文件夹中搜索文件的。一定记得写-c,不然无法进行tftp传输文件。(”-c” allows the creation of new files.就是c这个参数)。
第5步:重新启动服务
命令:#sudo service tftpd-hpa restart
记住,每次修改完配置文件后,都需要重新启动一下服务。
执行次序:
sudo service tftpd-hpa restart
sudo /etc/init.d/xinetd reload
sudo /etc/init.d/xinetd restart
第6步 测试:
通过以上5步就可以建立好tftp服务器了,可以在本地先进行一下测试。
首先在/tftpboot中新建一个文件file,然后在其中随便输入内容;
然后进入一个不是/tftpboot的目录下(原因是避免混淆,因为在获取文件是:默认是将想要获取的文件存放在当前目录下的);假如进入/home 目录下。如下:
再在终端中输入 sudo tftp localhost,进入tftp命令符下(可以在其中输入help查看命令和命令的作用),输入 get file,如果没有任何提示,就说明传输成功了,然后输入 q 退出tftp命令符,在当前目录/home下就可以看到一个file文件,内容是与开始新建的那个file的内容是一致的。
命令:#sudo tftp localhost
同样也可以在tftp命令符中输入 put xx,把xx文件上传到服务器文件夹中。如果一切ok,那就么一个可用的tftp服务器就顺利搭建成功了。
如上图,在/home目录下建文件testput来进行测试。可见当前在/tftpboot下没这个文件。
命令:#sudo tftp localhost
如下图操作:
tftp服务器就顺利搭建成功了。
解决:put [file] Error code 1: File not found:
1.修改第4步:配置tftp文件
记得加-c : server_args = -s /tftpboot -c
2.若还不行,重新启动ubuntu.再进行测试就可以了。
另注:与开发板传输文件操作,命令:
target#tftp –g –r [file] [服务器(linux主机)ip]
这样文件[file]就会被传送到当前目录下。