在 14.0 分支发布两年后,开发团队正式宣布 FreeBSD 15.0 版本发布,这是一个新版本,它带来了深刻的结构性变化,不仅在代码层面,而且在系统维护的理念层面。
其中一项最重要的变化是,从本版本开始,主要分支的维护周期已从 5 年缩短至 4 年。此外,还建立了新的固定开发周期:每两年创建新的主要分支,每六个月发布一个中间版本,从而加快向最终用户交付创新成果的速度。
FreeBSD 15.0 的主要新特性
FreeBSD 15.0 版本最重要的特性是向模块化系统的过渡。现在,可以使用 pkg 包管理器来安装和更新基础系统组件。
bsdinstall安装程序提供两种安装路径:传统路径和使用软件包 (pkgbase) 的新路径。需要注意的是,将系统视为一个整体的传统方法计划在 FreeBSD 16 中逐步淘汰,因此未来将需要从 FreeBSD-base 软件仓库中分别管理内核和用户空间软件包。
在开发和汇编领域,取得了两项重要成就:
- 非特权汇编: 现在,无需 root 权限即可编译 FreeBSD 并创建 ISO 镜像。
- 可复现的编译结果: 如果从相同的源代码编译,则分布式二进制文件保证逐位相同,从而保证没有隐藏的修改。
内核现代化和 Linux 兼容性
FreeBSD 15.0 内核已更新代码,增强了硬件支持。DRM图形驱动程序(i915 和 amdgpu)已与 Linux 6.9 内核同步,而无线驱动程序(Intel 和 Realtek)则与 Linux 6.17 保持最新。
其他内核改进包括:
- Inotify 支持: 已添加与 Linux 兼容的系统调用,用于监控文件系统更改。
- Solaris 风格的扩展属性: 增加了对命名文件属性的支持,这些属性像普通文件一样在隐藏的服务目录中进行管理。
- mac_do 模块: 它允许设置策略,以便非特权用户无需使用 suid root 即可更改进程凭据,以及新的 mdo 实用程序。
- 内核TLS(KTLS): 默认情况下启用此功能以提高加密性能。
存储和文件系统的新特性
存储子系统也针对未来的可靠性和性能进行了关键改进:
- 2038 年问题: UFS1 的实现解决了这个问题,允许日期到 2106 年,并且提高了拥有超过 2 亿个 inode 的 UFS 分区的可靠性。
- 超过 4TB 的内存: 在 amd64 系统中,现在可以使用高于此限制的内存容量。
- NFSv4.2 克隆: 增加了对快速文件克隆(复制服务器上的数据块)的支持,在导出 ZFS 分区时有效。
- 基于 Fabric 的 NVMe: 引入了 nvmft 模块和 nvmecontrol 工具,用于连接高性能外部控制器。
- ufshci 控制器: 增加了对通用闪存存储系统的支持。
虚拟化和网络技术的改进
对于系统和虚拟化环境的管理员来说,FreeBSD 15.0 带来了更强大的工具:
- Bhyve 与后端 slirp: 现在,虚拟机管理程序允许主机无需复杂配置即可使用用户空间网络堆栈访问客户系统的网络。
- 强大的监狱: 现在它们支持使用 zfs.dataset 选项直接挂载数据集,并且可以传递元数据和环境变量。
- TCP套接字拼接: SO_SPLICE 的加入是为了合并 TCP 连接而不将数据复制到用户空间,从而提高代理性能。
用户空间和工具的变更
至于日常使用的工具,这些也已更新:
- Kerberos: 内核中的实现方式已从 Heimdal 改为 麻省理工学院 Kerberos 默认。
- 音频和MIDI: 用于配置声卡的新增 sndctl 实用程序和用于 MIDI 事件转储的 mididump 1.0。
- 生效日期: 现在支持纳秒级精度(例如,日期 -Ins)。
- 日志压缩: newsyslog 允许您全局配置默认压缩方法(xz、zstd 等)。
- 控制台源: Gallant 字体已更新,新增 4,300 多个字形,包括西里尔字母和数学符号支持。
- bsddialog: 它取代了安装程序中的旧对话框实用程序。
旧硬件的淘汰和清理
着眼未来,团队在旧版支持方面做出了一些艰难的决定:
- 32 位结束: 已停止为 i386、armv6 和 32 位 PowerPC 生成映像(仅维护 armv7)。
- 已移除或已弃用的驱动程序: gvinum 管理器已被移除。旧版控制器,例如 agp、fdc(软盘驱动器)、火线等,将在版本 16 中移除。
- 已移除工具: ftpd 和 shar 已从基本系统中移除(作为端口提供),fdisk 已被弃用,取而代之的是 gpart。
- SSH: 已移除对 DSA 密钥和使用 DES 算法的公钥数据库的支持。
最后,该系统附带一个更新的软件包,其中包括LLVM 19.1.7、OpenSSH 10.0p2、OpenZFS 2.4.0rc4 和 OpenSSL 3.5.4。
如果您想查看完整的技术变更列表,可以在以下链接中找到详细信息。
下载并安装 FreeBSD 15.0
由于新版本引入了重大的结构变化,因此如果您想使用新的分区方案或 ZFS 功能,建议进行全新安装以测试该版本。
您可以从官方网站获取安装镜像。对于服务器或标准(64 位)桌面用户,您可以直接从终端下载 ISO 文件:
wget https://download.freebsd.org/releases/amd64/amd64/ISO-IMAGES/15.0/FreeBSD-15.0-RELEASE-amd64-dvd1.iso
下载完成后,要从 Linux 或 BSD 系统将其刻录到 USB 驱动器,请使用 dd 命令(请仔细核对设备的路径):
sudo dd if=FreeBSD-15.0-RELEASE-amd64-dvd1.iso of=/dev/sdX bs=4M status=progress && sync
如果您希望将现有系统从 14.x 分支升级,目前传统方法仍然有效:
freebsd-update 获取 freebsd-update 安装 freebsd-update -r 15.0-RELEASE 升级