TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。
 
    xinetd(eXtended InterNET services daemon)是新一代的网络守护进程服务程序,又叫超级INTERNET服务器,经常用于管理多种轻量型INTERNET服务,xinetd提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。
 
 
 
安装tftp服务器:
 
需要安装xinetd、tftp、tftp-server3软件
 
1、如果能上网,通过yum安装:
 
sudo yum install xinetd
 
sudo yum install tftp
 
sudo yum install tptp-server
 
2、如果不能上网,可以直接安装提供的rpm包:
 
sudo rpm -ivh xinetd-2.3.14-18.fc9.i386.rpm
 
sudo rpm -ivh tftp-0.48-3.fc9.i386.rpm
 
sudo rpm -ivhtftp-server-0.48-3.fc9.i386.rpm
 
 
 
配置tftp服务器:
 
修改/etc/xinetd.d/tftp文件
 
disable=yes 改为  disable=no
 
server_args=-s /var/lib/tftpboot  改为  server_args=-s /tftpboot/ -c
 
 
 
修改/etc/sysconfig/selinux文件
 
SELINUX=disabled   (系统默认是enforcing)要改成disabled
 
 
 
chmod 777 /tftpboot  修改/tftpboot文件夹的权限
 
 
 
启动  service xinetd restart
 
 
 
查看tftp服务是否开启:
 
netstat -a | grep tftp
 
显示结果为  udp    0   0 *:tftp     *:*  表示服务已经开启,tftp配置成功
 
 
 
把openwrt-ar71xx-wp543-squashfs-4M-factory.img 文件复制到目录/tftpboot 下
 
 
 
在目录/home/x(目录名)下:
 
启动tftp服务器 
 
sudo in.tftpd -l /tftpboot
 
tftp 192.168.0.26(本机的IP地址)
 
tftp>get a(文件名)  在服务器上下载文件
 
tftp>put a(文件名)  上传文件到服务器上
 
tftp>q             退出
 
 
 
启动tftp服务器:
 
service tftpd-hpa stop      停止tftp服务器
 
service tftpd-hpa start     开启tftp服务器
 
service tftpd-hpa stutus    查看tftp运行状态
 
service tftpd-hpa restart   重启tftp服务器
 
 
 
(注意:文件传输后文件的权限会发生变化)
 
 
 
进入TFTP操作:
 
connect:连接到远程tftp服务器
 
mode:文件传输模式
 
put:上传文件
 
get:下载文件
 
quit:退出
 
verbose:显示详细的处理信息
 
tarce:显示包路径
 
status:显示当前状态信息
 
binary:二进制传输模式
 
ascii:ascii 传送模式
 
rexmt:设置包传输的超时时间
 
timeout:设置重传的超时时间
 
help:帮助信息
 
? :帮助信息
 
 
 
-g 表示下载文件 (get)
 
-p 表示上传文件 (put)
 
-l 表示本地文件名 (local file)
 
-r 表示远程主机的文件名 (remote file)
 
例如,要从远程主机192.168.1.2上下载 embedexpert,则应输入以下命令:
 
tftp -g -r embedexpert 192.168.1.2
 
 
 
出现的一些问题及原因(解决方法):
 
1、Transfer time out.     
 
  tftpd服务没有启动
 
2、Error code 0:Permission denied
 
    可能是由SELinux造成的,在FC3和FC3以后的FC版本中SELinux默认的都是开启的,现在要关掉它。
 
    修改文件/etc/sysconfig/selinux,设定SELINUX=disabled,然后重启电脑即可
 
  或者  执行命令system-config-securitylevel打开“安全级别配置”对话框,将SELinux(S)选项中“强制”改为“允许”
 
3、Error code 1:File not found
 
    指定的文件夹不存在;或tftpd启动参数中没有指定-c选项,允许上传文件
 
4、Error code 2:Only absolute filenames allowed
 
  /etc/xinetd.d/tftpd文件的设置没设好,只需要将server_args=  改为你自己设定   的服务器文件夹就行了
 
5、Error code 2:Access violation

Linux下TFTP服务的安装、配置和操作的更多相关文章

  1. Linux下apache+phppgadmin+postgresql安装配置

    Linux下apache+phppgadmin+postgresql安装配置 操作系统:CentOS 安装包:httpd(首选yum), php(包括php以及php-pgsql,php-mbstri ...

  2. memcached的安装和linux下memcached服务自启动的配置

    关于memcached在windows和linux环境的安装,以及在Linux系统系memcached服务自启动的配置,可以参考我在csdn上下的博客, windows和linux环境下memcach ...

  3. Linux下xampp集成环境安装配置方法 、部署bugfree及部署禅道

    XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包.XAMPP 是一个易于安装且包含 MySQL.PHP 和 Perl 的 Apache 发行版.XAMPP 的确非 ...

  4. linux下xampp集成包安装配置方法

    1.查看你linux系统的位数,是32位的还是64位的.使用uname -a命令查看. 显示有 x86_64则说明你是64位内核, 跑的是64位的系统. i386, i686说明你是32位的内核, 跑 ...

  5. Linux下 tftp 服务器的安装与使用

    安装步骤: 1. 安装xinetd, tftp-hpa tftpd-hpa a.  sudo apt-get install xinetd b.  sudo apt-get install tftp- ...

  6. linux下Django Nginx+uwsgi 安装配置

    原文链接 在前面的章节中我们使用 python manage.py runserver 来运行服务器.这只适用测试环境中使用. 正式发布的服务,我们需要一个可以稳定而持续的服务器,比如apache, ...

  7. Windows和Linux下apache-artemis-2.10.0安装配置

     window下安装配置 一.官网下载 http://activemq.apache.org/artemis/download.html 二.百度网盘下载 链接:https://pan.baidu.c ...

  8. linux下tigervnc-servere服务的安装与使用

    关于tigervnc-servere的安装,可以直接使用本地yum源进行安装. [root@ ~]# yum install tigervnc-server -y 其中tigervnc的主要配置文件位 ...

  9. Python 虚拟环境 | Mac/Linux下如何避坑安装配置Virtualenv

    1.为什么要使用虚拟环境 在Python中,不同的应用可能需要用到不同版本的第三方包,而这些第三方包被统一存放到目录site-packages中,不同版本的包容易相互覆盖,如安装Django 2.1时 ...

随机推荐

  1. Oracle 10g收集数据库统计信息

    1.需求概述 2.实施步骤 3.回退方案 1.需求概述 某数据库由于整体统计信息不准确,多次出现部分业务SQL选错执行计划,从而导致性能下降影响到最终用户体验,目前通过SQL_PROFILE绑定执行计 ...

  2. Hibernate映射数据库中longtext类型属性时报错No Dialect mapping for JDBC type: -1的解决方案

    出现错误的原因是:hibernate中对于数据库的longtext数据类型不支持. 解决方案: 1.写个类集成方言,然后自己实现对longtext的支持 import java.sql.Types; ...

  3. Go 初体验 - 令人惊叹的语法 - defer.4 - defer 对宿主函数返回值的影响

    defer 函数可以影响宿主函数的返回值 看代码: 调用: 输出: 结果又让人意外了. coo1:因为传引用,return 时 i = 100, return 返回的也是 100,return 执行之 ...

  4. 0006-20180422-自动化第七章-python基础学习笔记

    内容回顾: - bytes - str 和bytes - int - str - list - tuple - 深拷贝和浅拷贝 今日内容: 数据类型 - bytes - int - str - boo ...

  5. JSONModel(I)

    JSONModel使用简介 JSONModel 只需要将你的 model 类继承自 JSONModel ,而同时 model 中的属性名又恰巧可以和 JSON 数据中的 key 名字一样的话,那么非常 ...

  6. Class_fourh_异常总结

    使用try,catch,finally.检查指点检查点是否错误: try里填入监测的内容 catch 小括号里放类型错误  判断try里出现的错误是哪一类错误 中括号里放 输出内容 在控制台上输出错误 ...

  7. mysql两条sql合并查询总数

    select IFNULL(c.nodeCount,0) + IFNULL(c.phyCount,0) as totalCount from ( select count(*) nodeCount, ...

  8. Solution about MB STAR C4, MB STAR C5 Update and can not test vehicles problems

    Solution about MB Star C4, MB Star C5 Update and can not test vehicles problems 1. Make sure your co ...

  9. 2018-2019 ICPC, NEERC, Southern Subregional Contest (Online Mirror) Solution

    从这里开始 题目列表 瞎扯 Problem A Find a Number Problem B Berkomnadzor Problem C Cloud Computing Problem D Gar ...

  10. spark生成大宽表的parquet性能优化

    1.  背景介绍 将一份数据量很大的用户属性文件解析成结构化的数据供查询框架查询剖析,其中用户属性包含用户标识,平台类型,性别,年龄,学历,兴趣爱好,购物倾向等等,大概共有七百个左右的标签属性.为了查 ...