但是,错误代码1:文件找不到错误总是出现在我的。经过探索,tftpd-hpa是一个功能增强的TFTP服务器。它提供了TFTP的许多增强功能,并被移植到大多数现代UNIX系统中。
1、sudo apt-get安装tftp-hpa tftpd-hpa xinetd
2.建立配置文件。
sudo vi /etc/xinetd.d/tftp
新文件tftp
Tftp内容:
服务tftp
{
禁用=否
socket_type=dgram
协议=udp
等待=是
用户=root
server=/usr/sbin/in.tftpd
server_args=-s /tftpboot -c
per_source=11
cps=100 2
}
3.建立tftp服务文件目录
mkdir /tftpboot
修改权限:sudo chmod 777 /tftpboot -R
4.重新启动该服务。
配置好tftp配置文件后,需要重启xinetd在终端输入sudo /etc/init.d/xinetd reload重新加载流程;然后输入sudo /etc/init.d/xinetd restart来重新启动服务。
请记住,每次修改配置文件时,都需要重新启动服务。
5.安装完成!测试方法:
将任何文件abc放在/tftpboot目录中。
然后登录到另一个目录,运行tftp 192.168.123.202 //,换到你的IP。
输入tftp命令行
输入get abc看看是否可以下载文件,如果可以,就可以把文件放上去。
如果出现错误代码1:找不到文件解决方案:
sudo vi /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa
TFTP用户名='tftp '
TFTP _ directory='/var/lib/tftpboot '//更改为您想要的tftpboot。
TFTP地址=' 0 . 0 . 0:69 '
TFTP选项='-l -c -s' //选项如下
然后记得重启服务,sudo /etc/init.d/xinetd重启。
如果上述错误仍然存在,请将该文件复制到/var/lib/tftpboot,然后重试。如果成功,重启系统以使上述配置生效。
您可以在将来使用您更改的tftpboot。
最后,它的配置和记录如下:
1:安装服务,共3项服务
1 sudo apt-get安装tftp-hpa tftpd-hpa xinetd
2:创建新的配置文件/etc/xinetd.d/tftp
1 sudo vim /etc/xinetd.d/tftp
注意:如果您不是root,请添加sudo,否则tftp将不被允许,并且会出现错误。
/etc/xinetd.d/tftp' E212:无法打开文件进行写入
将/etc/xinetd.d/tftp修改为:
1个服务tftp
2 {
3禁用=否
4 socket_type=dgram
5协议=udp
6等待=是
7用户=root
8 server=/usr/sbin/in.tftpd
9 server_args=-s /tftpboot -c
每源10=11
11厘泊=100 2
12 }
注意:在第九行
server_args=-s /tftpboot -c
允许上传-c参数,参数/tftpboot是您的tftp目录。可以修改到你的目录下,但是我建议在根目录下,这样比较方便。
3:修改配置文件/etc/default/tftpd-hpa
1 sudo vim /etc/default/tftpd-hpa
修改为:
1 # /etc/default/tftpd-hpa
2 TFTP用户名='tftp '
3 TFTP目录='/tftpboot' //更改为您想要的tftpboot。
4 TFTP地址=' 0 . 0 . 0:69 '
5 TFTP选项='-l -c -s' //选项如下
4:在根目录下新建一个tftpboot目录,修改权限。
1 mkdir /tftpboot
2 sudo chmod 777 -R /tftpboot
5:在/tftpboot中创建新的测试文件test。
1次触摸测试
6:[重要]重启服务。只要修改了配置文件,就重新启动该服务。
1 sudo /etc/init.d/xinetd重新加载
2 sudo /etc/init.d/xinetd重新启动
7:测试tftp是否启动。
netstat -a|grep tftp
显示:
udp 0 0 *:tftp *:*
服务已启动。
8:测试tftp
转到另一个目录[不是/tftpboot目录,如用户jyg目录]
cd /home/jyg
测试如图所示:
9:出现错误:
[错误]错误代码0:权限被拒绝,因为tftpboot文件夹没有权限,或者要上载和下载的文件没有权限。
[解决方案]修改权限
sudo chmod 777 -R /tftpboot
[错误]错误代码1:找不到文件,原因1:指定的文件不存在。2:2:tftpd启动参数中未指定-c选项;原因:目录有问题,因为安装时默认的tftp目录是[/var/lib/tftpboot]。您可以将测试文件放在这个目录中进行重新测试。如果解释正确,猜测是正确的。
【解决方法】原因1和原因2都很好解决。这里只解决了原因3:重启服务或者重启系统。