# Barn 0.2.0：选点收敛与发布完整性

> VPN 感知网络预检、选定节点扩容、基于已提交状态的集成、CI 多平台产物与 0.1.0 升级边界。

---

LLMS 索引： [llms.txt](/zh/llms.txt)

---

> [!NOTE]
> 本文为 `0.2.0` 历史发布记录。旧版发行附件已下线，安装当前版本请参见[安装指南](/zh/docs/start/installation/)。

Barn 0.2.0 延续了 0.1.0 的 Pigsty 清单与磁盘部署格式，修复了真机回归测试中发现的 VPN 宽泛路由误拦与指定节点增量收敛问题。

## 主要变化 {#what-changed}

- **VPN 感知的路由预检。** `10.0.0.0/8` 等前缀更短的 VPN 排除路由不再误拦 Barn 专属的 `10.10.10.0/24` 子网；当存在相同或更具体的外部路由、接口重叠、IP 地址被占用或自有路由缺失时，预检仍会拒绝启动。
- **真正的按节点按需收敛。** `barn up <node>` 仅下载并准备目标节点所需的镜像与磁盘。清单中尚未创建的节点显示为 `absent`；SSH 配置、`/etc/hosts`、客机引导、UUID 与端口分配、生命周期命令及持久盘检查均严格基于已提交的节点集合，同时保留完整清单定义供后续扩容使用。
- **更新客机 `/etc/hosts` 归属标记。** 新创建的客机统一写入 `# barn-deployment-host` 标记，并在更新 hosts 条目前自动清理该标记及 0.1.0 遗留的 `# barn-project-host` 标记。
- **交互与工程细节改进。** 集成了命令取消信号处理、结构化 JSON/YAML 输出、交互确认、`barn reload`、诊断信息脱敏以及依赖树精简。

## 真机与发布证据 {#native-and-release-evidence}

- **macOS `arm64`/HVF（开启 MonoProxy）**：完成指定节点 `u24-1` 创建、SSH、`stop`/`start`、增量扩容已缓存的 `el9-1`、双节点横向 SSH（其余 5 个节点保持 `absent`）及整套部署销毁验证。
- **Ubuntu 26.04 `amd64`/KVM**：使用发行版 Linux 二进制对现存四节点部署完成了无损状态巡检与控制节点 SSH 登录验证。
- **CI 与打包**：通过本地 `make check`、源码 CI 与完整打包工作流，生成四平台归档、`amd64`/`arm64` DEB 与 RPM 软件包、SPDX SBOM、Homebrew 配方、`install.sh`、SHA-256 校验清单与发布元数据。
- **镜像目录**：内置签名目录修订版 `2026082903`（涵盖 9 个发行版系列、27 个分架构产物），0.2.0 默认使用 `https://repo.pigsty.cc/barn`，同时验证了备用源 `https://repo.pgsty.com/barn`。

## 安装或升级 {#install-or-upgrade}

从 [Barn 0.2.0 GitHub 发布页](https://github.com/pgsty/barn/releases/tag/v0.2.0)下载 `install.sh` 与发行资产：

```bash
chmod +x install.sh
BARN_VERSION=0.2.0 ./install.sh
barn version
barn doctor
```

0.1.0 的部署状态可直接读取；在已有虚拟机运行时执行一次 `barn status` 即可补齐进程启动时间戳，既有客机在下次重建时会自动采用新的 `/etc/hosts` 标记。
