Tftp服务器环境搭建

 1、什么是Tftp

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是一种基于UDP(User Datagram Protocol)的文件传输协议,它被设计为一个非常简单的文件传输机制,特别适用于那些对复杂性有严格限制的环境,如小型嵌入式系统或者进行网络引导(如DHCP和PXE启动过程中)。相比于FTP(File Transfer Protocol),TFTP不支持复杂的命令集、用户验证、目录浏览等高级功能,仅提供了基本的文件传输能力。

TFTP协议主要特点包括:

1. 简单性:由于其设计简单,实现容易,占用资源少,因此常用于引导加载程序、配置备份等场景。

2. 无连接:基于UDP协议,每次数据传输都不需要建立连接,降低了开销。

3. 小文件传输:主要用于传输小文件,如配置文件或启动映像。

4. 安全性:TFTP协议本身不包含任何安全措施,如加密或认证,所有传输都是明文的。

5. 五种报文类型:包括读请求(RRQ)、写请求(WRQ)、数据报文(DATA)、确认报文(ACK)和错误报文(ERROR)。

2、Tftp服务器环境搭建的目的

在Linux系统移植过程中我们的最终目的是让Linux在产品或者开发板上可以正常的运行工作,为了让Linux能够正常的工作运行,需要我们讲配置好的Linux镜像文件、跟文件系统等下载到开发板内运行,这个下载过程如果使用串口烧录不但不方便还很慢,使用网络的方式烧录既方便又快捷,所以需要搭建一个网络环境保障ubuntu(服务器用于存放Linux镜像等待烧录的文件)和产品或者开发板能够正常网络通信,上个实验开发板已经可以和服务器进行通信了,这里我们在Ubuntu(服务器中安装Tftp用于开发板和Ubuntu之间进行文件传输,这里提到的文件就是(Linux内核、根文件系统和Uboot))

3、Tftp服务器搭建

●  检查是否已经安装Tftp服务器(使用命令 ’dpkg -s tftpd-hpa‘ 查看)

●  显示如下信息表示安装了

●  如果没有安装、确保Ubuntu正常联网,输入(sudo apt-get install tftpd-hpa tftp-hpa)命令进行安装。安装了直接执行下一步

●  修改tftp服务器配置文件(sudo vi /etc/default/tftpd-hpa)(下图为修改之前)

●  修改为如下内容(第四行为Tftp服务器路径(即客户端要下载的文件需要放到该目录下),下面步骤中会创建,第五行一定要是:69,注意有个冒号,第六行为权限),修改完保存退出

●  创建服务器工作目录并设置为最高的权限(这里的目录就是上一步填写的)

sudo mkdir /tftpboot  创建目录
sudo chmod 777 /tftpboot  修改为最高权限

●  重启tftp服务,使配置生效。

●  本地测试tftp服务器是否配置成功

进入到服务器工作目录,并创建文件1.txt(名字随意),可以打开编辑点任意内容。

●  按照下图进行tftp里面文件获取

●  使用vi 1.txt查看文件内容

和我们刚刚在tftp目录下创建的内容一致,证明我们成功通过tftp服务器获取到了,tftp目录下的文件。

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

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

相关文章

深入解析PHP框架:Symfony框架的魅力与优势

嘿,PHP开发者们!今天我们要聊一聊PHP世界中的一颗闪亮明星——Symfony框架。无论是初学者还是经验丰富的开发者,Symfony都为大家提供了强大的工具和灵活的特性。那就跟着我一起,来探索这个强大的PHP框架吧! 一、什么是…

make2exe:自动集成测试

模板Makefile,生成多个C/C模块的集成测试程序。

TypeScript通过MsgPack发送数组到C++反序列化失败

const object [MsgId.SelectRoles,[id]//虽然是整数,但是也强制转成FLOAT64发出去了/* */];const encoded: Uint8Array msgpack.encode(object);if (this.websocket ! undefined) {console.log(send,encoded)this.websocket.send(encoded)} struct MsgSelectRole…

简单理解闭包|作用域和作用域链|执行上下文

本文主要介绍对闭包|作用域和作用域链|执行上下文三个的理解。 1.闭包 (1)定义 闭包指有权访问另一个函数作用域中变量的函数。 (2)闭包的基本特性 函数嵌套:内部函数可以访问外部函数的作用域,包括参…

如何自定义语法与其他语句进行映射

1、如何自定义注解与hbase的api进行通信,自动进行类映射 2、如何定义一个对象 与sql中语法进行匹配 各种场景,都可以写一个针对特定软件的语法,进映射 package hbase;import org.apache.commons.lang3.StringUtils; import org.apache.had…

S7Comm

S7Comm 是西门子(Siemens)为其可编程逻辑控制器(PLC)系列,尤其是 S7-300 和 S7-400 系列,开发的一种专有通信协议。它允许这些 PLC 设备之间以及 PLC 与其它工业自动化组件(如 HMI、SCADA 系统或…

免费【2024】springboot 基于微信小程序的宠物服务中心

博主介绍:✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围:SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…

JavaDS —— 二叉搜索树、哈希表、Map 与 Set

前言 我们将学习 Map 与 Set 这两个接口下的 TreeMap 与 TreeSet ,HashMap 与 HashSet ,在学习这四个类使用之前,我们需要先学习 二叉搜索树与 哈希表的知识。 二叉搜索树 在学习二叉树的时候,我们就已经了解过二叉搜索树的概念…

代码随想录算法训练营DAY64|拓扑排序、dijkstra(朴素版)

拓扑排序精讲 from collections import dequedef bfs(degrees):nodes deque()for j in range(n):if degrees[j]0:nodes.append(j)result [] while nodes:idx nodes.popleft()result.append(str(idx))if depend[idx]:for file in depend[idx]:degrees[file]-1if degr…

酒店智能门锁接口pro[0922]D801 对接收银-SAAS本地化-未来之窗行业应用跨平台架构

proUSB接口函数[0922中性版]-D801 调用函数库: 提供Windows下的32位动态连接库proRFL.DLL,函数使用详细说明 //-----------------------------------------------------------------------------------// 功能:读DLL版本,不涉…

【Linux C | 网络编程】进程池退出的实现详解(五)

上一篇中讲解了在进程池文件传输的过程如何实现零拷贝,具体的方法包括使用mmap,sendfile,splice等等。 【Linux C | 网络编程】进程池零拷贝传输的实现详解(四) 这篇内容主要讲解进程池如何退出。 1.进程池的简单退…

在信息检索领域,NLP 如何能够更精准地理解用户的模糊或不完整的自然语言查询需求?

在信息检索领域,NLP(自然语言处理)可以使用多种技术来更精准地理解用户的模糊或不完整的自然语言查询需求。以下是一些常见的技术和方法: 词义消歧:NLP可以通过使用上下文信息、词汇数据库(如WordNet&#…

Greenplum数据库中的数据倾斜问题及处理方法

一、数据倾斜问题的原因 数据分布不均匀:当数据在表的分区或分片中不均匀分布时,会导致某些分区或分片的数据量较大,从而引发数据倾斜问题。连接键存在热点数据:如果连接操作中使用的键值存在热点数据,即某些键值出现…

Java并发编程(上)

并发:多个线程(进程)竞争一个资源 并行:多个线程(进程)同时运行不同资源 线程和进程的关系简单地说,进程是一个容器,一个进程中可以容纳若干个线程,一个进程里面&#…

微信小程序入门

创建一个入门程序 这是index.vxml代码 <!--index.wxml--> <navigation-bar title"Weixin" back"{{false}}" color"black" background"#FFF"></navigation-bar> <view class"container" ><view&…

苹果CMS:资源采集站如何设置定时采集详细教程讲解

我们搭建好站点之后&#xff0c;会自定义一些采集&#xff0c;但是需要每天去手动执行&#xff0c;有时候甚至会忘记&#xff0c;那我们如何处理呢&#xff1f;今天我们就来介绍一下如何设置定时器。 如果按照官方例子来设置定时器会遇到一个问题就是采集的资源未绑定类型&…

提升 Symfony 性能:优化技巧与工具

提升 Symfony 性能&#xff1a;优化技巧与工具 Symfony 是一个强大的 PHP 框架&#xff0c;广泛应用于各种规模的 Web 应用程序开发。尽管 Symfony 提供了许多内置的性能优化特性&#xff0c;但在实际开发中&#xff0c;我们仍需掌握各种技巧和工具来进一步提升其性能。本文将…

WAF+API安全代表厂商|瑞数信息入选IDC报告《生成式AI推动下的中国网络安全硬件市场现状及技术发展趋势》

近日&#xff0c;全球领先的权威资讯机构IDC正式发布《IDC Market Presentation&#xff1a;生成式AI推动下的中国网络安全硬件市场现状及技术发展趋势&#xff0c;2024》报告。报告中IDC 评估了众多厂商的安全硬件产品能力&#xff0c;并给出了产品对应的推荐厂商供最终用户参…

04 | 深入浅出索引(上)

此系列文章为极客时间课程《MySQL 实战 45 讲》的学习笔记&#xff01; 索引的常见模型 可以提供查询效率的数据结构有很多&#xff0c;常见的有三种&#xff1a;哈希表、有序数组、搜索数。 哈希表是一种以 key-value 形式存储的数据结构。输入一个 key&#xff0c;通过固定…

强烈推荐java人,2024年大厂面试背这份(八股文+场景题结合)!很管用!

2024 年的行情&#xff0c;和 3~4 年前不同&#xff0c;通过海量简历投递和海量面试找工作的时代已经过去了。 在如今面试机会较少&#xff0c;并且面试难度较大的情况下。 充分做好面试的准备才是快速通过面试最有效的方法&#xff01; 切忌把真实面试当靶场&#xff0c;最…