Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3003981
  • 博文数量: 674
  • 博客积分: 17881
  • 博客等级: 上将
  • 技术积分: 4849
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-17 10:15
文章分类

全部博文(674)

文章存档

2013年(34)

2012年(146)

2011年(197)

2010年(297)

分类: LINUX

2010-08-22 13:41:28

   sudo chmod 777 /tftpboot

3. sudo in.tftpd -l /tftpboot

    这样tftp服务器就启动了,下面可以做一个测试

4. cd /tftpboot

    touch test

    建立一个文件

5. cd /home/usrname

    登录另一个目录

6. tftp 192.168.0.59

    换成自己的ip

   > get /tftpboot/test

打开目录 /etc/xinetd.d/

新建文件tftp

tftp内容:

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

}

重新启动服务:

sudo /etc/init.d/xinetd restart

sudo in.tftpd -l /tftpboot

安装过程中出现的问题及原因

现象一:

tftp> get test.log

Transfer timed out.

原因:

tftpd服务没有启动

现象二:

tftp> get test.log

Error code 2: Only absolute filenames allowed

原因:

在/etc/xinetd.d/tftpd中设置的server_args为/etc/default/tftpd-hpa

cat /etc/default/tftpd-hpa

#Defaults for tftpd-hpa

RUN_DAEMON="no"

OPTIONS="-s /home/tftpd -c -p -U 077 -u tftpd"

设置的时候只要将server_args=改为你自己设定的服务器文件夹就行了

现象三:

tftp> put ex070416.log

Error code 1: File not found

原因:

指定的文件不存在;或tftpd启动参数中没有指定-c选项,允许上传文件

1. sudo apt-get install tftp-hpa tftpd-hpa

2. cd /
      sudo mkdir /tftpboot
       sudo chmod 777 /tftpboot

3. sudo in.tftpd -l /tftpboot
    这样tftp服务器就启动了,下面可以做一个测试

4. cd /tftpboot
    touch test
    建立一个文件

5. cd /home/usrname
    登录另一个目录

6. tftp 192.168.0.59
    换成自己的ip

   > get /tftpboot/test

如果能够得到文件,那么就成功了。

PS:不要忘了 sudo apt-get install xinetd
                         
          sudo apt-get install netkit-inetd

关于不能上传(put)的解决

打开目录 /etc/xinetd.d/
新建文件tftp
tftp内容:

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
}

重新启动服务:

sudo /etc/init.d/xinetd restart

sudo in.tftpd -l /tftpboot


uboot使用这个来下载kernel, 对ubuntu用户来讲,配置这个不是很友好。

安装程序

sudo apt-get install tftp tftpd

前者是客户端,后者是服务程序。

只这样是不行的,因为tftp是要inetd来控制的,而ubuntu或debian类的系统,默认是没有安装inetd的,安装一下:

sudo apt-get install netkit-inetd

在/目录下建一个tftpboot, 把属性改成777。

cd /

sudo mkdir tftpboot

sudo chmod 777 tftpboot

修改/etc/inetd.conf

tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot

重新加载inetd进程

sudo /etc/init.d/inetd reload

测试一下,在/tftpboot文件夹下新建立一个文件

touch aaa

进入另外一个文件夹

tftp 10.0.0.1

tftp> get aaa

是不是工作正常了呢?

现在把你编译好的内核文件拷贝到/tftpboot下面,使用u-boot的tftp命令加栽内核到目标板内存了。

下面介绍我们接下来要安装的三个包:
1.xinetd:xinetd是一个守护进程,用于处理对各种服务的请求,当xinetd监控的服务请求出现时,xinetd会使用/etc/xinetd.conf文件 读取/etc/xinetd.d目录中的配置文件,然后,根据所请求服务的xinetd.conf文件内容,启动相应的程序.

2.tftpd :服务端
3.tftp:客户端

第一步:安装相关软件包

sudo apt-get install tftpd (服务端)
sudo apt-get install tftp (客户端)
sudo apt-get install xinetd

第二步:建立配置文件

cd /etc/xinetd.d/
vim tftp
输入

QUOTE:

service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}

存盘退出

3、建立tftp服务文件目录
mkdir /tftpboot
4、从新启动服务
/etc/init.d/xinetd restart

提示:在执行了这个命令后,可能显示一些信息,但是不会影响使用(具体什么原因我也不太清楚),下面的步骤顺利通过就可以了。

安装完成!测试方法:
在/tftpboot 目录下随便放个文件abc

然后 运行tftp 服务器ip(比如tftp 192.168.1.1), 进入tftp命令行

输入get abc 看看是不是能把文件下下来,如果可以就可以了,也可以put 文件上去。

阅读(1213) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~