tftpd-hpa 是一个功能增强的TFTP服务器。它提供了很多TFTP的增强功能,它已经被移植到大多数的现代UNIX系统。
1.安装
sudo apt-get install tftpd-hpa tftp-hpa
2.配置
tftp-hpa 的配置文件為 /etc/default/tftpd-hpa
sudo gedit /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot" //这里是你的tftpd-hpa的服务目录
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s" //这里是选项
注意:如果是在10.04以下的版本用下面的配置

tftp-hpa 的配置文件为 /etc/default/tftpd-hpa

 RUN_DAEMON="yes" 
OPTIONS="-l -c -s /tftpboot" 3.启动服务
sudo service tftpd-hpa restart 4.test测试
cd /tftpboot
vim test.txt //随便输入一些东西 cd ~/ tftp localhost
get test.txt 最后看看当前目录有test.txt的文件不? 同理!把当前目录下的一个文件put xxxx.???,在去看看/tftpboot目录有xxxx.??这个文件不?

在针对嵌入式开发中,常常我们需要事先配置好一些网络服务,才能使开发板方便的下载或挂载主机的内核和文件系统。系统在启动BootLoader后,通过tftp来下载Linux内核镜像到内存运行,然后通过NFS来启动Linux主机上的目标文件系统,并通过DHCP服务器来为开发板分配IP地址。这里仅仅是搭建服务器环境。在配置TFTP服务一般遇到的问题都是比较多的。经过几次失败尝试后,总结了以下经验以共享:

一、检查是否已经安装好TFTP

caoyi@ubuntu:/home/study$ sudo netstat -nulg | grep 69
udp 0 0 0.0.0.0:69 0.0.0.0:*

或者

caoyi@ubuntu:/home/study$ sudo netstat -au | grep tftp

udp 0 0 *:tftp *:*

则表示已经安装成功,如果没有出现以上信息或当行信息都表示有错误!

一、检查是否安装相关服务(一般没有)

首先得确定自己的主机或虚拟机已经连上网了,并且得确定下载过程是可靠的。

(1)、安装tftp(客户端)、tftpd(服务端)

caoyi@ubuntu:/home/study$ sudo apt-get install tftpd tftp

(2)、安装tftpd-hpa、tftp-hpa(功能增强的TFTP服务器)

caoyi@ubuntu:/home/study$ sudo apt-get install tftpd-hpa tftp-hpa

(3)、安装openbsd-inetd xinetd(网络管理服务。Ubuntu中,tftp不能独立运行,需要网络管理服务器 支持。)

caoyi@ubuntu:/home/study$ sudo apt-get install xinetd openbsd-inetd

二、配置TFTP服务器

(1)、配置tftpd-hpa(服务端)

caoyi@ubuntu:/home/study$ sudo vim /etc/default/tftpd-hpa

1 # /etc/default/tftpd-hpa

2 RUN_DAEMON="yes"

3 TFTP_USERNAME="tftp"

4 TFTP_DIRECTORY="/tftpboot" 这里为TFTP服务器目录

5 TFTP_ADDRESS="0.0.0.0:69"

6 TFTP_OPTIONS="-l -s /tftpboot"

(2)、配置inetd

caoyi@ubuntu:/home/study$ sudo vim /etc/inetd.conf

tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot (在最末添加之)

(3)、建立配置文件

在/etc/xinetd.d/下建立一个配置文件tftp

sudo vim tftp

在文件中输入以下内容:

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

}

保存退出

(4)、重启TFTP相关服务

caoyi@ubuntu:/home/study$ sudo /etc/init.d/openbsd-inetd reload

* Reloading internet superserver inetd [ OK ]

caoyi@ubuntu:/home/study$ sudo /etc/init.d/openbsd-inetd restart

* Restarting internet superserver inetd [ OK ]

caoyi@ubuntu:/home/study$ sudo service tftpd-hpa restart (如果没有反应,应重新安装sudo apt-get install tftpd-hpa)

tftpd-hpa start/running

caoyi@ubuntu:/home/study$ sudo /etc/init.d/xinetd restart

* Stopping internet superserver xinetd [ OK ]

* Starting internet superserver xinetd [ OK ]

三、测试

(1)、在本地根目录下建立我们的TFTP服务器目录

caoyi@ubuntu:/home/study$ cd /

caoyi@ubuntu:/home/study$ sudo mkdir tftpboot

然后,放置一些测试文件,我这里放的是uImage 和空文件a.c

caoyi@ubuntu:/home/study$ sdo chmod 777 -R tftpboot

caoyi@ubuntu:/home/study$ ls /tftpboot

a.c uImage

(2)、进入/home目录下载/tftpboot/目录下的uImage文件(前面设置好了/tftpboot/目录为TFTP默认服务目录):

caoyi@ubuntu:/home/study$ sudo tftp 127.0.0.1

tftp> get uImage

Received 1508808 bytes in 0.2 seconds

tftp> quit

caoyi@ubuntu:/home/study$ ls

uImage

然后进行对/tftpboot/目录上传文件

caoyi@ubuntu:/home/study$ sudo tftp 127.0.0.1

tftp> put b.c

Error code 2: Access violation

(注意:当对TFTP文件进行上传是,应该在/tftpboot/目录下要有一个待上传同名文件)

(3)、在前面我的/tftpboot/目录中有一个a.c的空文件,那么我就可以对它上传一个名字为a.c的文件

caoyi@ubuntu:/home/study$ sudo tftp 127.0.0.1

tftp> put a.c

Sent 15 bytes in 0.0 seconds

tftp> quit

caoyi@ubuntu:/home/study$

(4)、在开发板上测试,首先设置好参数自动下载:然后boot

FS2410# boot

TFTP from server 192.168.7.112; our IP address is 192.168.7.239

Filename 'uImage'.

Load address: 0x30800000

Loading: #################################################################

######################################

done

至此关于Linux下TFTP服务配置完成!其间也会出现一些因版本或其它的错误,应该重复的确定你已经安装好所有的服务,然后不断重启,测试!

引用yicao821的博客

http://blog.csdn.net/yicao821/article/details/6699149

Ubuntu安装配置TFTP服务的更多相关文章

  1. Ubuntu下配置tftp服务

    Ubuntu下配置tftp服务 1.安装TFTP软件 sudo apt-get install tftp-hpa tftpd-hpa tftp-hpa是客户端,tftpd-hpa是服务器端 2.建立t ...

  2. ubuntu10.04 安装配置tftp服务

    tftpd-hpa 是一个功能增强的TFTP服务器.它提供了很多TFTP的增强功能,它已经被移植到大多数的现代UNIX系统. 1.安装 sudo apt-get install tftpd-hpa t ...

  3. ubuntu配置tftp服务

    ubuntu配置TFTP服务: TFTP是用来下载远程文件的最简单的网络协议,基于UDP协议.xinetd是新一代的网络守护进程服务程序,经常用于管理多种轻量型internet服务. sudo apt ...

  4. [转]Ubuntu下配置NFS服务

    [转]Ubuntu下配置NFS服务  http://blog.163.com/liu8821031%40126/blog/static/111782570200921021253516/ Table ...

  5. ubuntu16.04上安装配置DHCP服务的详细过程

    DHCP服务器是为客户端机器分配IP地址的,所有分配的IP地址都保存在DHCP服务器的数据库中.为了在子网中实现DHCP分配IP地址,需要在目标主机上安装配置DHCP服务 1. 安装DHCP服务 安装 ...

  6. Linux 安装配置 tftp 服务器

    1.安装TFTP服务 安装服务端 sudo apt-get install tftpd-hpa 安装客服端 sudo apt-get install tftp-hpa 2.创建TFTP服务器目录 cd ...

  7. 在win2003上安装配置win 服务 遇到的问题

    在win2003上安装配置win 服务 win服务安装后启动不起来 .. 没有装.net framework4.0   要装这个版本 mysql-connector-net-6.3.4.zip    ...

  8. Ubuntu安装配置protobuf 2.5

    Ubuntu安装配置protobuf 2.5 一.安装配置环境 Linux 1.安装protobuf 下载文件 https://github.com/protocolbuffers/protobuf/ ...

  9. 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库——安装配置NTP服务,保证集群时间保持同步

    一.所有节点上使用yum安装配置NTP服务yum install ntp -y 二.选定一台节点作为NTP server, 192.168.58.11修改/etc/ntp.conf vim /etc/ ...

随机推荐

  1. hibernate环境配置和使用

    一.hibernate简单介绍                Hibernate是一个开放源码的对象关系映射框架,它对JDBC进行了很轻量级的对象封装,使得Java程序猿能够随心所欲的使用对象编程思维 ...

  2. C++中顶层const和底层const

    1. 顶层 const 与底层 const 概念 指针本身是一个对象,由于,指针实际相应着内存单元的一段存储空间,然而,指针所指向的也是一个数据对象,因此,指针是一个常量与指针所指向的是一个常量是两个 ...

  3. JavaScript之数组学习

    在JavaScript中,数组用关键字Array来声明.声明数组的同时还可以指定数组初始元素的大小,也就是数组的长度;下面代码定义了一个数组长度为6的数组; var beatles=Array(6); ...

  4. 腾讯TGideas语义化标签(转)

    --------引子--------------- 家里有个熊孩子,经常会有一些意想不到的事情发生:回家的时候,他会笑呵呵冲过来,大声喊着“臭爸爸”:你让他把鞋穿上,他会提起鞋子往楼下扔...在小孩的 ...

  5. MSSQL 当前会话设置隔离级别与查询

    之前因为MySQL没有with(nolock)这种写法,于是想设置隔离级别,结果被坑. 直觉以为和MSSQL一样只要打set transaction isolation level xxx 就能搞定 ...

  6. 解决 jQuery-datepicker无法弹出日期的问题

    1.确保 jquery-ui.css.jquery.min.js和jquery-ui.min.js 三个文件的引用 2.如果是下载网站上的html,需要删除时间<input>的hasDat ...

  7. 转: git常用命令

    # git配置 #---------------------------------------------- #配置用户名和邮箱: $ git config --global user.name & ...

  8. 使用 PyQt 转换网页到 PDF(使用QtWebKit加载完毕后,打印整个窗口就行了,真简单!)

    import sys try: from PyQt4 import QtWebKit from PyQt4.QtCore import QUrl from PyQt4.QtGui import QAp ...

  9. 优步uber司机怎么注册不了?注册优步司机问题要点

    第一,可能是你的车型不符全要求,看是不是5年内的车型,同时要求车价8W以上:第二,你的驾驶年限不够,要求驾驶证年限1年以上的,如果不够的怎么办,告诉你个方法,PS啊!优步可查不了车管所的系统,所以这类 ...

  10. [Docker]初次接触

    Docker 初次接触 近期看了不少docker介绍性文章,也听了不少公开课,于是今天去官网逛了逛,发现了一个交互式的小教程于是决定跟着学习下. 仅仅是把认为重点的知识记录下来,不是非常系统的学习和笔 ...