# FreeBSD 10.4-RELEASE 发行说明（2017 年 10 月 3 日）

## 摘要

FreeBSD 10.4-RELEASE 的发布说明包含了对 FreeBSD 10.4-STABLE 开发线中所做变更的总结。本文列出了自上次发布以来发布的相关安全公告，以及对 FreeBSD 内核和用户空间的重要变更。还简要说明了升级相关的事项。

## 介绍

本文档包含了 FreeBSD 10.4-RELEASE 的发布说明。它介绍了 FreeBSD 中最近添加、修改或删除的功能，并提供了一些关于从先前版本升级的说明。

这些发布说明适用于 snapshot 发行版，它表示在 10.3-RELEASE 和未来的 10.4-STABLE 之间，10.4-STABLE 开发分支中的某个节点。关于沿该分支的预构建二进制快照发行版的信息可以在 [https://www.FreeBSD.org/releases/](https://www.freebsd.org/releases/) 查找。

我们鼓励所有用户在安装 FreeBSD 之前查阅发布。勘误文档会随着发布周期结束或发布后发现的“突发”信息而更新。通常，它包含已知的 bug、安全公告和文档修正。可以在 FreeBSD 网站上找到 FreeBSD 10.3-RELEASE 的最新勘误。

本文档介绍了自 10.3-RELEASE 以来，FreeBSD 中最显著的新增或变更功能。

典型的发布说明项记录了自 10.3-RELEASE 以来发布的最新安全公告、新的驱动程序或硬件支持、新的命令或选项、主要的 bug 修复或第三方的软件升级。它们还可能列出主要 Port/包或发布工程实践的变更。显然，发布说明不能列出每一个在两个版本之间对 FreeBSD 做出的变更；本文档主要聚焦于安全公告、用户可见的变化以及主要的架构改进。

## 从旧版升级 FreeBSD

\[amd64,i386] 支持使用 [freebsd-update(8)](http://www.freebsd.org/cgi/man.cgi?query=freebsd-update\&sektion=8) 工具在 RELEASE 版本之间进行二进制升级（以及各个安全分支的快照）。二进制升级程序将更新未修改的用户空间实用程序，以及作为官方 FreeBSD 发行版一部分分发的未修改的 `GENERIC` 内核。[freebsd-update(8)](http://www.freebsd.org/cgi/man.cgi?query=freebsd-update\&sektion=8) 工具要求升级的主机具有互联网连接。

根据 `/usr/src/UPDATING` 中的说明，支持基于源代码重新编译 FreeBSD 基本系统的源代码升级。

> **重要事项**
>
> 在进行 FreeBSD 升级之前，务必备份 **所有** 数据和配置文件。

## 安全性和勘误

本节列出了自 10.3-RELEASE 以来的各种安全公告和勘误通知。

### 安全公告

| 公告                                                                                                         | 日期               | 主题                                                                                                                   |
| ---------------------------------------------------------------------------------------------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------- |
| [FreeBSD-SA-16:09.ntp](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:09.ntp.asc)               | 2016 年 4 月 29 日  | 多个 ntp 漏洞                                                                                                            |
| [FreeBSD-SA-16:17.openssl](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:17.openssl.asc)       | 2016 年 4 月 29 日  | 多个 OpenSSL 漏洞                                                                                                        |
| [FreeBSD-SA-16:18.atkbd](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:18.atkbd.asc)           | 2016 年 5 月 17 日  | 键盘驱动程序缓冲区溢出                                                                                                          |
| [FreeBSD-SA-16:19.sendmsg](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:19.sendmsg.asc)       | 2016 年 5 月 17 日  | [sendmsg(2)](https://www.freebsd.org/cgi/man.cgi?query=sendmsg\&sektion=2\&manpath=freebsd-release-ports) 中不正确的参数处理  |
| [FreeBSD-SA-16:20.linux](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:20.linux.asc)           | 2016 年 5 月 31 日  | Linux 兼容层中的内核堆栈泄漏                                                                                                    |
| [FreeBSD-SA-16:21.43bsd](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:21.43bsd.asc)           | 2016 年 5 月 31 日  | 4.3BSD 兼容层中的内核堆栈泄漏                                                                                                   |
| [FreeBSD-SA-16:22.libarchive](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:22.libarchive.asc) | 2016 年 5 月 31 日  | 绝对路径遍历漏洞                                                                                                             |
| [FreeBSD-SA-16:23.libarchive](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:23.libarchive.asc) | 2016 年 5 月 31 日  | 绝对路径遍历漏洞                                                                                                             |
| [FreeBSD-SA-16:24.ntp](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:24.ntp.asc)               | 2016 年 6 月 3 日   | 多个 ntp 漏洞                                                                                                            |
| [FreeBSD-SA-16:25.bspatch](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:25.bspatch.asc)       | 2016 年 7 月 25 日  | 堆溢出漏洞                                                                                                                |
| [FreeBSD-SA-16:26.openssl](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:26.openssl.asc)       | 2016 年 9 月 23 日  | 多个漏洞                                                                                                                 |
| [FreeBSD-SA-16:27.openssl](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:27.openssl.asc)       | 2016 年 9 月 26 日  | OpenSSL 套件中的回归                                                                                                       |
| [FreeBSD-SA-16:29.bspatch](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:29.bspatch.asc)       | 2016 年 10 月 10 日 | 堆溢出漏洞                                                                                                                |
| [FreeBSD-SA-16:30.portsnap](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:30.portsnap.asc)     | 2016 年 10 月 10 日 | 多个漏洞                                                                                                                 |
| [FreeBSD-SA-16:31.libarchive](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:31.libarchive.asc) | 2016 年 10 月 10 日 | 多个漏洞                                                                                                                 |
| [FreeBSD-SA-16:33.openssh](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:33.openssh.asc)       | 2016 年 11 月 2 日  | 远程拒绝服务漏洞                                                                                                             |
| [FreeBSD-SA-16:35.openssl](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:35.openssl.asc)       | 2016 年 11 月 2 日  | 远程拒绝服务漏洞                                                                                                             |
| [FreeBSD-SA-16:36.telnetd](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:36.telnetd.asc)       | 2016 年 12 月 6 日  | 可能的 [login(1)](https://www.freebsd.org/cgi/man.cgi?query=login\&sektion=1\&manpath=freebsd-release-ports) 参数注入       |
| [FreeBSD-SA-16:37.libc](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:37.libc.asc)             | 2016 年 12 月 6 日  | [link\_ntoa(3)](https://www.freebsd.org/cgi/man.cgi?query=link_ntoa\&sektion=3\&manpath=freebsd-release-ports) 缓冲区溢出 |
| [FreeBSD-SA-16:38.bhyve](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:38.bhyve.asc)           | 2016 年 12 月 6 日  | 可能的逃逸漏洞 [bhyve(8)](https://www.freebsd.org/cgi/man.cgi?query=bhyve\&sektion=8\&manpath=freebsd-release-ports) 虚拟机    |
| [FreeBSD-SA-16:39.ntp](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:39.ntp.asc)               | 2016 年 12 月 22 日 | 多个漏洞                                                                                                                 |
| [FreeBSD-SA-17:01.openssh](https://www.freebsd.org/security/advisories/FreeBSD-SA-17:01.openssh.asc)       | 2017 年 1 月 10 日  | 多个漏洞                                                                                                                 |
| [FreeBSD-SA-17:02.openssl](https://www.freebsd.org/security/advisories/FreeBSD-SA-17:02.openssl.asc)       | 2017 年 2 月 23 日  | 修复 OpenSSL RC4\_MD5 密码漏洞                                                                                             |
| [FreeBSD-SA-17:03.ntp](https://www.freebsd.org/security/advisories/FreeBSD-SA-17:03.ntp.asc)               | 2017 年 4 月 12 日  | 多个漏洞                                                                                                                 |
| [FreeBSD-SA-17:04.ipfilter](https://www.freebsd.org/security/advisories/FreeBSD-SA-17:04.ipfilter.asc)     | 2017 年 4 月 27 日  | 修复分片处理崩溃                                                                                                             |
| [FreeBSD-SA-17:05.heimdal](https://www.freebsd.org/security/advisories/FreeBSD-SA-17:05.heimdal.asc)       | 2017 年 7 月 12 日  | 修复 KDC-REP 服务名称验证漏洞                                                                                                  |

### 勘误通知

| 勘误                                                                                                                 | 日期               | 主题                                                                                                                                                    |
| ------------------------------------------------------------------------------------------------------------------ | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| [FreeBSD-EN-16:06.libc](https://www.freebsd.org/security/advisories/FreeBSD-EN-16:06.libc.asc)                     | 2016 年 5 月 4 日   | libc [hash(3)](https://www.freebsd.org/cgi/man.cgi?query=hash\&sektion=3\&manpath=freebsd-release-ports) 中的性能回归                                       |
| [FreeBSD-EN-16:07.ipi](https://www.freebsd.org/security/advisories/FreeBSD-EN-16:07.ipi.asc)                       | 2016 年 5 月 4 日   | x86 IPI 传递中的过度延迟                                                                                                                                      |
| [FreeBSD-EN-16:08.zfs](https://www.freebsd.org/security/advisories/FreeBSD-EN-16:08.zfs.asc)                       | 2016 年 5 月 4 日   | ZFS 中的内存泄漏                                                                                                                                            |
| [FreeBSD-EN-16:09.freebsd-update](https://www.freebsd.org/security/advisories/FreeBSD-EN-16:09.freebsd-update.asc) | 2016 年 7 月 25 日  | 修复 [freebsd-update(8)](https://www.freebsd.org/cgi/man.cgi?query=freebsd-update\&sektion=8\&manpath=freebsd-release-ports) 对 FreeBSD 11.0-RELEASE 的支持 |
| [FreeBSD-EN-16:10.dhclient](https://www.freebsd.org/security/advisories/FreeBSD-EN-16:10.dhclient.asc)             | 2016 年 8 月 11 日  | 更好地处理来自 DHCP 服务器的未知选项                                                                                                                                 |
| [FreeBSD-EN-16:11.vmbus](https://www.freebsd.org/security/advisories/FreeBSD-EN-16:11.vmbus.asc)                   | 2016 年 8 月 11 日  | 避免为通道消息锁使用自旋锁                                                                                                                                         |
| [FreeBSD-EN-16:12.hv\_storvsc](https://www.freebsd.org/security/advisories/FreeBSD-EN-16:12.hv_storvsc.asc)        | 2016 年 8 月 11 日  | 仅在 Windows 10 主机系统上启用 INQUIRY 结果检查                                                                                                                    |
| [FreeBSD-EN-16:13.vmbus](https://www.freebsd.org/security/advisories/FreeBSD-EN-16:13.vmbus.asc)                   | 2016 年 8 月 11 日  | 及早注册时间计数器以进行 TSC 频率校准                                                                                                                                 |
| [FreeBSD-EN-16:14.hv\_storvsc](https://www.freebsd.org/security/advisories/FreeBSD-EN-16:14.hv_storvsc.asc)        | 2016 年 8 月 11 日  | 禁用 [hv\_storvsc(4)](https://www.freebsd.org/cgi/man.cgi?query=hv_storvsc\&sektion=4\&manpath=freebsd-release-ports) 中的错误回调                            |
| [FreeBSD-EN-16:15.vmbus](https://www.freebsd.org/security/advisories/FreeBSD-EN-16:15.vmbus.asc)                   | 2016 年 8 月 11 日  | 更好地处理 Hyper-V 中的 GPADL 设置失败                                                                                                                           |
| [FreeBSD-EN-16:16.hv\_storvsc](https://www.freebsd.org/security/advisories/FreeBSD-EN-16:16.hv_storvsc.asc)        | 2016 年 8 月 11 日  | 修复 SCSI INQUIRY 检查和错误处理                                                                                                                               |
| [FreeBSD-EN-16:17.vm](https://www.freebsd.org/security/advisories/FreeBSD-EN-16:17.vm.asc)                         | 2016 年 10 月 25 日 | 多个虚拟内存问题                                                                                                                                              |
| [FreeBSD-EN-16:19.tzcode](https://www.freebsd.org/security/advisories/FreeBSD-EN-16:19.tzcode.asc)                 | 2016 年 12 月 6 日  | 修复关于无效时区缩写的警告                                                                                                                                         |
| [FreeBSD-EN-16:20.tzdata](https://www.freebsd.org/security/advisories/FreeBSD-EN-16:20.tzdata.asc)                 | 2016 年 12 月 6 日  | 更新时区数据库信息                                                                                                                                             |
| [FreeBSD-EN-17:05.xen](https://www.freebsd.org/security/advisories/FreeBSD-EN-17:05.xen.asc)                       | 2017 年 2 月 23 日  | Xen 迁移增强                                                                                                                                              |
| [FreeBSD-EN-17:06.hyperv](https://www.freebsd.org/security/advisories/FreeBSD-EN-17:06.hyperv.asc)                 | 2017 年 7 月 12 日  | 与 Azure 虚拟机的启动兼容性改进                                                                                                                                   |

## 用户空间

本节涉及了了用户空间应用程序、第三方软件和系统工具的变更和新增内容。

### 用户空间配置变更

当在 [src.conf(5)](https://www.freebsd.org/cgi/man.cgi?query=src.conf\&sektion=5\&manpath=freebsd-release-ports) 中设置 `WITHOUT_TCP_WRAPPERS` 时，`inetd(8)` 工具现在不再构建 `libwrap` 支持。[(r313206)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=313206)

当在 [src.conf(5)](https://www.freebsd.org/cgi/man.cgi?query=src.conf\&sektion=5\&manpath=freebsd-release-ports) 中设置 `WITHOUT_LIBTHR` 时，`libthr(3)` 库及相关文件在升级系统时会被评估并通过 `delete-old-libs` 目标删除。[(r316046)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=316046)

已添加 `WITH_RPCBIND_WARMSTART_SUPPORT` [src.conf(5)](https://www.freebsd.org/cgi/man.cgi?query=src.conf\&sektion=5\&manpath=freebsd-release-ports) 开关，启用时允许构建带有 `warmstart` 支持的 [rpcbind(8)](https://www.freebsd.org/cgi/man.cgi?query=rpcbind\&sektion=8\&manpath=freebsd-release-ports)。[(r319243)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=319243)

### 用户空间应用程序变更

[truss(1)](https://www.freebsd.org/cgi/man.cgi?query=truss\&sektion=1\&manpath=freebsd-release-ports) 工具已更新，新增参数 `-H`，该参数记录调用系统调用的线程 ID。[(r298427)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=298427)

已新增 [zfsbootcfg(8)](https://www.freebsd.org/cgi/man.cgi?query=zfsbootcfg\&sektion=8\&manpath=freebsd-release-ports) 工具，提供一次性的 [boot.config(5)](https://www.freebsd.org/cgi/man.cgi?query=boot.config\&sektion=5\&manpath=freebsd-release-ports) 风格选项供 [zfsboot(8)](https://www.freebsd.org/cgi/man.cgi?query=zfsboot\&sektion=8\&manpath=freebsd-release-ports) 使用。[(r308915)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=308915)

已更新 [pw(8)](https://www.freebsd.org/cgi/man.cgi?query=pw\&sektion=8\&manpath=freebsd-release-ports) 工具，以正确遵循 [pw.conf(5)](https://www.freebsd.org/cgi/man.cgi?query=pw.conf\&sektion=5\&manpath=freebsd-release-ports)，（若有）。[(r316348)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=316348)

已新增 [cxgbetool(8)](https://www.freebsd.org/cgi/man.cgi?query=cxgbetool\&sektion=8\&manpath=freebsd-release-ports) 工具，提供命令行访问 [cxgbe(4)](https://www.freebsd.org/cgi/man.cgi?query=cxgbe\&sektion=4\&manpath=freebsd-release-ports) 设备的功能和调试设施。[(r319390)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=319390)

[ifconfig(8)](https://www.freebsd.org/cgi/man.cgi?query=ifconfig\&sektion=8\&manpath=freebsd-release-ports) 工具已更新，以显示网络驱动程序持久存储的 MAC 地址。这提供了一种机制，通过它可以检索原始的 MAC 地址，例如，当接口被添加到 [lagg(4)](https://www.freebsd.org/cgi/man.cgi?query=lagg\&sektion=4\&manpath=freebsd-release-ports) 且 `MAC` 在 [rc.conf(5)](https://www.freebsd.org/cgi/man.cgi?query=rc.conf\&sektion=5\&manpath=freebsd-release-ports) 中被重写时。[(r318430)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=318430)

[rcp(1)](https://www.freebsd.org/cgi/man.cgi?query=rcp\&sektion=1\&manpath=freebsd-release-ports)、[rlogin(1)](https://www.freebsd.org/cgi/man.cgi?query=rlogin\&sektion=1\&manpath=freebsd-release-ports)、[rsh(1)](https://www.freebsd.org/cgi/man.cgi?query=rsh\&sektion=1\&manpath=freebsd-release-ports)、[rlogind(8)](https://www.freebsd.org/cgi/man.cgi?query=rlogind\&sektion=8\&manpath=freebsd-release-ports) 和 [rshd(8)](https://www.freebsd.org/cgi/man.cgi?query=rshd\&sektion=8\&manpath=freebsd-release-ports) 工具已被标记为弃用，计划在 FreeBSD 12.0-RELEASE 中移除。[(r320646)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=320646)

[syslogd(8)](https://www.freebsd.org/cgi/man.cgi?query=syslogd\&sektion=8\&manpath=freebsd-release-ports) 工具已更新，以便在子进程意外重启时重新启动日志记录。[(r320772)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=320772)

[gdb(1)](https://www.freebsd.org/cgi/man.cgi?query=gdb\&sektion=1\&manpath=freebsd-release-ports) 和 [kgdb(1)](https://www.freebsd.org/cgi/man.cgi?query=kgdb\&sektion=1\&manpath=freebsd-release-ports) 工具已被标记为弃用，计划从基本系统中移除。可以在 Port `devel/gdb` 中找到较新的版本。[(r320824)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=320824)

[cron(8)](https://www.freebsd.org/cgi/man.cgi?query=cron\&sektion=8\&manpath=freebsd-release-ports) 工具已更新，以支持默认情况下包含 `/etc/cron.d` 和 `/usr/local/etc/cron.d` 中的文件。[(r321242)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=321242)

[syslogd(8)](https://www.freebsd.org/cgi/man.cgi?query=syslogd\&sektion=8\&manpath=freebsd-release-ports) 工具已更新，新增关键字 `include`，允许指定目录来包含额外的配置文件，这些文件将被包括在 [syslog.conf(5)](https://www.freebsd.org/cgi/man.cgi?query=syslog.conf\&sektion=5\&manpath=freebsd-release-ports) 之外。已更新默认的 [syslog.conf(5)](https://www.freebsd.org/cgi/man.cgi?query=syslog.conf\&sektion=5\&manpath=freebsd-release-ports) ，默认包括 `/etc/syslog.d` 和 `/usr/local/etc/syslog.d`。[(r321234)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=321234)

[newsyslog(8)](https://www.freebsd.org/cgi/man.cgi?query=newsyslog\&sektion=8\&manpath=freebsd-release-ports) 工具已更新，以支持以符合 RFC5424 格式的方式记录到 [syslogd(8)](https://www.freebsd.org/cgi/man.cgi?query=syslogd\&sektion=8\&manpath=freebsd-release-ports)。有关更多细节，请参见 [newsyslog.conf(5)](https://www.freebsd.org/cgi/man.cgi?query=newsyslog.conf\&sektion=5\&manpath=freebsd-release-ports) 中 `T` 参数的描述。[(r321263)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=321263)

[pw(8)](https://www.freebsd.org/cgi/man.cgi?query=pw\&sektion=8\&manpath=freebsd-release-ports) 工具已更新，支持通过参数 `-G` 传递空的次要组，确保目标用户没有次要组成员身份。[(r323333)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=323333)

### 第三方的软件

Subversion 已更新至 1.9.5 版本。 [(r309512)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=309512)

[file(1)](https://www.freebsd.org/cgi/man.cgi?query=file\&sektion=1\&manpath=freebsd-release-ports) 已更新至 5.29 版本。 [(r309848)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=309848)

[amd(8)](https://www.freebsd.org/cgi/man.cgi?query=amd\&sektion=8\&manpath=freebsd-release-ports) 实用程序已更新至 6.2 版本。 [(r310490)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=310490)

[xz(1)](https://www.freebsd.org/cgi/man.cgi?query=xz\&sektion=1\&manpath=freebsd-release-ports) 已更新至 5.2.3 版本。 [(r312516)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=312516)

[zlib(3)](https://www.freebsd.org/cgi/man.cgi?query=zlib\&sektion=3\&manpath=freebsd-release-ports) 已更新至 1.2.11 版本。 [(r313796)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=313796)

[ntpd(8)](https://www.freebsd.org/cgi/man.cgi?query=ntpd\&sektion=8\&manpath=freebsd-release-ports) 已更新至 4.2.8p10 版本。 [(r316069)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=316069)

时区数据文件已更新至 2017b 版本。 [(r316350)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=316350)

[tcsh(1)](https://www.freebsd.org/cgi/man.cgi?query=tcsh\&sektion=1\&manpath=freebsd-release-ports) 已更新至 6.20.00 版本。 [(r316958)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=316958)

[libarchive(3)](https://www.freebsd.org/cgi/man.cgi?query=libarchive\&sektion=3\&manpath=freebsd-release-ports) 已更新至 3.3.2 版本。 [(r321304)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=321304)

bmake 已更新至 20170720 版本。 [(r321964)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=321964)

`pci_vendors` 已更新至 2017.07.27 版本。 [(r322244)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=322244)

### 安装和配置工具

[bsdinstall(8)](https://www.freebsd.org/cgi/man.cgi?query=bsdinstall\&sektion=8\&manpath=freebsd-release-ports) 实用程序已更新，以确保新创建的分区正确对齐在 4096 字节边界。 [(r313433)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=313433)

[bsdinstall(8)](https://www.freebsd.org/cgi/man.cgi?query=bsdinstall\&sektion=8\&manpath=freebsd-release-ports) 创建的默认 EFI 分区已从 800KB 增加至 200MB。 [(r321202)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=321202)（由 FreeBSD 基金会赞助）

### 运行时库和 API

已更新函数 [kvm\_close(3)](https://www.freebsd.org/cgi/man.cgi?query=kvm_close\&sektion=3\&manpath=freebsd-release-ports) ，以返回前一个 [close(2)](https://www.freebsd.org/cgi/man.cgi?query=close\&sektion=2\&manpath=freebsd-release-ports) 调用的累积错误。 [(r316040)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=316040)

已更新 [syslog(3)](https://www.freebsd.org/cgi/man.cgi?query=syslog\&sektion=3\&manpath=freebsd-release-ports) 函数，以提高对线程取消的韧性，在支持的延迟模式下消除了可能发生的死锁，避免了多线程应用程序在频繁创建和取消线程时的锁死问题，例如 `net/mpd5`。 [(r320312)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=320312)

已更新 [stdio(3)](https://www.freebsd.org/cgi/man.cgi?query=stdio\&sektion=3\&manpath=freebsd-release-ports) 函数为延迟取消安全，从而消除了多线程应用程序在使用如 [funopen(3)](https://www.freebsd.org/cgi/man.cgi?query=funopen\&sektion=3\&manpath=freebsd-release-ports)、[fropen(3)](https://www.freebsd.org/cgi/man.cgi?query=fropen\&sektion=3\&manpath=freebsd-release-ports) 和 [fwopen(3)](https://www.freebsd.org/cgi/man.cgi?query=fwopen\&sektion=3\&manpath=freebsd-release-ports) 等函数时可能出现的死锁问题。 [(r321074)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=321074)

### ABI 兼容性

已定义 `max_align_t` 类型，以符合 C11 标准。 [(r309258)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=309258)

### 用户空间调试

[ptrace(2)](https://www.freebsd.org/cgi/man.cgi?query=ptrace\&sektion=2\&manpath=freebsd-release-ports) 现在支持线程创建和销毁事件，能更可靠地调试线程化进程。 [(r304017)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=304017)

[ptrace(2)](https://www.freebsd.org/cgi/man.cgi?query=ptrace\&sektion=2\&manpath=freebsd-release-ports) 现在支持 [vfork(2)](https://www.freebsd.org/cgi/man.cgi?query=vfork\&sektion=2\&manpath=freebsd-release-ports) 事件，允许在 [vfork(2)](https://www.freebsd.org/cgi/man.cgi?query=vfork\&sektion=2\&manpath=freebsd-release-ports) 调用中进行可靠调试。 [(r304499)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=304499)

进程核心转储现在包含进程 ID (PID) 和命令行参数。 [(r306786)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=306786)

## 内核

本节涉及了内核配置、系统调优和未归类的系统控制参数的变化。

### 杂项内核变化

[vt(4)](https://www.freebsd.org/cgi/man.cgi?query=vt\&sektion=4\&manpath=freebsd-release-ports) 驱动已更新，增加了最大帧缓存大小。 [(r321198)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=321198)

### 内核 bug 修复

已更新数据包过滤器 [ipf(4)](https://www.freebsd.org/cgi/man.cgi?query=ipf\&sektion=4\&manpath=freebsd-release-ports) ，防止 `keep state` 错误地暗示 `keep frags`，与 [ipf(5)](https://www.freebsd.org/cgi/man.cgi?query=ipf\&sektion=5\&manpath=freebsd-release-ports) 中记录的行为相匹配。 [(r317434)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=317434)

已更新 [geom(4)](https://www.freebsd.org/cgi/man.cgi?query=geom\&sektion=4\&manpath=freebsd-release-ports) 类 `JOURNAL`，以修复 `flush_queue` 处理。 [(r322793)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=322793)

### 系统调优和控制

已在 `kern.features` [sysctl(8)](https://www.freebsd.org/cgi/man.cgi?query=sysctl\&sektion=8\&manpath=freebsd-release-ports) 中添加参数 `kern.features.linux` 和 `kern.features.linux64`，当设置为 `1` 时，表示内核配置了 32 位和/或 64 位 Linux 二进制兼容性。 [(r321024)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=321024)

## 设备和驱动程序

本节涉及了了自 10.3-RELEASE 以来设备和设备驱动程序的变化和新增内容。

### 设备驱动程序

作为 `set driver` 的补充，[devctl(8)](https://www.freebsd.org/cgi/man.cgi?query=devctl\&sektion=8\&manpath=freebsd-release-ports) 现在支持命令 `clear driver`。 [(r306533)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=306533)（由 Chelsio 赞助）

### 存储驱动程序

[mpr(4)](https://www.freebsd.org/cgi/man.cgi?query=mpr\&sektion=4\&manpath=freebsd-release-ports) 驱动已更新，支持三模 (SAS/SATA/PCIe) 博通存储适配器。 [(r319436)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=319436)

[arcmsr(4)](https://www.freebsd.org/cgi/man.cgi?query=arcmsr\&sektion=4\&manpath=freebsd-release-ports) 驱动已更新至版本 1.40.00.00，增加对 ARC-1884 SATA 控制器的支持。 [(r321067)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=321067)

### 网络驱动程序

[cxgbev(4)](https://www.freebsd.org/cgi/man.cgi?query=cxgbev\&sektion=4\&manpath=freebsd-release-ports) 驱动已添加，提供对 Chelsio T4 和 T5 适配器上的虚拟功能设备 (VF) 的支持。 [(r309447)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=309447)（由 Chelsio 赞助）

[cxgbe(4)](https://www.freebsd.org/cgi/man.cgi?query=cxgbe\&sektion=4\&manpath=freebsd-release-ports) 驱动已更新，提供对 Chelsio T6 适配器上虚拟功能设备 (VF) 的支持。 [(r309560)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=309560)（由 Chelsio 赞助）

[cxgbe(4)](https://www.freebsd.org/cgi/man.cgi?query=cxgbe\&sektion=4\&manpath=freebsd-release-ports) 驱动现在支持使用 T6 适配器的设备，支持 10、25、40 和 100 Gbps。 [(r309560)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=309560)（由 Chelsio 赞助）

[alc(4)](https://www.freebsd.org/cgi/man.cgi?query=alc\&sektion=4\&manpath=freebsd-release-ports) 驱动已更新，提供对 Atheros Killer E2400™ 千兆以太网卡的支持。 [(r312359)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=312359)

[alc(4)](https://www.freebsd.org/cgi/man.cgi?query=alc\&sektion=4\&manpath=freebsd-release-ports) 驱动已更新，提供对 Atheros Killer E2500™ 千兆以太网卡的支持。 [(r314019)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=314019)（由微软赞助）

[qlnxe(4)](https://www.freebsd.org/cgi/man.cgi?query=qlnxe\&sektion=4\&manpath=freebsd-release-ports) 驱动已添加，提供对 Cavium Qlogic™ 45000 系列适配器的支持。 [(r316485)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=316485)

[cxgbe(4)](https://www.freebsd.org/cgi/man.cgi?query=cxgbe\&sektion=4\&manpath=freebsd-release-ports) 驱动已更新至固件版本 1.16.45.0，适用于 T4、T5 和 T6 卡。 [(r319270)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=319270)（由 Chelsio 赞助）

## 硬件支持

本节涉及了物理机器、虚拟机监控器和虚拟化环境的通用硬件支持，以及不适合其他部分的硬件变化和更新。

### 虚拟化支持

通过 [bhyve(4)](https://www.freebsd.org/cgi/man.cgi?query=bhyve\&sektion=4\&manpath=freebsd-release-ports) 的 PCI 直通在虚拟机启动和停止时通过 FLR 重置功能。 [(r306520)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=306520)（由 Chelsio 赞助）

通过 [bhyve(4)](https://www.freebsd.org/cgi/man.cgi?query=bhyve\&sektion=4\&manpath=freebsd-release-ports) 的 PCI 直通支持更多动态配置，笨办法在运行时标记设备用于直通或主机使用。 [(r306472)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=306472)（由 Chelsio 赞助）

### 存储

本节涉及了文件系统和其他存储子系统的变化和新增内容，包括本地和网络存储。

### 网络存储

NFS 客户端现在可以正确处理来自 NFS 服务器的错误 `NFS4ERR_BAD_SESSION`。此外，内核 RPC 客户端已更新，以防止在接收到来自 [sosend(9)](https://www.freebsd.org/cgi/man.cgi?query=sosend\&sektion=9\&manpath=freebsd-release-ports) 的 `ERESTART` 时创建新的 TCP 连接。 [(r318675)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=318675)

NFS 客户端已更新，支持通过 `DS` 提交 pNFS `commit`。 [(r321031)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=321031)

## 网络

本节介绍了影响 FreeBSD 网络的变化。

### 一般网络变化

网络栈已被修改，以修复如果多个线程同时发出 UDP `log_in_vain` 消息时出现的不正确或无效的 IP 地址问题。 [(r313558)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=313558)（由 Dell EMC 赞助）

已修改 TCP 栈，改为使用估算的 RTT 而不是时间戳来进行接收缓冲区自动调整大小。 [(r317375)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=317375)（由 Multiplay 赞助）

### 网络协议

Dummynet AQM，一个独立实现的 CoDel 和 FQ-CoDel 用于 ipfw/dummynet，已被导入到基本系统中。 [(r301772)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=301772)

已添加对 GARP（自愿 ARP）重传的支持。新增 [sysctl(8)](https://www.freebsd.org/cgi/man.cgi?query=sysctl\&sektion=8\&manpath=freebsd-release-ports)，`net.link.ether.inet.garp_rexmit_count`，用于设置当值为非零时的最大重传次数。 [(r309340)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=309340)（由 Dell EMC 赞助）

## Ports 和包基础设施

本节涉及了 FreeBSD Ports、包基础设施以及包维护和安装工具的变化。

### 软件包变化

[pkg(8)](https://www.freebsd.org/cgi/man.cgi?query=pkg\&sektion=8\&manpath=freebsd-release-ports) 工具已更新到版本 1.10.1。
