我正在开发一个带有脱机SDK的Linux设备更新/升级服务。Linux“apt-get update”工作流程
这个想法是将更新/升级Linux服务复制到脱机设备中。 “离线”设备能够达到“互联网”,但只能通过使用SDK和其他设备(多跳)进行消息交换。设备来自不同的体系结构,因此具有“互联网”功能(网关)的设备必须能够请求和下载要升级到/来自不同体系结构的软件包。网关设备必须能够从更新中缓存下载的请求包(作为CDN),避免回购请求。
离线设备没有IP地址,它的通信方式是无关紧要的,因为离线SDK保证了多跳上网的可达性。
我需要什么 - 我需要有人为我提供一些关于Linux上更新/升级工作流的帮助或指导。
我发现迄今:
更新
- 更新命令加载的/etc/apt/sources.list
- 不知道更新如何解决各行在/etc/apt/sources.list上,它似乎有一个函数,它载入与相应的回购文件夹相匹配的“deb”a“link”和“arguments”。
- 之后,它开始下载每个已解析链接中的所有相应“包”文件。
升级
- 使得更新后的本地“包”文件和“包”的文件在回购之间的比较。
难道有任何更新源代码/升级可用? 我在apt回购上做了一些网络搜索,但是我找不到更新/升级功能。
如何将您的支持互联网的设备设置为基于白名单的代理服务器或本地存储库镜像?你不需要编程任何东西,你可以得到一个坚如磐石的支持解决方案,而不是脆弱的自制黑客。 – spectras
[this]怎么样(https://github.com/Debian/apt/blob/1d9e29c9e2a5591b42a99a721b901fc003ed9149/apt-pkg/upgrade.cc)和[this](https://github.com/Debian/apt/blob/ 1d9e29c9e2a5591b42a99a721b901fc003ed9149 /公寓-PKG/update.cc)? –