For the complete documentation index, see llms.txt. This page is also available as Markdown.

FreeBSD 15.1-RELEASE 升级说明

摘要

本说明详述将现有安装升级到 FreeBSD 15.1-RELEASE 的过程。

引言

本文档说明将现有 14.4-RELEASE 或 15.0-RELEASE 安装升级到 15.1-RELEASE 的过程。运行更旧版本的系统必须先增量升级到其中之一,才能执行本次升级。

升级操作系统前,请备份 所有 文件系统,阅读 最新勘误 了解已知问题与变通方案,并阅读 发行说明 了解主要变更与不兼容性。

二进制升级的过程取决于操作系统的管理方式。要确定管理方式,请运行以下命令:

pkg which /usr/bin/uname

若显示 /usr/bin/uname was not installed by a package,请参阅下文的 通过发行版升级

若显示包名(如 FreeBSD-runtime-15.0),请参阅下文的 通过 pkgbase 升级

若通过源码升级,请参阅 FreeBSD Handbook 的“从源码更新 FreeBSD”章节

通过发行版升级

通过发行版部署的系统使用 freebsd-update(8) 升级。运行 14.4-RELEASE 或 15.0-RELEASE 的系统可按以下步骤升级:

  1. 应用所有待处理补丁

    升级前,始终先获取并应用当前系统的所有待处理补丁:

    freebsd-update fetch
    freebsd-update install
  2. 升级内核

    获取并安装新内核:

    freebsd-update upgrade -r 15.1-RELEASE
    freebsd-update install

    此过程中 freebsd-update(8) 可能会请求协助合并配置文件。

  3. 重启进入新内核

    安装新用户态前,先重启进入新内核:

    shutdown -r +10min "Rebooting for a kernel upgrade"
  4. 升级用户态

    重启后,再次运行 freebsd-update(8) 安装新用户态组件:

    freebsd-update install

    因系统库变更,freebsd-update(8) 可能会提示重新编译或重新安装所有第三方软件。请按提示操作。

    提示:若从 14.4-RELEASE 升级且无法重新安装所有第三方软件,可安装 misc/compat14x 软件包。

  5. 删除旧文件

    再次运行 freebsd-update(8) 删除过时的基本系统文件:

    freebsd-update install
  6. 升级引导加载程序

    要确定系统上需更新的引导加载程序,请运行以下命令:

    sysctl machdep.bootmethod

    继续参阅下文的 升级 UEFI 引导加载程序升级 BIOS 引导加载程序

通过 pkgbase 升级

通过 pkgbase 部署的系统使用 pkg(8) 升级。运行 15.0-RELEASE 的系统可按以下步骤升级:

  1. 为当前安装创建快照

    若从 ZFS 启动,对正常运行的系统创建以当前日期命名的递归快照:

    引导加载程序会提供菜单,用于在需要回滚升级时从该快照启动。

  2. 升级已安装系统

    升级到新版本前,确保已安装系统为最新:

  3. 升级基本系统

    升级后,查看 pkg(8) 打印的任何消息。部分软件包可能需要额外的配置步骤,如运行 service <name> setup。请按提示操作。

  4. 升级第三方内核模块

    若安装了第三方内核模块,也必须随基本系统一起升级:

    若未安装此类模块,pkg(8) 会相应回复。

  5. 检查失败的配置更新

    pkg(8) 无法合并配置文件更新,会将新配置安装为 .pkgnew 文件。使用以下命令检查这些文件:

    若存在,与已部署版本比较(如 diff /etc/rc.conf /etc/rc.conf.pkgnew),合并必要变更。

  6. 升级引导加载程序

    要确定系统上需更新的引导加载程序,请运行以下命令:

    继续参阅下文的 升级 UEFI 引导加载程序升级 BIOS 引导加载程序

升级 UEFI 引导加载程序

  1. 识别 ESP

    执行以下命令,识别引导加载程序所在的 EFI 系统分区(ESP):

    输出应类似如下:

    活动的引导加载程序条目以加号(+)字符开头。注意引导加载程序的位置,本例中为 nda0p1 上的 EFI/freebsd/loader.efi,但不同系统会有所差异。

  2. 挂载 ESP

    若 ESP 尚未挂载到 /boot/efi,挂载 efibootmgr 输出中列出的分区:

  3. 安装引导加载程序

    在 AMD64 系统上,执行以下命令升级配置位置和默认位置中的引导加载程序:

    注意,部分安装可能大小写相反(如 EFI/BOOT/BOOTX64.EFI),或可能没有 freebsd/loader.efi

    在 AArch64 系统上,执行以下命令:

    其他架构相应有所不同;必要时请参阅 loader.efi(8)

  4. 完成

    完成升级到 FreeBSD 15.1-RELEASE 后重启:

升级 BIOS 引导加载程序

对于通过 BIOS 或 UEFI CSM 启动并使用 GPT 分区方案的系统,除非 ZFS 根池升级(不建议),否则引导加载程序升级是可选的。仅当 freebsd-boot 分区至少为 180K 时才能升级;512K 现已成为标准。

  1. 识别 freebsd-boot 分区

    执行以下命令,识别 freebsd-boot 设备名和分区索引:

    输出应类似如下:

    注意 freebsd-boot 分区的名称(ada)和索引(1)。

  2. 升级引导加载程序

    在 BIOS 上使用 ZFS 时,运行以下命令升级引导代码:

    其中 1freebsd-boot 分区的索引。

    若从存储阵列启动,对池中所有磁盘重复此步骤。

    在 BIOS 上使用 UFS 时,执行以下命令:

  3. 完成

    完成升级到 FreeBSD 15.1-RELEASE 后重启:

最后更新于