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

news2024/11/25 11:57:48

目录

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

内容 如下

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/linux/tftpboot"     //我们设定的TFTP根目录;mkdir创建
TFTP_ADDRESS="0.0.0.0:69"       //ip和端口号 0.0.0.0代表任意ip都可以
TFTP_OPTIONS="-c -l -s"              //TFTP启动参数

#-l:以standalone/listen模式启动TFTP服务,而不是从xinetd启动。(不需要依赖其他进程)

#-c:可创建新文件。默认情况下,TFTP只允许覆盖原有文件,不能创建新文件。

#-s:改变TFTP启动的根目录。不用手动指定目录,默认使用配置文件中的目录。 

给文件目录一个权限

chmod 777 tftpboot

启动服务

sudo service tftpd-hpa restart

 4.2 使用

连接服务器 localhost代表本地。

get [filename] 获取文件

put [filename] 上传文件

q 退出

linux@linux:~$ tftp localhost
tftp> get test
tftp> q                       
linux@linux:~$ cat test 
hello
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 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/977900.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

9.3.3网络原理(网络层IP)

一.报文: 1.4位版本号:IPv4和IPv6(其它可能是实验室版本). 2.4位首部长度:和TCP一样,可变长,带选项,单位是4字节. 3.8位服务类型 4.16位总长度:IP报头 IP载荷 传输层是不知道载荷长度的,需要网络层来计算. IP报文 - IP报头 IP载荷 TCP报文 TCP载荷 IP载荷(TCP报文) …

解决方案|电子签加速证券业“数字革命”

电子签在各行各业中的快速普及已成为近年来的新趋势。与此同时,电子签也在证券行业中掀起一场数字化转型的新“革命”。 2020年10月, 中基协《私募投资基金电子合同业务管理办法(试行)(征求意见稿)》明确了…

《代码随想录》刷题笔记——链表篇【java实现】

链表节点定义 public class ListNode {// 结点的值int val;// 下一个结点ListNode next;// 节点的构造函数(无参)public ListNode() {}// 节点的构造函数(有一个参数)public ListNode(int val) {this.val val;}// 节点的构造函数(有两个参数)public ListNode(int val, ListNo…

【80天学习完《深入理解计算机系统》】第十四天 复习第三章

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示&#…

层次分析法(matlab实现)

1.层次分析法(AHP) 在决策理论中,层次分析法是一种以数学和心理学为基础,组织和分析复杂决策的结构化技术,它代表了一种量化决策标准权重的准确方法,通过成对比较,利用个别专家的经验来估计因素…

MySQL5.7慢查询实践

总结 获取慢查询SQL 已经执行完的SQL,检查慢查询日志,日志中有执行慢的SQL正在执行中的SQL,show proccesslist;,结果中有执行慢的SQL 慢查询日志关键参数 名称解释Query_time查询消耗时间Time慢查询发生时间 分析慢查询SQL e…

【LeetCode算法系列题解】第56~60题

CONTENTS LeetCode 56. 合并区间(中等)LeetCode 57. 插入区间(中等)LeetCode 58. 最后一个单词的长度(简单)LeetCode 59. 螺旋矩阵 II(中等)LeetCode 60. 第k个排列(困难…

ARM DIY(八)USB 调试

前言 V3s 带有一个 USB 接口,将其设置为 HOST 或 OTG 模式,这样可以用来接入键盘、鼠标等 USB 外设。 USB 简介 USB 有两种设备:HOST 和 USB 功能设备。 在 USB2.0 中又引入了一个新的概念 OTG,即设备角色可以动态切换。 切换方…

ZYNQ上的简单 FSK 基带发射器

绪论 由于某种需求需要生成正弦波,因此使用 C 应用程序中的sin()函数来计算单位圆的幅度值,然后将该幅度值转换为 AD9717 的适当 DAC 代码(当然将每个角度值转换为弧度)。 能够使用DAC生成简单的正弦波,下一个想法就是…

MSYS2 介绍、下载与安装、Pacman常用命令

一、MSYS2 介绍 MSYS2 官网:MSYS2 MSYS2(Minimal SYStem 2)是一个集成了大量的GNU工具链、工具和库的开源软件包集合。它提供了一个类似于Linux的shell环境,可以在Windows系统中编译和运行许多Linux应用程序和工具。 MSYS2基于…

GPT转换工具:轻松将MBR转换为GPT磁盘

为什么需要将MBR转换为GPT? 众所周知,Windows 11已经发布很长时间了。在此期间,许多老用户已经从Windows 10升级到Windows 11。但有些用户仍在运行Windows 10。对于那些想要升级到Win 11的用户来说,他们可能不确定Win 11应该使…

【初阶C语言】操作符1--对二进制的操作

前言:本节内容介绍的操作符,操作的对象是二进制位。所以前面先介绍整数的二进制位 一、二进制位介绍 1.二进制介绍 (1)整数的二进制表示形式有三种:原码、反码和补码。 (2)原码、反码和补码的…

TPS-MIS-DSS

TPS-MIS-DSS 业务处理系统TPS管理信息系统MIS决策支持系统DSS 业务处理系统TPS 最初级的信息系统,管理具体的事务 TPS是其他类型信息系统的信息产生器 处于企业系统的边界 管理信息系统MIS 对企业整体的信息进行处理 使用信息进行预测,控制,计…

一些重要的硬件概念总结

电路噪声 区分噪声和干扰 对于电子线路中所称的噪声,可以概括地认为,它是对目的信号以外所有信号的一个总称。 最初人们把造成收音机这类音响设备所发出的那些电子信号称为噪声。但是,一些非目的的电子信号对电子线路造成的后果并非都和声音有…

【LeetCode每日一题合集】2023.8.28-2023.9.3(到家的最少跳跃次数)

文章目录 57. 插入区间823. 带因子的二叉树解法——递推 1654. 到家的最少跳跃次数(BFS,🚹最远距离上界的证明)1761. 一个图中连通三元组的最小度数2240. 买钢笔和铅笔的方案数解法1——完全背包解法2——枚举买了几支钢笔(推荐解法&#xff…

华为云云服务器评测|使用云耀云服务器L实例部署Portainer工具

华为云云服务器评测|使用云耀云服务器L实例部署Portainer工具 一、云耀云服务器L实例介绍1.1 云耀云服务器L实例简介1.2 云耀云服务器L实例特点1.3 云耀云服务器L实例使用场景 二、本次实践介绍2.1 本次实践简介2.2 Portainer简介 三、购买云耀云服务器L实例3.1 登录…

java八股文面试[数据库]——主键的类型自增还是UUID

auto_increment的优点: 字段长度较uuid小很多,可以是bigint甚至是int类型,这对检索的性能会有所影响。 在写的方面,因为是自增的,所以主键是趋势自增的,也就是说新增的数据永远在后面,这点对于…

QT—基于http协议的网络文件下载

1.常用到的类 QNetworkAccessManager类用于协调网络操作,负责发送网络请求,创建网络响应 QNetworkReply类表示网络请求的响应。在QNetworkAccessManager发送一个网络请求后创建一个网络响应。它提供了以下信号: finished():完成…

Rider 中C#单元测试

使用NUnit.Framework这个包,没有的话可以用nuget去搜索下载。简单的进行单元测试,想要单元测试好像还给需要static函数,慢慢学学C# using System; using NUnit.Framework;namespace client {public class test{[Test]public static void test…

(二十二)大数据实战——Flume数据采集之故障转移案例实战

前言 本节内容我们完成Flume数据采集的故障转移案例,使用三台服务器,一台服务器负责采集nc数据,通过使用failover模式的Sink处理器完成监控数据的故障转移,使用Avro的方式完成flume之间采集数据的传输。整体架构如下:…