在嵌入式linux开发过程中需要使用tftp方式从Linux主机下载文件到板子中,因此需要在主机linux系统中安装tftp服务器。

Ubuntu-9.10中安装tftp服务器的方法如下:

4.2.1 安装程序

通过软件管理安装 tftp tftpd,前者是客户端,后者是服务程序。系统根据依赖会选上openbsd-inetd。在Ubuntu的终端下输入命令如下:

sudo apt-get install tftp tftpd

sudo apt-get install xinetd

注:sudo命令意思是:使用管理权限。如果已经进入了管理员模式,那么上面命令就不用加sudo了。直接使用 apt-get install tftp tftpd即可

进入管理模式方法是:

1.       输入命令:sudo –i 随后输入密码即可(密码是不显示的,不要认为有问题哦O(∩_∩)O~)。

2.       输入命令:sudo su 随后输入密码即可。

上面两个命令的不同,在linux下试下就明白啦,或者使用百度哦。给个参考图:

使用sudo –i命令

使用sudo su命令

4.2.2 配置相关服务文件xinetd.conf

在输入命令前,需要说明一下键盘上Tab键的使用,这是一个小技巧。例如你要想修改下面的xinetd.conf文件,你只需要输入cd /e然后按一下Tab键,系统会帮您自动补全文件或者文件夹名字。当然这是建立在文件名是唯一的基础上的,这个方法在开发板的linux下同样适用,详细的使用,大家百度下吧。

配置相关服务文件。进入根目录下的etc文件夹(命令是cd /etc/),首先看目录中有没有一个xinetd.conf文件,如果没有则新建一个,有的话查看内容,看是否与下面的一致,若不一致则修改,内容如下:
# Simple configuration file for xinetd   
#   
# Some defaults, and include /etc/xinetd.d/   
defaults

{

# Please note that you need a log_type line to be able to uselog_on_success

# and log_on_failure. The default is the following :

# log_type = SYSLOG daemon info

}   
includedir /etc/xinetd.d

注:打开xinetd.conf文件(其他文件都是类似)的方法介绍两种。

1、使用vimxinetd.conf(或者vi xinetd.conf)。打开后处于不能编辑状态,这时按下键盘的字母’I’键,即可进入编辑模式。可以使用copy方式,不过最好使用鼠标右键copy的方式,不要使用Ctrl+ c的方式。编辑完成后,按下键盘的Esc键进入vim的命令模式,这时输入冒号’:’(注意是英文冒号),然后输入wq即可保存退出。对于vim的详细介绍请参考vim的命令大全,百度即可。

2、使用geditxinetd.conf。打开后跟windows的记事本操作类似,保存也是使用Ctrl+S,其他就不多说了。初学者推荐使用该方式。

注意如果出现xinetd.conf修改完成后无法保存的问题,提示无权限。那么使用sudo chmod 777 xinetd.conf命令修改一下操作权限即可。

4.2.3 配置tftp服务器

输入命令:sudo vim /etc/default/tftpd-hpa 或者sudo gedit /etc/default/tftpd-hpa打开tftpd-hpa文件,把内容修改成:

TFTP_USERNAME="tftp"
      TFTP_DIRECTORY="/tftpboot"

TFTP_ADDRESS="0.0.0.0:69"
      TFTP_OPTIONS="-l -c -s"

/tftpboot是你tftp服务器的工作目录,自行修改,注意,在新建工作目录时,最好修改其权限为777,命令sudo chmod777 /tftpboot。建立方法稍后介绍。

4.2.4 修改tftp文件

使用命令:cd /etc/xinetd.d 进入xinetd.d文件夹。查看是否有tftp文件,如果没有就新建一个,如果有的话修改成下面的内容。

输入命令vim tftp(或者gedit tftp),然后查看修改:

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

其中server_args一行是配置服务器的文件存放的位置,就是进行tftp传输的时候,都是从该文件夹中搜索文件的。

4.2.5 建立tftpboot文件夹及修改其权限

输入命令:sudo mkdir /tftpboot

然后修改成最宽松的权限:sudo chmod 777 /tftpboot

4.2.6 重新启动服务

先输入命令:sudo /etc/init.d/xinetd reload重新加载一下进程。

然后输入命令:sudo /etc/init.d/xinetd restart重启服务。

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

4.2.7 测试tftp服务器

检查tftp是否打开:chkconfig--list 如果没有打开,则用这个命令也可以打开:sudo chkconfig tftp on。

通过以上步骤就可以建立好tftp服务器了,可以在本地先进行一下测试。

一、先在tftpboot建立一个文件,随意建立,然后在文件里随意输入信息。命令是:

1.输入:cd /tftpboot进入tftpboot文件夹。

2.输入:touch realarm.txt建立一个realarm.txt文件。

3.输入:vim realarm.txt 然后输入”tftp test”编辑方法见4.2.2的“注”。或者使用gedit realarm.txt进行编辑。我使用的是gedit进行的编辑,如下图所示。

二、进入另一个文件夹进行测试(是非tftpboot文件夹,统一一下,我们选择在根目录的mnt文件夹下测试)

1.先进入mnt文件夹:cd /mnt

2.输入命令:sudo tftp 127.0.0.1(或者sudo tftp localhost也就是本机ip地址)

3.输入命令:get realarm.txt 如果received提示,就说明传输成功了

4.输入命令:q退出tftp模式

5.输入命令:ls查看mnt目录是否有realarm.txt文件。

先来看看mnt文件夹下有哪些文件

可以看到只有hgfs文件夹,其他没有任何文件。

tftp测试操作演示如下:

可以看到操作成功。那么打开来看看内容是否一样。输入gedit realarm.txt或者使用vim realarm.txt。看下图所示可知,tftp建立与测试已经成功了,呵呵。又向成功迈进一步啦!

上面测试的是接收文件,发送文件也是可以的,使用put命令。在mnt文件夹随意建立一个文件,随意输入信息。然后使用“put 文件名“即可。

若在使用put时出现如下错误

Access violation

原因在于:tftp服务器默认可以下载,但是上传就必须在tftpboot目录下有一个同名文件,并且要有可读写的权限!

解决方法如下:

首先tftpboot目录要有读写权限,为了确保可使用命令sudo chmod 777 /tftpboot进行修改。

在tftpboot目录下建立一个要上传的同名文件,并改变权限为777(或者666),就可以了正常put了。

busybox的tftp用法简要说明

tftp [OPTION]...HOST [PORT]

OPTION:

-l FILE  本地文件

-r FILE  远程文件

-g 下载

-p 上传

例子:

下载:tftp -r test.txt -g 192.168.1.100

上传:tftp -l test.txt -rtest.txt -p 192.168.1.100

Ubuntu 建立tftp服务器相关推荐

  1. Ubuntu下tftp服务器的搭建

    参考博客:http://blog.chinaunix.net/uid-26495963-id-3206829.html 1. 安装 $ apt-get install tftp-hpa tftpd-h ...

  2. 如何在Ubuntu部署tftp服务器

    如何在Ubuntu部署tftp服务器 安装tftpd-hpa(服务器)tftp-hpa(客户端) 设置服务器属性,配置文件在/etc/default/tftpd-hps这个文件,编辑如下内容,文件目录 ...

  3. ubuntu 10.04 虚拟机建立tftp服务器

    习惯把总结放到前面 通过这个实验,我明白了tftp一些基本的概念问题. 知道如何正确的进行上传和下载.这个实验说明了,root下,在tftpboot下,具有666的文件,才能被覆盖掉. 深刻体会了ch ...

  4. Ubuntu配置TFTP服务器

    TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂.开销不大的文件传输服务 ...

  5. 关于Ubuntu 安装tftp服务器的问题解决

    在做嵌入式开发时,tftp服务器是必备功能,但是往往tftp服务安装总是出现莫名其妙的问题.当前又装了一个Ubuntu14.04系统,按照网上方法死活不成功. 问题表现为tftpd-hpa服务死活不能 ...

  6. Ubuntu搭建tftp服务器

    1. 安装 $ apt-get install tftp-hpa tftpd-hpa 2. 建立目录 $ mkdir /tftpboot # 这是建立tftp传输目录. $ sudo chmod 07 ...

  7. 在ubuntu 搭建TFTP服务器时的步骤及 出现的常见错误:Restarting tftpd-hpa (via systemctl): tftpd-hpa.serviceJob for tftpd-

    在搭建tftp服务器时 三步骤: A: sudo apt-get install tftpd-hpa //下载安装tftp B: 配置 tftp 服务器 sudo vim /etc/default/t ...

  8. 在Ubuntu配置tftp服务器的简单几步并下载文件到开发板

    1.关于TFTP的简单说明: TFTP:简单文件传输协议 是在TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂.开销不大的文件传输服务,端口号为69. 2.使用前查 ...

  9. arm学习笔记005之Linux平台下TFTP服务器构建

    TFTP(Trivial File Transfer Protocol,简单的文件传输协议)是 TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂.开销不大的文件传 ...

最新文章

  1. 深度学习机器配置 装机指南:从GPU到显示器,全套硬件推荐
  2. 用c语言实现存储和读取图片文件,C++实现单张图片读取和保存
  3. js数组再倒数第二个添加元素_归纳JS中数组的使用(一)元素新增和删除
  4. 【华为云技术分享】HDC.Cloud | 为防止交通事故,95后学生运用“黑科技”这样做!
  5. Mysql原理+ 多实例 +表损坏
  6. delphi 字符串占用空间_字符串在Python内部是如何省内存的
  7. 20145213《信息安全系统设计基础》第二周学习总结
  8. 企业IT架构转型之道 阿里巴巴中台战略思想与架构实战
  9. 阿里再“牵手”中国邮政 民营快递或共享资源?
  10. 青龙脚本--今日头条极速版
  11. micropython入门 stm32_STM32F4系列使用MicroPython开发
  12. Java中的IO流基础(1)
  13. 计算机信息安全技术分为两个层次,计算机信息安全技术分为两个层次,其中的第二层次为()...
  14. win7虚拟机_win7系统如何安装virtual pc虚拟机 安装virtual pc虚拟机方法【介绍】
  15. 数据分析之Matplotlib(二)折线图(plot)
  16. 华为ENSP模拟器简易路由交换机分段划分Vlan
  17. 宝塔linux开启缓存,宝塔面板缓存在哪里
  18. 基于java的华容道小游戏
  19. android线刷软件,android线刷一般用什么软件?哪一个好用一些?
  20. 无惧浩瀚数据 超云XS5000集群存储为扩展而生

热门文章

  1. java制表符_Java地位无可动摇的12个原因
  2. Mysql Too many connections解决方法
  3. java 延迟初始化_Java - 延迟初始化
  4. centos7.5 使用报错:用户名 不在 sudoers文件中,此事将被报告。
  5. elasticsearch中rollover的用法
  6. 深入理解javascript原型和闭包(14)——从【自由变量】到【作用域链】
  7. Python 3 开发钉钉群机器人
  8. 别人的加班 vs 互联网人的加班
  9. NB!技术人都在关注的公众号~
  10. 小米高管否认鸿蒙,小米参加华为鸿蒙系统实验?小米高管终于回应,网友评论炸了!...