• lv3 嵌入式开发-9 linux TFTP服务器搭建及使用


    目录

    1 TFTP服务器的介绍

    2 TFTP文件传输的特点

    3 TFTP服务器的适用场景

    4 配置介绍

    4.1 配置步骤

     4.2 使用

    5 常见错误


    1 TFTP服务器的介绍

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

    2 TFTP文件传输的特点

    tftp使用客户服务器方式和使用UDP数据报,因此tftp需要有自己的差错改正措施。(如丢包)

    tftp支持小文件传输。(FTP)

    tftp没有一个庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别。(必须提前知道目录)

    3 TFTP服务器的适用场景

    场景需求:频繁修改内容

    如需要下载开发板xx.bin文件,电脑上不断调整下载到开发板 

    4 配置介绍

    4.1 配置步骤

    测试ubuntu网络情况

     ping www.baidu.com

    检测软件源更新

    sudo apt-get update
    

    安装客户端(tftp)和服务器(tftpd)

    sudo apt-get install tftpd-hpa tftp-hpa

    编辑配置

    sudo vi /etc/default/tftpd-hpa

    内容 如下

    1. # /etc/default/tftpd-hpa
    2. TFTP_USERNAME="tftp"
    3. TFTP_DIRECTORY="/home/linux/tftpboot" //我们设定的TFTP根目录;mkdir创建
    4. TFTP_ADDRESS="0.0.0.0:69" //ip和端口号 0.0.0.0代表任意ip都可以
    5. TFTP_OPTIONS="-c -l -s" //TFTP启动参数
    6. #-l:以standalone/listen模式启动TFTP服务,而不是从xinetd启动。(不需要依赖其他进程)
    7. #-c:可创建新文件。默认情况下,TFTP只允许覆盖原有文件,不能创建新文件。
    8. #-s:改变TFTP启动的根目录。不用手动指定目录,默认使用配置文件中的目录。 

    给文件目录一个权限

    chmod 777 tftpboot
    

    启动服务

    sudo service tftpd-hpa restart

     4.2 使用

    连接服务器 localhost代表本地。

    get [filename] 获取文件

    put [filename] 上传文件

    q 退出

    1. linux@linux:~$ tftp localhost
    2. tftp> get test
    3. tftp> q
    4. linux@linux:~$ cat test
    5. hello
    6. linux@linux:~$

     

    5 常见错误

    错误现象: Transfer timed out

    原因:tftpd服务没有启动

    解决方法:启动服务 sudo service tftpd-hpa restart
     

    错误现象:Error code 2:Only absolute filenames allowed

    原因:在/etc/default/tftp-hpa中配置出错

    解决方法:参考手册重新配置

    错误现象:Error code 1:File not found

    原因:指定的文件不存在; tftpd启动参数中没有指定-c选项,允许上传文件~上传的时候一定要确保文件先存在于上传目录下

    错误现象: tftp:Permission denied

    原因:权限不足

    解决方法:检查文件的权限(要考虑是本用户、同组、其他用户)chmod 777 

  • 相关阅读:
    js回调函数
    Matlab App Designer 【04】使用公共函数在两个App之间传递数据
    腾讯春招C++面试题大解析:最全面!最详细!2024年必备攻略,99%的开发者已收藏!
    PMP提分练习
    【Sword系列】Vulnhub靶机HACKADEMIC: RTB1 writeup
    go语言ast语法解析
    马尔科夫链(Markov Chain, MC)算法详解及Python实现
    Efficientnet网络
    2022年前端Vue常见面试题大全(三万长文)持续更新
    学信息系统项目管理师第4版系列20_风险管理
  • 原文地址:https://blog.csdn.net/m0_60718520/article/details/132700926