gpt4 book ai didi

c - Linux“apt-get更新”工作流程

转载 作者:太空狗 更新时间:2023-10-29 15:08:43 25 4
gpt4 key购买 nike

我正在为linux设备开发一个带有离线sdk的更新/升级服务。
其目的是将更新/升级linux服务复制到脱机设备中。“离线”设备能够访问“互联网”,但只能通过使用sdk的消息交换和其他设备(多跳)。设备来自不同的架构,因此具有“Internet”功能(网关)的设备必须能够请求和下载要升级到不同架构的包。网关设备必须能够缓存从更新中下载的请求包(充当cdn),从而避免repo请求。
脱机设备没有IP地址,通信方式也不相关,因为脱机的sdk保证了多跳网络的可访问性。
我需要什么-我需要有人给我提供一些关于Linux上更新/升级工作流程的帮助或指导。
到目前为止我发现:
更新
update命令加载/etc/apt/sources.list
不知道update如何解析/etc/apt/sources.list上的每一行,它似乎有一个函数,在其中加载与相应repo文件夹匹配的“deb”a“link”和“arguments”。
之后,它开始下载每个解析链接中的所有相应“包”文件。
升级
比较更新的本地“包”文件和repo中的“包”文件。
有更新/升级的源代码吗?
我在apt repos上做了一些web搜索,但是找不到更新/升级功能。

最佳答案

@关于网关的代理设置,它不符合我的目的。脱机设备向网关发出更新请求。我们可以假设网关没有Internet限制。我认为没有必要把大门变成一面镜子。我对将该进程复制到脱机sdk中的更新/升级机制更感兴趣。
目前,我的问题是脱机设备是ARM,网关是x64,当我从x64体系结构中的ARM请求sources.list更新时,更新二进制文件将返回一个错误的体系结构错误。
因此,我需要知道如何使网关忽略架构,并根据源下载包更新。列表我将其设置为加载,而不考虑架构。
@ BenjaminW。当我发布这个问题时,我开始着手下载apt源代码,并意识到apt-get会加载你提到的二进制文件(更新和升级)。谢谢你的小费。不过,我现在正试图更好地了解更新和升级机制的工作原理:
-我知道更新会加载/etc/apt/lists/sources.list
-我将sources.list从脱机设备(arm)传输到网关设备(x64)并在网关上启动更新。
-网关上的更新读取我从ARM放在那里的sources.list,当它开始解析时,显示错误“跳过配置文件的获取…不支持体系结构…”
我要做的是让网关忽略体系结构,并从arm中强制执行source.list。我只需要打包文件。
你还有其他想法或其他方法吗?

关于c - Linux“apt-get更新”工作流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45919115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com