ubuntu12.04安装tftp,配置,修改目录,错误类型

【前言】学习嵌入式,须要配置tftp服务,在网上搜了搜,不少,可是配置了,个人总是出现Error code 1: File not found错误,通过探索和一个大哥的博客http://blog.csdn.net/haiwil/article/details/6606648,终于配置出来了,记录以下:vim

1:安装服务,共3个服务socket

1 sudo apt-get install 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: Can't open file for writing

修改/etc/xinetd.d/tftp内容为:spa

 1 service tftp
 2 {
 3     disable = no
 4     socket_type = dgram
 5     protocol = udp
 6     wait = yes
 7     user = root
 8     server = /usr/sbin/in.tftpd
 9     server_args = -s /tftpboot -c
10     per_source = 11
11     cps = 100 2
12 }

注意:第九行中.net

server_args = -s /tftpboot -c

-c参数是容许上传用的,参数/tftpboot则是你的tftp目录,修改为你的目录便可,可是笔者建议在根目录下,方便rest

3:修改配置文件/etc/default/tftpd-hpacode

 

1 sudo vim /etc/default/tftpd-hpa

 

 修改成:server

1 # /etc/default/tftpd-hpa
2 TFTP_USERNAME="tftp"
3 TFTP_DIRECTORY="/tftpboot " //改为你想要的那个tftpboot
4 TFTP_ADDRESS="0.0.0.0:69"
5 TFTP_OPTIONS="-l -c -s"        //这里是选项

 

4:在根目录下新建tftpboot目录,并修改权限blog

1 mkdir /tftpboot
2 sudo chmod 777 -R  /tftpboot 

5:在/tftpboot中新建一个测试文件test

1 touch  test

6:【重要】重启服务,修改配置文件的任何地方都要重启服务

1 sudo /etc/init.d/xinetd reload
2 sudo /etc/init.d/xinetd restart

 

 7:测试服务tftp是否启动

netstat -a|grep tftp

 

显示 :

udp        0      0 *:tftp                  *:* 

 

则启动服务了

8:测试tftp

进入另外一个目录【不是/tftpboot目录,好比用户jyg目录】

cd /home/jyg

 

测试如图:

9:出现错误:

  【错误】Error code 0: Permission denied,是由于tftpboot文件夹没有权限,或者是要上传和下载的文件没有权限。

  【解决】修改权限

sudo chmod 777 -R  /tftpboot

 

  【错误】Error code 1: File not found,缘由1:指定的文件不存在;缘由2:tftpd启动参数中没有指定-c选项;缘由3:目录有问题,由于安装的时候默认的tftp目录是【/var/lib/tftpboot】,您能够把test文件放在这个目录中从新测试一下,若是正确说明猜测是正确的。

  【解决】缘由1和缘由2都好解决,这里只解决缘由3:重启服务或者重启系统

相关文章
相关标签/搜索