Arch Linux 现在提供了一个完全可复现的 Docker 镜像,继其 WSL 镜像之后,将其可复现构建计划扩展到了容器领域。该新镜像使用单独的标签发布repro,不会取代标准的 Arch Linux 容器镜像。

对于不熟悉该术语的读者,可复现镜像是指从同一源重新构建的镜像,能够生成完全相同的逐字节结果。对于 Arch Linux 而言,这确保了重复构建能够产生相同的镜像摘要。该项目使用diffociOCI 容器镜像比较工具来验证这一点。
简而言之,一切都关乎安全性。可复现性使用户能够验证已发布的容器镜像与其源代码和构建过程是否一致,从而增强供应链透明度。独立构建且结果完全一致,可降低隐藏差异的风险。
然而,目前的实现存在一个关键限制。为了保持可复现性,Arch 移除了 pacman 密钥,因此 pacman 无法立即使用。用户必须手动重新生成密钥环,方法是pacman-key --init && pacman-key --populate archlinux在更新或安装软件包之前运行命令。Arch 将单独的repro标签视为寻求更佳解决方案的第一步。
根据公告,Docker 特有的关键更改包括设置SOURCE_DATE_EPOCH,将其应用于 OCI 镜像创建标签,删除 ldconfig 辅助缓存文件以消除不确定性,以及在 Docker 和 Podman 构建期间规范化时间戳。

