先判断安装类型

freebsd-version -kru
pkg -vv | sed -n '/Repositories:/,$p'

如果基础系统来自传统 Distribution Sets,使用 freebsd-update。如果安装时选择了 Packages (Tech Preview),基础系统由 FreeBSD-base 仓库管理,不能把两套流程混在同一次升级中。无法确认时,先检查 /usr/local/etc/pkg/repos/FreeBSD-base.conf 和已安装的 FreeBSD-* 基础包,并回到官方 Handbook 核对。

15.1 安全与勘误补丁

传统安装的日常补丁流程:

freebsd-update fetch
freebsd-update install
freebsd-version -kru

如内核有更新,重启后再次比较 freebsd-version -kru。若更新导致问题,freebsd-update rollback 可撤销最近一次安装,但仍应优先依赖升级前的 ZFS 启动环境或完整备份。

从 15.0 升级到 15.1

15.0 预计在 2026-09-30 EOL。开始前:

  1. 阅读 15.1 Release Notes、升级说明和最新 Errata。
  2. 更新 15.0 到最新补丁,备份 /etc/usr/local/etc、包清单和业务数据。
  3. ZFS 根创建 bectl create before-15.1;确认安装了可启动的 GENERIC 内核。
  4. 检查磁盘空间、远程控制台、第三方内核模块和显卡驱动。
freebsd-update fetch
freebsd-update install
freebsd-update -r 15.1-RELEASE upgrade
freebsd-update install
shutdown -r now

重启进入新内核后继续:

freebsd-update install
pkg update
pkg upgrade
freebsd-version -kru

同一大版本的小版本升级通常不要求强制重装所有包,但包含内核模块的软件包必须与新内核匹配。根据 freebsd-update 实际提示,可能只有两次 install 阶段;不要机械追加命令,也不要跳过其配置合并结果。

验收与回滚

检查网络、DNS、时间、SSH、ZFS 池、Jail/VM、关键服务和 pkg audit -F。保持旧启动环境,观察一个完整业务周期后再清理。

若新系统无法启动,从 loader 菜单选择旧启动环境。若可启动但服务异常,可临时 bectl activate -t before-15.1 并重启;确认回退有效前不要删除新旧环境。

pkgbase 用户

15.x 的 freebsd-base 仍是 Tech Preview。仓库分支名和升级细节仍在演进;本站不提供脱离官方当前章节的“一键转换”。已有 pkgbase 系统只按官方 Updating with packages的当日内容执行,并先在克隆启动环境验证。