FreeBSD 中文手册
FreeBSD 中文社区
  • FreeBSD 中文手册
  • 编辑日志
  • 译者说明
  • FreeBSD 中文手册
  • 概述
  • 前言
    • 致读者
    • 第四版
    • 第三版
    • 第二版(2004)
    • 第一版(2001)
    • 本书的组织结构
    • 本书中使用的一些约定
    • 致谢
  • 第一部分:快速开始
  • 第1章 简介
    • 1.1.概述
    • 1.2.欢迎来到 FreeBSD!
    • 1.3.关于 FreeBSD 项目
  • 第2章 安装 FreeBSD
    • 2.1.概述
    • 2.2.最低硬件要求
    • 2.3.安装前的准备工作
    • 2.4.开始安装
    • 2.5.使用 bsdinstall
    • 2.6.分配磁盘空间
    • 2.7.获取安装文件
    • 2.8.账户、时区、服务和安全
    • 2.9.故障排除
    • 2.10.使用 Live CD
  • 第3章 FreeBSD 基础
    • 3.1.概述
    • 3.2.虚拟控制台和终端
    • 3.3.用户和基本账户管理
    • 3.4.权限
    • 3.5.目录结构
    • 3.6.磁盘结构
    • 3.7.文件系统的挂载与卸载
    • 3.8.进程和守护进程
    • 3.9.Shell
    • 3.10.文本编辑器
    • 3.11.设备和设备节点
    • 3.12.手册页
  • 第4章 安装应用程序:软件包和 Ports
    • 4.1.概述
    • 4.2.软件安装的概述
    • 4.3.寻找所需的应用程序
    • 4.4.使用 pkg 管理二进制包
    • 4.5.使用 Ports
    • 4.6.使用 Poudriere 构建软件包
    • 4.7.安装后的注意事项
    • 4.8.如何处理损坏的 port
  • 第5章 X Window 系统
    • 5.1.概述
    • 5.2.安装 Xorg
    • 5.3.显卡驱动
    • 5.4.Xorg 配置
    • 5.5.在 X11 中使用字体
  • 第6章 FreeBSD 中的 Wayland
    • 6.1.简介
    • 6.2.Wayland 概述
    • 6.3.Wayfire 混成器
    • 6.4.Hikari 混成器
    • 6.5.Sway 混成器
    • 6.6.使用 Xwayland
    • 6.7.使用 VNC 进行远程连接
    • 6.8.Wayland 登录管理器
    • 6.9.实用工具
  • 第7章 网络
    • 7.1.概述
    • 7.2.设置网络
    • 7.3.有线网络
    • 7.4.无线网络
    • 7.5.主机名
    • 7.6.DNS
    • 7.7.故障排除
  • 第二部分:常见任务
  • 第8章 桌面环境
    • 8.1.概述
    • 8.2.桌面环境
    • 8.3.浏览器
    • 8.4.开发工具
    • 8.5.桌面办公应用
    • 8.6.文档阅读器
    • 8.7.财务
  • 第9章 多媒体
    • 9.1.概述
    • 9.2.设置声卡
    • 9.3.音频播放器
    • 9.4.视频播放器
    • 9.5.视频会议
    • 9.6.图像扫描仪
  • 第10章 配置 FreeBSD 内核
    • 10.1.概述
    • 10.2.为什么要构建定制内核
    • 10.3.浏览系统硬件
    • 10.4.配置文件
    • 10.5.构建并安装定制内核
    • 10.6.如果发生了错误
  • 第11章 打印
    • 11.1.快速入门
    • 11.2.连接打印机
    • 11.3.常见的页面描述语言(PDL)
    • 11.4.直接打印
    • 11.5.LPD(行式打印机程序)
    • 11.6.其他打印系统
  • 第12章 Linux 二进制兼容层
    • 12.1.概述
    • 12.2.配置 Linux 二进制兼容层
    • 12.3.Linux 用户空间
    • 12.4.高级主题
  • 第13章 WINE
    • 13.1.概述
    • 13.2.WINE 概述和概念
    • 13.3.在 FreeBSD 上安装 WINE
    • 13.4.在 FreeBSD 上运行第一个 WINE 程序
    • 13.5.配置 WINE 安装程序
    • 13.6.WINE 图形化用户管理界面
    • 13.7.多用户 FreeBSD 与 WINE
    • 13.8.FreeBSD 上的 WINE 常见问题
  • 第三部分:系统管理
  • 第14章 配置与优化
    • 14.1.概述
    • 14.2.配置文件
    • 14.3.管理 FreeBSD 中的服务
    • 14.4.Cron 和 Periodic
    • 14.5.配置系统日志
    • 14.6.电源和资源管理
    • 14.7.添加交换空间
  • 第15章 FreeBSD 的引导过程
    • 15.1.概述
    • 15.2.FreeBSD 的引导过程
    • 15.3.Device Hints
    • 15.4.关机流程
  • 第16章 安全
    • 16.1.概述
    • 16.2.简介
    • 16.3.账户安全
    • 16.4.入侵检测系统(IDS)
    • 16.5.安全等级
    • 16.6.文件标志位
    • 16.7.OpenSSH
    • 16.8.OpenSSL
    • 16.9.Kerberos
    • 16.10.TCP 封装器(TCP Wrapper)
    • 16.11.访问控制列表(ACL)
    • 16.12.Capsicum
    • 16.13.进程记账
    • 16.14.资源限制
    • 16.15.监控第三方安全问题
    • 16.16.FreeBSD 安全公告
  • 第17章 jail 与容器
    • 17.1.概述
    • 17.2.jail 的类型
    • 17.3.主机配置
    • 17.4.传统 jail(厚 jail)
    • 17.5.瘦 jail
    • 17.6.管理 jail
    • 17.7.更新 jail
    • 17.8.jail 资源限制
    • 17.9.jail 管理器与容器
  • 第18章 强制访问控制
    • 18.1.概述
    • 18.2.关键术语
    • 18.3.了解 MAC 标签
    • 18.4.规划安全配置
    • 18.5.可用的 MAC 策略
    • 18.6.用户锁定
    • 18.7.MAC Jail 中的 Nagios
    • 18.8.MAC 框架的故障排除
  • 第19章 安全事件审计
    • 19.1.概述
    • 19.2.关键术语
    • 19.3.审计配置
    • 19.4.使用审计跟踪
  • 第20章 存储
    • 20.1.概述
    • 20.2.添加磁盘
    • 20.3.调整和增加磁盘大小
    • 20.4.USB 存储设备
    • 20.5.创建和使用 CD
    • 20.6.创建和使用 DVD
    • 20.7.创建和使用软盘
    • 20.8.备份的基础知识
    • 20.9.内存盘
    • 20.10.文件系统快照
    • 20.11.磁盘配额
    • 20.12.加密磁盘分区
    • 20.13.加密交换分区
    • 20.14.高可用性存储(HAST)
  • 第21章 GEOM: 模块化磁盘转换框架
    • 21.1.概述
    • 21.2.RAID0——条带
    • 21.3.RAID1——镜像
    • 21.4.RAID3——带有专用奇偶校验的字节级条带
    • 21.5.软件 RAID 设备
    • 21.6.GEOM Gate 网络设备
    • 21.7.为磁盘设备添加卷标
    • 21.8.通过 GEOM 实现 UFS 日志
  • 第22章 Z 文件系统(ZFS)
    • 22.1.是什么使 ZFS 与众不同
    • 22.2.快速入门指南
    • 22.3.zpool 管理
    • 22.4.zfs 管理
    • 22.5.委托管理
    • 22.6.高级主题
    • 22.7.更多资源
    • 22.8.ZFS 特性和术语
  • 第23章 其他文件系统
    • 23.1.概述
    • 23.2.Linux® 文件系统
    • 23.3.Windows® 文件系统
    • 23.4.MacOS® 文件系统
  • 第24章 虚拟化
    • 24.1.概述
    • 24.2.使用 macOS® 上的 Parallels Desktop 安装 FreeBSD
    • 24.3.使用 macOS® 上的 VMware Fusion 安装 FreeBSD
    • 24.4.使用 VirtualBox™ 安装 FreeBSD
    • 24.5.在 FreeBSD 上安装 VirtualBox™
    • 24.6.使用 FreeBSD 上的 QEMU 虚拟化
    • 24.7.使用 FreeBSD 上的 bhyve 虚拟机
    • 24.8.基于 FreeBSD 的 Xen™ 虚拟机
  • 第25章 本地化——i18n/L10n 的使用和设置
    • 25.1.概述
    • 25.2.使用本地化
    • 25.3.寻找 i18n 应用程序
    • 25.4.特定语言的区域配置
  • 第26章 FreeBSD 更新与升级
    • 26.1.概述
    • 26.2.更新 FreeBSD
    • 26.3.更新 Bootcode
    • 26.4.更新文档
    • 26.5.追踪开发分支
    • 26.6.从源代码更新 FreeBSD
    • 26.7.多台机器的追踪
    • 26.8.在非 FreeBSD 主机上进行构建
  • 第27章 DTrace
    • 27.1.概述
    • 27.2.实现上的差异
    • 27.3.开启 DTrace 支持
    • 27.4.启用内核外部模块 DTrace
    • 27.5.使用 DTrace
  • 第28章 USB 设备模式/USB OTG
    • 28.1.概述
    • 28.2.USB 虚拟串行端口
    • 28.3.USB 设备模式网络接口
    • 28.4.USB 虚拟存储设备
  • 第四部分:网络通讯
  • 第29章 串行通信
    • 29.1.概述
    • 29.2.串行术语和硬件
    • 29.3.终端
    • 29.4.拨入服务
    • 29.5.拨出服务
    • 29.6.设置串行控制台
  • 第30章 PPP
    • 30.1.概述
    • 30.2.配置 PPP
    • 30.3.PPP 连接的故障排除
    • 30.4.使用以太网 PPP(PPPoE)
    • 30.5.使用 ATM 上的 PPP (PPPoA)
  • 第31章 电子邮件
    • 31.1.概述
    • 31.2.邮件组件
    • 31.3.DragonFly 邮件代理(DMA)
    • 31.4.Sendmail
    • 31.5.修改邮件传输代理
    • 31.6.邮件用户代理
    • 31.7.高级主题
  • 第32章 网络服务器
    • 32.1.概述
    • 32.2.inetd 超级服务器
    • 32.3.网络文件系统(NFS)
    • 32.4.网络信息系统(NIS)
    • 32.5.轻型目录访问协议(LDAP)
    • 32.6.动态主机设置协议(DHCP)
    • 32.7.域名系统(DNS)
    • 32.8.零配置网络(mDNS/DNS-SD)
    • 32.9.Apache HTTP 服务器
    • 32.10.文件传输协议(FTP)
    • 32.11.用于 Microsoft® Windows® 客户端的文件和打印服务(Samba)
    • 32.12.用 NTP 进行时钟同步
    • 32.13.iSCSI target 和 initiator 的配置
  • 第33章 防火墙
    • 33.1.概述
    • 33.2.防火墙的概念
    • 33.3.PF
    • 33.4.IPFW
    • 33.5.IPFILTER(IPF)
    • 33.6.Blacklistd
  • 第34章 高级网络
    • 34.1.概述
    • 34.2.网关和路由
    • 34.3.虚拟主机
    • 34.4.无线高级身份验证
    • 34.5.无线自组织(Ad-hoc)模式
    • 34.6.USB 网络共享
    • 34.7.蓝牙
    • 34.8.桥接
    • 34.9.链路聚合与故障转移
    • 34.10.使用 PXE 进行无盘操作
    • 34.11.共用地址冗余协议(CARP)
    • 34.12.VLAN
  • 第五部分:附录
  • 附录 A.获取 FreeBSD
    • A.1.镜像站
    • A.2.使用 Git
    • A.3.使用 Subversion
    • A.4.光盘
  • 附录 B.书目
    • B.1.FreeBSD 相关书籍
    • B.2.安全性参考文献
    • B.3.UNIX 历史
    • B.4.期刊与杂志
  • 附录 C.网络资源
    • C.1.网站
    • C.2.邮件列表
    • C.3.Usenet 新闻组
  • 附录 D.OpenPGP 密钥
    • D.1.官方成员
  • 术语表
  • 后记
由 GitBook 提供支持

FreeBSD 中文社区

在本页
  • 26.2.1. 配置文件
  • 26.2.2. 应用安全补丁
  • 26.2.3. 执行小版本和大版本升级
  • 26.2.3.1. FreeBSD 9.X 及以后的自定义内核
  • 26.2.3.2. 大版本升级后的软件包升级
  • 26.2.4. 系统状态比较

这有帮助吗?

在GitHub上编辑
导出为 PDF
  1. 第26章 FreeBSD 更新与升级

26.2.更新 FreeBSD

上一页26.1.概述下一页26.3.更新 Bootcode

最后更新于27天前

这有帮助吗?

及时应用安全补丁和升级操作系统到较新版本是持续系统管理的重要方面。FreeBSD 提供了一个名为 freebsd-update 的工具,可以用来执行这两个任务。

该工具支持对 FreeBSD 的二进制安全更新和修复更新,无需手动编译和安装补丁或新的内核。二进制更新适用于当前安全团队支持的所有架构和版本。支持的版本及其估计的生命周期结束日期可以在 查找。

该工具还支持操作系统的升级,包括升级到次要点版本以及升级到另一个发布分支。在升级到新版本之前,查看其发布公告非常重要,因为公告中包含了与该版本相关的重要信息。发布公告可以在 找到。

注意

如果存在使用 功能的 ,则在升级操作系统之前,必须先禁用该任务。

本节介绍了 freebsd-update 使用的配置文件,演示了如何应用安全补丁以及如何升级到次要或主要的操作系统版本,并讨论了升级操作系统时的一些注意事项。

26.2.1. 配置文件

freebsd-update 的默认配置文件可直接使用。一些用户可能希望在 /etc/freebsd-update.conf 中调整默认配置,以更好地控制过程。文件中的注释解释了可用选项,但以下内容可能需要进一步解释:

# 应保持更新的基本系统组件。
Components world kernel

该参数控制 FreeBSD 将更新哪些部分。默认情况下,它会更新整个基本系统和内核。可以指定单独的组件,如 src/base 或 src/sys。然而,最佳选择是保持默认配置,因为将其更改为包括特定项需要列出每个需要的项。随着时间推移,这可能会导致源代码和二进制文件不同步,从而产生灾难性后果。

# 以忽略路径中匹配 IgnorePaths 中的条目的路径。
IgnorePaths /boot/kernel/linker.hints

要在更新过程中保持某些目录(如 /bin 或 /sbin)不受影响,请将其路径添加到此语句中。此选项可用于防止 freebsd-update 覆盖本地修改。

# 以忽略路径中匹配 UpdateIfUnmodified 中的条目的路径。
# 仅当文件内容未被用户修改时,才更新这些文件(除非有合并操作;见下文)。
UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile

此选项将仅更新未修改的配置文件。用户做出的任何更改将阻止这些文件的自动更新。还有一个选项,KeepModifiedMetadata,它将指示 freebsd-update 在合并时保存更改。

# 升级到新 FreeBSD 版本时,匹配 MergeChanges 的文件将会合并用户的本地更改。
MergeChanges /etc/ /var/named/etc/ /boot/device.hints
# 存储下载的更新和 FreeBSD Update 使用的临时文件的目录。
# WorkDir /var/db/freebsd-update

此目录用于存储所有补丁和临时文件。在用户进行版本升级时,应该确保该位置有至少 1GB 的可用磁盘空间。

# 升级版本时,是否严格读取组件列表(StrictComponents yes),
# 或者只是作为 FreeBSD Update 应该自动识别哪些已安装并升级的组件的列表(StrictComponents no)?
# StrictComponents no

当此选项设置为 yes 时,freebsd-update 将假定 Components 列表是完整的,并且不会尝试更改列表之外的内容。实际上,freebsd-update 将尝试更新每个属于 Components 列表的文件。

26.2.2. 应用安全补丁

可以使用以下命令下载并安装 FreeBSD 安全补丁。第一个命令将确定是否有任何未应用的补丁,如果有,它将列出将被修改的文件。第二个命令将应用补丁。

# freebsd-update fetch
# freebsd-update install

如果更新应用了任何内核补丁,系统需要重启才能启动到修补后的内核。如果补丁应用于任何正在运行的二进制文件,应重新启动相关的应用程序,以确保使用修补后的版本。

注意

通常,用户需要准备重启系统。要知道系统是否需要重启,可以执行命令 freebsd-version -k 和 uname -r。如果输出不同,则需要重启系统。

系统可以配置为每天自动检查更新,在 /etc/crontab 中添加以下条目:

@daily                                  root    freebsd-update cron

如果存在补丁,它们将被自动下载,但不会应用。root 用户将收到一封电子邮件,以便审查补丁并手动使用 freebsd-update install 安装它们。

如果发生任何问题,freebsd-update 具有回滚最后一组更改的能力,使用以下命令:

# freebsd-update rollback
Uninstalling updates... done.

同样,如果内核或任何内核模块被修改,系统应重新启动,任何受影响的二进制文件应重新启动。

注意

除非在 /etc/freebsd-update.conf 中更改了默认配置,否则 freebsd-update 会与其他更新一起安装更新的内核源代码。然后,可以按通常的方式重新构建并重新安装新的自定义内核。

freebsd-update 分发的更新并不总是涉及内核。如果内核源代码没有被 freebsd-update install 修改,则不需要重新构建自定义内核。但是,freebsd-update 会始终更新 /usr/src/sys/conf/newvers.sh 文件。当前的补丁级别(由 uname -r 报告的 -p 数字)来自该文件。即使没有其他更改,重新构建自定义内核也会使 uname 准确报告系统当前的补丁级别。这在维护多个系统时尤其有用,因为它允许快速评估每个系统安装的更新情况。

26.2.3. 执行小版本和大版本升级

从 FreeBSD 的一个小版本升级到另一个小版本称为 小版本 升级。例如:

  • 从 FreeBSD 13.1 升级到 13.2。

  • 大版本 升级会增加主版本号。例如:

  • 从 FreeBSD 13.2 升级到 14.0。

这两种类型的升级都可以通过为 freebsd-update 提供目标版本来进行。

警告

每次新的 RELEASE 发布后,FreeBSD 包构建服务器会在有限的时间内 不 使用操作系统的较新版本。这为许多不立即进行升级的用户提供了连续性。

例如:

  • 13.1 和 13.2 用户的包将会在运行 13.1 的服务器上构建,直到 13.1 达到生命周期的终点;

并且,关键:

  • 在 13.1 上构建的内核模块 可能 不适用于 13.2。

所以,在进行任何小版本或大版本升级时,如果你的包要求包含内核模块,

  • 准备从源代码构建模块。

注意

在升级到新版本之前,确保现有的 FreeBSD 安装已针对安全和补丁更新进行更新:

# freebsd-update fetch
# freebsd-update install

以下命令在 FreeBSD 13.1 系统上执行时,将其升级到 FreeBSD 13.2:

# freebsd-update -r 13.2-RELEASE upgrade

收到命令后,freebsd-update 将评估配置文件和当前系统,以便收集执行升级所需的信息。此时会显示一屏列出已安装和未安装的组件。例如:

Looking up update.FreeBSD.org mirrors... 1 mirrors found.
Fetching metadata signature for 13.1-RELEASE from update1.FreeBSD.org... done.
Fetching metadata index... done.
Inspecting system... done.

The following components of FreeBSD seem to be installed:
kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games
src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue
src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin
world/base world/info world/lib32 world/manpages

The following components of FreeBSD do not seem to be installed:
kernel/generic world/catpages world/dict world/doc world/games
world/proflibs

Does this look reasonable (y/n)? y

此时,freebsd-update 将尝试下载升级所需的所有文件。在某些情况下,用户可能会被提示选择安装内容或如何继续。

如果使用的是自定义内核,则上述步骤将产生类似以下的警告:

WARNING: This system is running a "MYKERNEL" kernel, which is not a
kernel configuration distributed as part of FreeBSD 13.1-RELEASE.
This kernel will not be updated: you MUST update the kernel manually
before running "/usr/sbin/freebsd-update install"

此警告此时可以安全忽略。更新后的 GENERIC 内核将作为升级过程中的中间步骤使用。

待所有补丁被下载到本地系统,它们将被应用。此过程可能会根据机器的速度和工作负载持续一段时间。配置文件将随后进行合并。合并过程需要用户干预,因为可能会合并某个文件,或者屏幕上会出现编辑器要求手动合并。每次成功合并的结果将继续显示给用户。如果某个合并失败或被忽略,过程将会中止。用户可能希望先备份 /etc,然后在稍后手动合并重要文件,如 master.passwd 或 group。

注意

系统尚未发生任何更改,因为所有的补丁和合并操作都发生在另一个目录中。待所有补丁成功应用,所有配置文件合并完成,并且过程似乎顺利进行,用户可以使用以下命令将更改提交到磁盘:

# freebsd-update install
# nextboot -k GENERIC

警告

在使用 GENERIC 内核重新启动之前,请确保它包含所有启动系统所需的驱动程序,并能够连接到网络,特别是如果正在远程访问被更新的机器。特别是,如果正在运行的自定义内核包含通常由内核模块提供的内置功能,请确保暂时将这些模块加载到 GENERIC 内核中,方法是使用 /boot/loader.conf。建议在升级过程完成之前禁用非必要的服务以及所有磁盘和网络挂载。

机器现在应该使用更新后的内核重启:

# shutdown -r now

系统重新启动后,使用以下命令重新启动 freebsd-update。由于过程状态已被保存,freebsd-update 将不会从头开始,而是继续进入下一个阶段,删除所有旧的共享库和目标文件。

# freebsd-update install

注意

根据是否有库版本号被提升,可能会只有两个安装阶段,而不是三个。

26.2.3.1. FreeBSD 9.X 及以后的自定义内核

在使用 freebsd-update 之前,确保 /boot/GENERIC 中存在一份 GENERIC 内核。如果只构建过一次自定义内核,则 /boot/kernel.old 中的内核即为 GENERIC 内核。只需将该目录重命名为 /boot/GENERIC 即可。

如果已构建了多次自定义内核,或者不知道自定义内核构建了多少次,则需要获取与当前操作系统版本匹配的 GENERIC 内核副本。如果可以物理访问系统,可以从安装介质安装 GENERIC 内核:

# mount /cdrom
# cd /cdrom/usr/freebsd-dist
# tar -C/ -xvf kernel.txz boot/kernel/kernel

或者,可以从源代码重建并安装 GENERIC 内核:

# cd /usr/src
# make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null

为了让 freebsd-update 将此内核识别为 GENERIC 内核,GENERIC 配置文件必须没有做任何修改。同时建议在没有其他特殊选项的情况下构建该内核。

不需要重新启动到 GENERIC 内核,因为 freebsd-update 只需要 /boot/GENERIC 存在即可。

26.2.3.2. 大版本升级后的软件包升级

强制升级所有已安装的包将会从仓库中获取新版本,即使版本号没有增加。由于在 FreeBSD 的大版本升级过程中 ABI 版本发生了变化,强制升级是必要的。可以通过执行以下命令来强制升级:

# pkg-static upgrade -f

可以通过以下命令重建所有从 Ports 安装的应用程序:

# portmaster -af

该命令将为每个具有可配置选项的应用程序显示配置屏幕,并等待用户与这些屏幕进行交互。为防止这种行为并仅使用默认选项,可以在上述命令中加上 -G 参数。

待软件升级完成,使用最终的 freebsd-update 调用来完成升级过程:

# freebsd-update install

重启机器进入新的 FreeBSD 版本。升级过程至此完成。

26.2.4. 系统状态比较

可以使用 freebsd-update IDS 命令将已安装的 FreeBSD 版本与已知的良好副本进行比较。此命令评估当前版本的系统实用程序、库和配置文件,并可以作为内置的入侵检测系统(IDS)使用。

警告

要开始比较,指定输出文件来保存结果:

# freebsd-update IDS >> outfile.ids

系统将会被检查,输出包括一个很长的文件列表以及与发布版本和当前安装版本的 SHA256 哈希值,这些信息会被发送到指定的输出文件。

输出中的条目非常长,但其格式容易解析。例如,要获得与发布版本不同的所有文件的列表,可以执行以下命令:

# cat outfile.ids | awk '{ print $1 }' | more
/etc/master.passwd
/etc/motd
/etc/passwd
/etc/pf.conf

此示例输出已被截断,因为存在更多的文件。一些文件可能自然发生修改。例如,如果已向系统添加用户,/etc/passwd 会被修改。内核模块可能会有所不同,因为 freebsd-update 可能已经更新了它们。要排除特定的文件或目录,可以将它们添加到 /etc/freebsd-update.conf 中的 IDSIgnorePaths 选项中。

列出需要合并的配置文件目录。文件合并过程是一个 补丁。合并可能会被接受、打开编辑器或导致 freebsd-update 中止。若有疑问,备份 /etc 并接受合并。

有关更多详细信息,请参考 。

应用 FreeBSD 安全补丁的过程已经简化,使管理员可以使用 freebsd-update 保持系统的完全补丁更新。有关 FreeBSD 安全公告的更多信息,请访问 。

只有 GENERIC 内核可以由 freebsd-update 自动更新。如果安装了自定义内核,freebsd-update 完成更新后,必须重新构建并重新安装该内核。默认内核名是 GENERIC。可以使用 命令来验证其安装。

请始终在 /boot/GENERIC 中保留 GENERIC 内核的副本。这对于诊断各种问题和执行版本升级非常有帮助。有关如何获取 GENERIC 内核副本的说明,请参见 。

如果系统运行的是自定义内核,请确保在开始升级之前,/boot/GENERIC 中有一份 GENERIC 内核副本。有关如何获取 GENERIC 内核的说明,请参阅 。

首先会更新内核和内核模块。如果系统运行的是自定义内核,请使用 将下次启动的内核设置为更新后的 /boot/GENERIC:

升级现已完成。如果这是一次大版本升级,请按照 中的说明重新安装所有 Port 和包。

通常,在小版本升级后,已安装的应用程序会继续正常工作。大版本使用不同的应用程序二进制接口(ABI),这会导致大多数第三方应用程序出现问题。大版本升级后,需要升级所有已安装的包和 Port。可以使用 pkg upgrade 升级包。要升级已安装的 Port,可以使用如 这样的工具。

如果临时使用了 GENERIC 内核,这是构建并安装新自定义内核的时机,具体步骤请参见 。

此命令并不能替代真实的 IDS,例如 。由于 freebsd-update 会在磁盘上存储数据,因此篡改的可能性是显而易见的。虽然可以通过使用 kern.securelevel 和在不使用时将 freebsd-update 数据存储在只读文件系统上来减少这种可能性,但更好的解决方案是将系统与安全的磁盘进行比较,例如 DVD 或安全存储的外部 USB 磁盘设备。另一种使用内置工具提供 IDS 功能的方法请参见 。

https://www.FreeBSD.org/security/
https://www.FreeBSD.org/releases/
freebsd-update(8)
crontab(5)
diff(1)
freebsd-update.conf(5)
FreeBSD 安全公告
uname(1)
FreeBSD 9.X 及以后的自定义内核
FreeBSD 9.X 及以后的自定义内核
nextboot(8)
大版本升级后重新安装包和 Port
ports-mgmt/portmaster
配置 FreeBSD 内核
security/snort
二进制验证