当前官方定位

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。远程生产主机如果没有启动环境、控制台和已验证备份,不满足安全转换前提。

合理的采用路线是:

  1. 在新建 15.1 虚拟机中从安装器选择 Packages (Tech Preview)。
  2. 记录基础包仓库、配置合并产物(.pkgnew / .pkgsave)和回退过程。
  3. 验证一次小版本更新、服务恢复和启动环境回退。
  4. 只有在业务、运维和备份流程都覆盖新模型后再评估非关键主机。

Jail 的差异

15.0 起以基础包安装的 Jail 使用 pkg -r <jail-root> upgrade 或在 Jail 内运行 pkg upgrade,不使用 freebsd-update。distribution set 创建的 Jail 仍按其安装模型维护。升级后检查 /etc 中的 .pkgnew.pkgsave;pkgbase 的配置合并由 pkg 负责,不运行 etcupdate