当前官方定位
FreeBSD 14 从 2023 年开始发布基础系统包,但官方 Handbook 仍将 14.x 使用标为 experimental。从 15.0 起,freebsd-base(7) 对安装、小版本升级和大版本升级提供 Tech Preview;15.x 安装器的 Packages 选项也明确面向测试和早期采用。保守生产系统在 15.x 生命周期中应选择稳定、完整支持的 Distribution Sets。
两条路径不能混用
| 安装基础 | 基础系统更新工具 | 第三方软件 |
|---|---|---|
| Distribution Sets | freebsd-update 或从源码更新 |
pkg / Ports |
| Packages (Tech Preview) | pkg + FreeBSD-base 仓库 |
同一个 pkg 客户端、不同仓库角色 |
不要在 pkgbase 主机上再用 freebsd-update 覆盖基础系统,也不要因为安装了普通 pkg 就误判主机已经转换成 pkgbase。
识别与审计
pkg -vv
pkg info 'FreeBSD-*'
ls -l /usr/local/etc/pkg/repos/
检查是否存在启用的 FreeBSD-base 仓库、基础包是否由 pkg 数据库跟踪,以及仓库 URL 是否对应当前 RELEASE。仓库名称、release minor 后缀和配置位置可能随技术预览调整,必须使用当前 Handbook 和本机 freebsd-base(7),不要复制旧博客配置。
不建议直接转换生产主机
官方文档描述的 pkgbasify 转换仍在开发,可能需要额外数 GiB 空间,并会创建仓库配置、替换基础组件、合并 /etc、更新账户数据库和重启 sshd。远程生产主机如果没有启动环境、控制台和已验证备份,不满足安全转换前提。
合理的采用路线是:
- 在新建 15.1 虚拟机中从安装器选择 Packages (Tech Preview)。
- 记录基础包仓库、配置合并产物(
.pkgnew/.pkgsave)和回退过程。 - 验证一次小版本更新、服务恢复和启动环境回退。
- 只有在业务、运维和备份流程都覆盖新模型后再评估非关键主机。
Jail 的差异
15.0 起以基础包安装的 Jail 使用 pkg -r <jail-root> upgrade 或在 Jail 内运行 pkg upgrade,不使用 freebsd-update。distribution set 创建的 Jail 仍按其安装模型维护。升级后检查 /etc 中的 .pkgnew 和 .pkgsave;pkgbase 的配置合并由 pkg 负责,不运行 etcupdate。