# Barn 0.4.0：一条命令、能用的数据盘、统一的输出

> 首次运行只需一条命令，默认数据盘在所有镜像上可用，就绪失败直接给出原因，全部命令统一输出风格。

---

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

---

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

Barn 0.4.0 将首次使用收敛为一条命令，修复了 Debian 与 Ubuntu 镜像上默认数据盘因缺少 `xfsprogs` 无法格式化的问题，并统一了全套 CLI 的输出风格；Pigsty 清单格式、固定 IP 部署模型、状态目录结构与内置镜像目录修订版 `2026082903` 保持不变。

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

- **一条命令完成首次启动。** 在交互式终端中，若宿主机尚未安装固定 IP 网络，运行 `barn up` 会自动调用 `barn setup`：先展示宿主准备计划并在提权步骤前请求确认，完成后直接继续启动虚拟机。`barn init` 的下一步提示同步更新为 `barn up`。
- **`vm_disks[].fs` 默认值改为 `auto`。** 空白数据盘在客机具备 `mkfs.xfs` 时格式化为 XFS，否则自动回退为 ext4，与 Pigsty 的 Vagrant 行为保持一致。此前默认硬编码 `xfs` 会导致未预装 `xfsprogs` 的上游 Debian 与 Ubuntu 镜像挂载失败。按旧默认值创建的既有部署不会被判为配置漂移，持久盘保持兼容。
- **客机初始化报错直达原因。** 客机错误标记现会记录失败命令的最后一行输出，因此 `up` 会直接报告 `guest bootstrap failed during data-disks: xfs requested but mkfs.xfs is unavailable`，而不再只返回退出码。
- **统一 CLI 输出风格。** 生命周期命令与 `status` 统一打印节点状态表，并在 `up` 完成后提示 `next: barn ssh <node>`。无变更时 `plan` 与 `validate` 仅输出一行简短结论；`image list`、`network status`、`doctor` 与预检报错改为直接输出自然语言说明（`spec hash` 等内部字段仅在 `--json` 中输出）。当传入未知节点名时，报错信息会一并列出当前可用节点。
- **SSH 远程命令原样透传。** `barn ssh <node> -- 'df -h /data; id'` 会按 OpenSSH 标准方式原样传递远程命令字符串。

## 升级说明 {#upgrading}

对于由 0.3.0 或更早版本创建且 `/data` 未能成功挂载的 Debian 12/13 或 Ubuntu 节点，执行一次 `barn recreate <node>` 即可将数据盘格式化为 ext4 并完成挂载。在无 TTY 的自动化环境中，若宿主机尚未初始化网络，运行 `up` 前仍需先执行 `barn setup --yes`。

## 验证范围 {#validation}

源码提交 `8ecb8476c7dbc934d8cbbee935ac53884d00fcdb` 已通过完整本地源码门禁（涵盖单元测试、竞态测试、`go vet`、Staticcheck、deadcode、errcheck、`govulncheck`、Shell 与模块检查、四目标交叉构建、镜像流水线与安装器测试及依赖许可证校验），标签工作流构建并验证了全部归档、原生软件包、SBOM 与安装脚本。各阶段的 macOS `arm64`/HVF 与 Ubuntu `amd64`/KVM 实测记录见[验证历史](../../../docs/about/history/)。

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

从 [Barn 0.4.0 GitHub 发布页](https://github.com/pgsty/barn/releases/tag/v0.4.0)下载安装脚本与发行资产：

```bash
curl -fLO https://github.com/pgsty/barn/releases/download/v0.4.0/install.sh
chmod +x install.sh
BARN_VERSION=0.4.0 ./install.sh
barn version
barn doctor
```

同一预发布页附带 Homebrew 配方与 `amd64`/`arm64` DEB/RPM 软件包。
