Barn 0.5.0:显式处置、显式仓库、可复现镜像
无需确认的整套实验环境清理、全球与中国仓库显式选择、无隐式产物回退,以及八目标官方镜像候选构建流程。
Barn 0.5.0 新增了一键彻底清理实验环境的 purge 命令,支持显式选择全球或中国大陆镜像仓库,并为官方客机镜像引入了可复现的离线构建流水线;Pigsty 清单约定、部署状态格式与内置镜像目录修订版 2026082903 保持不变。
主要变化
barn purge(0.5.0–0.8.0 中含别名barn rm) 无需交互确认即可一次删除整套 Linux 部署、持久数据盘、部署密钥、状态文件与默认 SSH 配置片段,同时保留共享镜像缓存与宿主全局网络。当前无部署时执行会自动幂等成功;若残留节点目录无法确认归属,Barn 会中止删除以保护未知文件。- 显式选择镜像仓库。 发行二进制默认使用全球源
https://repo.pigsty.io/barn,传入--mirror可切换至中国大陆镜像源https://repo.pigsty.cc/barn。优先级依次为--repo、--mirror、BARN_REPO与编译默认值,两个官方入口共用同一套签名镜像目录校验。 - 严格校验仓库产物。 镜像目录中记录的上游 URL 仅作构建溯源,不再作为隐式下载回退地址。所选仓库必须提供目录指定的
.qcow2文件,否则拉取直接报错并提示切换仓库或导入本地镜像。 - 摘要锁定的离线镜像构建器。 源码仓库新增针对 Debian 12/13 与 Rocky Linux 8/9(
amd64/arm64)的离线规范化构建器,自动记录精确软件包闭包、SBOM、来源清单与testing清单,可组装未签名候选仓库供真机启动测试与签名发布使用。 - 工具链升级。 源码与发布工具链升级至 Go 1.27.1、GoReleaser 2.18.0、golangci-lint 2.13.2 及最新 Go 依赖模块。
镜像规范化流水线
八目标构建矩阵补齐了各发行版客机的前置依赖:
- Debian 12/13:预装离线 XFS 用户态工具,支持显式挂载
xfs数据盘。 - Rocky Linux 8:补齐
/usr/bin/python3,修复sshd_config.d配置片段加载规则,并清理遗留网卡命名状态。 - Rocky Linux 9:同步清理遗留网络接口状态。
候选镜像在完成真机启动/就绪冒烟测试、双构建一致性比对、生产签名与目录发布前保持未签名与 testing 状态(已于 0.6.0 正式纳入内置目录)。
升级与清理
从 0.4.0 升级无需迁移状态、清单或镜像目录,已有缓存镜像可继续使用。仅在需要无提示彻底丢弃全部部署磁盘与密钥时使用 barn purge;如需保留持久数据盘或仅删除指定节点,请继续使用带确认的 barn destroy。
验证范围
发布提交 fc85b65ff6a24b0933b56ae1179be9ada2ba91b1 已通过完整本地源码门禁(涵盖模块与 Shell 检查、单元测试、竞态测试、go vet、Staticcheck、deadcode、errcheck、govulncheck、四目标交叉构建、镜像流水线与安装器测试、依赖许可证核验及 GoReleaser 2.18.0 校验),标签工作流构建并验证了全部平台归档、DEB/RPM 软件包、SBOM、Homebrew 配方、安装脚本、发布元数据与 SHA-256 校验和。
安装或升级
从 Barn 0.5.0 GitHub 发布页下载安装脚本与发行资产:
同一预发布页同时附带 Homebrew 配方与 amd64/arm64 DEB/RPM 软件包。