常识一般电脑安装tftp所需的软件

安装tftp-hpa、tftpd-hpa和xinetd:

$ sudo  apt-get  install tftp-hpa  tftpd-hpa  xinetd
tftp-hpa 的配置文件为 /etc/default/tftpd-hpa
 #Defaults for tftpd-hpa
 RUN_DAEMON="no"
 OPTIONS="-s /home/ch/tftpboot -c -p -U 077 -u tftpd" 
 TFTP_USERNAME="tftp"
 TFTP_DIRECTORY="/home/ch/tftpboot"
 TFTP_ADDRESS="0.0.0.0:69"

每次修改完配置文件后,都需要重新启动一下服务。

$ sudo  service  tftpd-hpa  restart  //重启服务器
$ sudo /etc/init.d/xinetd  reload
$ sudo  /etc/init.d/xinetd  restart  //重启xinetd,tftp的一个脚本

 

基本知识:tftp-hpa是客户端,tftpd-hpa是服务程序。

tftpd-hpa:源代码下载地址:https://www.kernel.org/pub/software/network/tftp/


apt-get install tftpd-hpa


 配置TFTP服务器

第1步: 修改/etc/default/tftpd-hpa配置文件。 将/etc/default/tftpd-hpa内容修改为:

# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot "  //将/tftpboot改成你自己建立的tftpboot文件夹路径,我使用的是/home/xxx/Learning/tftpboot这个路径
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"    //这里是选项

 

使用选项,-s选项,secure选项,后面要跟一个目录,否则会报错。

Dec 13 14:14:42 ch-Founder-PC in.tftpd[12796]: no -s directory

-c选项,是可以写文件。但是-c选项必须要在-s选项存在的情况下才能发挥作用。

-l选项,可以自己启动,不依赖与xinetd,或者/etc/init.d/tftpd-hpa脚本。

-v选项会在/var/log/syslog里面写入日志,-vv会写入更详细的信息。

root@ch-Founder-PC:~# /usr/sbin/in.tftpd  -l -vv -s /home/ch/tftpboot等于交叉编译出的./tftpd -l -vv -s /home/ch/tftpboot

因为:https://www.freebsd.org/cgi/man.cgi?query=in.tftpd&apropos=0&sektion=0中解释如下:


NAME tftpd - Trivial File Transfer Protocol server SYNOPSIS in.tftpd [options...] directory...