Arch Linux 现推出逐位可复现的 Docker 镜像

Lobsters Hottest 工具

摘要

Arch Linux 在全新的 "repro" 标签下发布了逐位可复现的 Docker 镜像,用户需在包管理前重新生成 pacman 密钥。

<p><a href="https://lobste.rs/s/wps0js/arch_linux_now_has_bit_for_bit">评论区</a></p>
查看原文
查看缓存全文

缓存时间: 2026/04/22 19:31

# Arch Linux 现已提供逐比特可复现的 Docker 镜像 来源:https://antiz.fr/blog/archlinux-now-has-a-reproducible-docker-image/ - 2026 年 4 月 21 日,星期二 - 阅读时间 3 分钟 继几个月前我们的 WSL 镜像达成类似里程碑(https://antiz.fr/blog/the-archlinux-wsl-image-is-now-reproducible/)之后,很高兴告诉大家:Arch Linux 现已拥有**逐比特可复现**的 Docker 镜像! 该镜像以新的 `repro` 标签分发(https://hub.docker.com/layers/archlinux/archlinux/repro)。之所以单独设立标签,是因为有一个**明显**的注意事项:为保证可复现性,镜像内的 pacman 密钥环被移除,导致 pacman **开箱即用**时会失效。在找到合适的技术方案前,我们先将这一可复现镜像作为首个里程碑单独发布。 实际使用时,用户需在容器内**重新生成** pacman 密钥环,才能安装或更新软件包。命令如下: ```bash pacman-key --init && pacman-key --populate archlinux ``` 可在首次启动时手动执行,或在 Dockerfile 的 `RUN` 语句中加入(若以此镜像为基础)。 Distrobox 用户可通过预初始化钩子一步完成: ```bash distrobox create -n arch-repro -i docker.io/archlinux/archlinux:repro \ --pre-init-hooks "pacman-key --init && pacman-key --populate archlinux" ``` 镜像的逐比特一致性通过以下方式验证: - 多次构建的 digest 完全相同(`podman inspect --format '{{.Digest}}'`) - 使用 [diffoci](https://github.com/reproducible-containers/diffoci) 对比构建结果 完整的复现文档见[此处](https://gitlab.archlinux.org/archlinux/archlinux-docker/-/blob/master/REPRO.md)。 最大的挑战是让 Docker 基础 rootFS 的构建过程**可 deterministic**,我们直接复用了 WSL 镜像的同一套 rootFS 构建系统(https://gitlab.archlinux.org/archlinux/archlinux-wsl/-/commit/7c0340e26358048f3f8ee03b3ab3aea666751712)。Docker 特有的调整主要包括(详见 diffoci 报告): - 设置 `SOURCE_DATE_EPOCH` 并在 Dockerfile 的 `org.opencontainers.image.created` LABEL 中引用 - 构建时删除引入非确定性的 `ldconfig` 辅助缓存文件 - 在 `docker build` / `podman build` 时通过 `--source-date-epoch=$SOURCE_DATE_EPOCH` 与 `--rewrite-timestamp` 统一时间戳 更多细节可查看 [archlinux-docker 仓库的相关变更集](https://gitlab.archlinux.org/archlinux/archlinux-docker/-/merge_requests/96/diffs)。 感谢 [Mark](https://hegreberg.io/) 在此过程中的帮助! 这是我们“可复现构建”大目标中的又一重要成果,我已经在期待下一步了!🤗 顺便一提,我打算后续在服务器上为这款 Docker 镜像(以及 [WSL 镜像](https://gitlab.archlinux.org/archlinux/archlinux-wsl/-/blob/main/REPRO.md) 和将来可能出现的其他可复现镜像)搭建一个自动 rebuilder:定期拉取最新镜像、重构建、验证可复现性并公开日志与结果——只要我能抽出时间 👼。

相似文章

2026年5月可重复构建进展报告 **欢迎阅读我们的每月更新!** 本期将汇报 [可重复构建](https://reproducible-builds.org/) 项目在2026年5月的最新进展。如您有意参与贡献,请访问我们的 [贡献指南](https://reproducible-builds.org/contribute/) 页面,或通过 `#reproducible-builds` IRC 频道(位于 [irc.oftc.net](https://www.oftc.net/))与我们取得联系。 --- ## 本月动态 ### 新闻与媒体报道 ... ### 发行版进展 ... ### 软件项目进展 ... ### 社区活动 ... --- *如需了解更多信息,欢迎访问 [reproducible-builds.org](https://reproducible-builds.org/)。*

Lobsters Hottest

# 2026年5月可重复构建报告 2026年5月的可重复构建报告重点介绍了一项重大的 Debian 政策变更——要求所有软件包必须可重复构建才能纳入"forky"版本发布,同时还包括2026年哥德堡峰会的相关消息、新版本 rebuilderd 的发布以及其他项目更新。

AURpocalypse 降临:近期 AUR 攻击事件一览

Hacker News Top

Arch 用户软件仓库(AUR)持续遭受攻击,攻击者通过创建新账户来接管被遗弃的软件包并推送恶意更新。该项目已暂时禁用新用户注册,但长期安全解决方案仍不明确。