Alpine Linux:apk 缓存 APKINDEX 校验和详细信息

Alpine Linux:apk 缓存 APKINDEX 校验和详细信息

在 Alpine Linux 中,当我运行命令时,apk update它会查看我的/etc/apk/repositories文件并APKINDEX.tar.gz从每个存储库下载该文件。然后,它使用校验和将每个文件重命名为表示某些校验和的APKINDEX tar格式。APKINDEX.12345678.tar.gz12345678

我一直在尝试了解此校验和的工作原理,因为我想更新脱机 Alpine 安装的软件包列表。为了更好地理解它,我正在阅读apk工具的源代码。从源头来看,我知道校验和是 SHA1 哈希值的 4 个字节,但我无法弄清楚 SHA1 哈希值的含义。

校验和的 4 个字节从哪里来APKINDEX?具体来说,重新计算的算法是什么?如果这个问题已经得到解答,我深表歉意,但我花了很多天在互联网上搜索,但没有得到任何结果。

答案1

找到了答案。它是存储库名称的 SHA1 哈希值的简单 4 个字节。因此,如果存储库是https://dl-cdn.alpinelinux.org/alpine/v3.18/main,则该 URL 的 SHA1 哈希值是49104001a9bfdb6b41229ce23bb30b7aec6c4fddAPKINDEX文件将是APKINDEX.49104001.tar.gz

相关内容