<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>封闭构建 on PlumePHP</title><link>https://plumephp.com/tags/%E5%B0%81%E9%97%AD%E6%9E%84%E5%BB%BA/</link><description>Recent content in 封闭构建 on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Wed, 30 Sep 2026 11:00:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/%E5%B0%81%E9%97%AD%E6%9E%84%E5%BB%BA/index.xml" rel="self" type="application/rss+xml"/><item><title>可复现与封闭构建：固定哈希、网络隔离与确定性</title><link>https://plumephp.com/nix-reproducible-hermetic-builds/</link><pubDate>Wed, 30 Sep 2026 11:00:00 +0800</pubDate><guid>https://plumephp.com/nix-reproducible-hermetic-builds/</guid><description>&lt;h2 id="引言"&gt;引言&lt;/h2&gt;
&lt;p&gt;「同样的输入永远产生同样的输出」是 Nix 的核心承诺，但&lt;strong&gt;默认并不保证&lt;/strong&gt;——构建脚本仍可能读网络、依赖系统环境、嵌入时间戳。本文讲清 Nix 如何逼近「可复现构建」：固定哈希的构建结果校验、沙箱与网络隔离、确定性的敌人（时间戳/路径/环境变量）、以及如何用 &lt;code&gt;nix build --rebuild&lt;/code&gt; 和 diffoscope 验证两个构建产物完全一致。&lt;/p&gt;</description></item></channel></rss>