小记 - 尝试拼凑出 apt 仓库中的 deb 包下载地址

小记 - 尝试拼凑出 apt 仓库中的 deb 包下载地址

💡 原文中文,约2400字,阅读约需6分钟。
📝

内容提要

2024年3月13日,UOS商店上架最新微信,成功获取到微信的完整下载地址。

🔎

延伸解读

UOS 仓库结构解析

UOS 的软件来源分为系统软件仓库和应用商店仓库。系统软件仓库包含 Linux Kernel、GCC 等开源软件,而应用商店仓库则存放上架的软件,大多为闭源。文章通过分析 /etc/apt/sources.list.d/appstore.list 文件,确认了应用商店仓库的地址,并利用 Debian APT 仓库的目录结构,成功拼凑出 Packages 文件的下载链接,从而获取 deb 包信息。

绕过 403 限制的技巧

直接访问 UOS 应用商店源地址时返回 403 错误,表明官方不愿公开源的文件列表索引。但由于 UOS Desktop 依赖 APT 进行软件安装,其源遵循 Debian 的 APT Repository 标准结构。作者通过访问 Release 文件获取索引,再拼出 Packages 文件链接,最终用 grep 检索到微信 deb 包的完整路径,绕过了直接访问的限制。

对 AUR 维护者的帮助

文章提到,获取微信 deb 包下载地址的目的是帮助 AUR Maintainer 更新软件包。一周前出现的来源不明的 Linux 微信,经 control 信息确认是腾讯官方出品,但未公开下载渠道。通过从 UOS 仓库提取地址,AUR 维护者可以及时获取最新版本,确保 Arch Linux 用户能安装到官方微信。

❓

Q&A

如何从UOS商店下载最新的微信?

可以通过访问UOS的appstore源,拼凑出deb包的完整下载地址来下载最新的微信。

UOS的appstore源包含哪些软件?

UOS的appstore源包含应用商店中上架的软件,大部分可能是闭源的。

如何获取deb包的信息?

可以访问amd64架构的Packages文件,使用grep命令检索关键词来获取deb包的信息。

为什么无法直接访问UOS的源地址?

直接访问时,源地址返回403,可能是因为他们不愿意公开源地址的filelist index。

UOS Desktop如何实现软件安装?

UOS Desktop依赖APT实现软件安装,其源符合Debian的APT Repository结构。

如何拼凑出deb包的下载地址?

可以通过在Packages文件中找到deb包的相对路径,并加上源的url前缀来拼凑出完整下载地址。

🏷️

标签

➡️

继续阅读