主要观点:NixOS 不符合可重现构建的定义,人们常对此有误解。
关键信息:
- 可重现构建定义为给定相同源代码、构建环境和指令,任何方都能创建位对位相同的构件,Nix 或 NixOS 未提供此保证。
- 有人认为 Nix 基于派生文件的哈希值存储文件所以可重现是错误的,且 nixos.org 多年来将“可重现构建”作为首页首词也易造成误解。
- 区分了三种构建概念:密封构建(在隔离环境中构建,指定所有源并加密固定)、可重现构建(运行相同构建确保构件相同)、可验证构建(从二进制到源有可信验证路径),NixOS 可在其发行版中强调“可验证构建”。
重要细节: - 作者自 2017 年投入业余时间研究此话题,带可重现构建 T 恤参加活动时,遇到的反应多是与 Nix 相关,而非对该话题的深入探讨。
- 各 Linux 发行版都在可重现构建方面有工作,如 Fedora 重新启动努力,Arch 希望达到 90%的包可重现,NixOS 有可重现构建问题的仪表盘和相关邮件列表。希望此文能澄清误解并激励人们为解决此问题贡献力量。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。