跳转到主要内容

Barn 0.6.0:默认 U24,更顺手的本地虚拟机体验

默认 Ubuntu 24.04,准备宿主前即可查看计划,状态更清晰,扩容与重建更可靠。
说明

本文为 0.6.0 历史发布记录。旧版发行附件已下线,安装当前版本请参见安装指南。

Barn 0.6.0 将默认客机镜像切换为 Ubuntu 24.04,并改进了本地 Pigsty 实验环境的计划预览、启动、扩容与节点重建体验。

主要变化

  • 默认使用 Ubuntu 24.04。 新生成的配置与内置镜像目录默认采用 u24:stable。目录修订版 2026090501 同时合入了官方仓库已发布的 Debian 12/13 与 Rocky Linux 8/9 规范化镜像更新。
  • 无需准备宿主即可预览计划。 对内置目录中的镜像执行 barn plan 时,无需预先安装 QEMU 或配置宿主网络(已导入的 local-* 本地镜像仍需 qemu-img 校验缓存)。执行计划会列出精确镜像版本、CPU/内存/磁盘资源总量、待启动节点、变更字段与磁盘影响,并在后续建议命令中自动保留自定义 -f 路径。
  • 状态表格与报错更清晰。 barn status 直接展示节点的镜像、CPU 与内存配置;单个节点的状态文件损坏不再遮蔽其余健康节点,报错会直接指出损坏的文件路径与原因。镜像摘要校验失败返回退出码 7,SSH 退出码 255 原样透传,--no-wait 会明确提示已跳过就绪检查。
  • 中断性操作前预先检查。 局部 recreate 会在删除磁盘前先检测其他节点的未应用配置冲突;reload 会在停机前先校验启动依赖。stop、destroy 与运行时清理在部署锁内一致地更新状态。
  • 客机 /etc/hosts 与 SSH 配置自动同步。 启动或移除节点后,Barn 会自动更新运行中客机内的受管 /etc/hosts 片段与控制节点 SSH 配置;同名节点重建后可直接免密连接,无需手动清理客机 known_hosts,同时完整保留用户自定义的 SSH 配置项与全局选项作用域。
  • 命令行解析更稳健。 init 指定自定义输出路径时会生成对应的下一步命令提示;输出格式参数不再误吞相邻选项值;非法整数容量与多文档 YAML 会直接报错拒绝而非静默截断;新增 ALL_PROXY/all_proxy 代理回退支持,优先级低于协议专用代理变量与 NO_PROXY。

升级说明

升级 Barn 不会替换已有虚拟机磁盘,也不会改动已显式指定 vm_image 的配置。若旧配置文件依赖早期的隐式 Debian 13 默认值,升级到 0.6.0 后请先在 all.vars 下显式加上 vm_image: d13 再执行 barn up。应用变更前请先通过 barn plan 预览。

修改 CPU 或内存仍通过 barn recreate 生效(替换根盘与非持久数据盘,保留持久数据盘)。--no-wait 会跳过就绪检查与客机元数据刷新,后续执行 barn up 即可补齐。自动化脚本请读取 --json 或 --yaml 结构化输出;部分节点状态读取失败时仍会返回健康节点列表与 failures 数组,退出码为 5。

安装或升级

curl -fLO https://github.com/pgsty/barn/releases/download/v0.6.0/install.sh
chmod +x install.sh
BARN_VERSION=0.6.0 ./install.sh
barn version
barn doctor

本版本同时提供四平台归档、amd64/arm64 DEB 与 RPM 软件包及 Homebrew 配方。完整上手步骤见快速上手教程。

验证范围

生命周期与交互变更通过了代码审查和完整的本地 make check 门禁。在隔离的 macOS arm64/HVF 环境上,实机验证了 Ubuntu 24.04 启动、节点扩容、控制节点横向 SSH、stop/start、reload、recreate、部分节点状态损坏容错与节点缩容;客机 SSH 配置作用域修复也通过了真实 OpenSSH 配置解析测试。

标签工作流完整复跑了源码门禁,并校验了全部归档、Linux 软件包、SBOM、安装脚本、Homebrew 配方、发布元数据与 SHA-256 校验和。