Linux系统中用TFTP进行文件传输.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux系统中用TFTP进行文件传输

使用TFTP进行文件传输 (系统版本: Ubuntu 10.10或以上) 在嵌入式系统开发中,经常需要从主机上传送映像、文件等到目标机上。实现的方法有很多。如tftp,scp等。 TFTP(Trivial File Transfer Protocol)是用来下载远程文件的最简单的网络协议,它基于UDP协议而实现。 一、TFTP的建立 嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。我们要做的是在服务器端(即主机)上安装TFTP服务,并且正确地配置TFTP服务的路径和参数。 下面我尝试了两种搭建TFTP的方法,都实测成功。 1、安装tftp所需软件包: tftp有好几种版本,其中tftp和tftpd是最经典、最常用的。还有增强版,如atftp和atftpd、tftp-hpa和tftpd-hpa等。所以配置TFTP的方法也不唯一。 传统方法(xinetd): sudo apt-get install tftp sudo apt-get install tftpd sudo apt-get install xinetd tftp是客户端,作用是从别人的TFTP服务器端上传/下载东西。 tftpd是服务端,字母d代表daemon,作用是为别人提供TFTP服务,供别人上传/下载东西。 xinetd是inetd的扩展。inetd 服务器是一个专门管理入网连接的网络后台程序,xinetd现在已经取代inetd,它一个守护进程,用于处理对各种服务的请求。tftp是要用inetd来控制的。 另一种更简单的方法:tftp-hpa sudo apt-get install tftp-hpa sudo apt-get install tftpd-hpa tftp-hpa与tftp作用相当,但两者是冲突的,不能同时安装。tftpd-hpa与tftpd的关系同理。这种方法下,不需要inetd服务就可以。网上也有人同时装了xinetd,不仅需要配置,似乎还容易出问题。 2、创建TFTP目录 首先需要建立一个TFTP目录,以供上传和下载。当然也可以使用现有的目录。然后需要设定该目录的权限,决定是否能够下载和上传文件。对于日常使用,我们一般就将其权限设置为最高,为所有用户组都添加所有权限(读+写+执行=4+2+1=7): sudo mkdir /home/tftpboot cd /home sudo chmod 777 tftpboot –R 我们的TFTP目录为/home/example/tftp,其权限已经是最高。 3、修改配置文件 对于xinetd方法,要在/etc/xinetd.d/下,修改配置文件tftp。如果是第一次使用,没有这个文件,需要自己创建一个空文件。可以利用touch指令: cd /etc/xinetd.d touch tftp sudo gedit tftp 在打开的文件中输入以下内容: service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /home/tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 } socket_type:网络套接字类型,流或者数据包 protocol:IP 协议,通常是TCP或者 UDP user:运行进程的用户 ID,当前用户或root server:执行的完整路径 server_args: 传递给server的变量或值。前面的-s代表tftp参数,后面/home/tftpboot是TFTP的根目录,可以根据自己实际情况来修改地址,如/home/example/tftp。 对于tftp-hpa方法,不需要装inetd就能使用,只要修改tftpd-hpa相应的配置文件就可以。 sudo gedit /etc/default/tftpd-hpa 原始的内容如下: # /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/var/lib/tftpboot" TFTP_ADDRESS=":69" TFTP_OPTIONS="--secure" 我将其修改为: # /etc/default/tftpd-hpa TFTP_USERNAME="dongh

文档评论(0)

kakaxi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档