FreeBSD 13.0.

2021-04-14 04:32:46

本文档包含FreeBSD13.0-Release的发行说明。它描述了最近添加的,更改或删除了FreeBSD的删除了。它还提供了一些关于升级FreeBSD的Pruvious版本的注释。

创建了这些发行说明的发布分配适用于13稳定发展的13稳态发展的最新点。有关预先构建的信息,可以在HTTPS://www.freebsd.org/releases/中找到沿着此分支的预构建的二进制发布分发分发。

这些发布说明在12.2-释放和未来13.1释放的13稳定开发分支中,这些发布说明的释放分配。沿着此分支的预构建的信息的信息,可以在https://www.freebsd.org/releases/播下。

这种FreeBSD的分布13.0释放是一种释放分布。它可以在https://www.freebsd.org/releases/or中找到它的任何镜子。有关获取此(Orther)释放的FreeBSD发布分布的更多信息,请参见FreeBSDHandBook的获取FreeBSD附录中。

鼓励所有用户咨询FreeBSD的发布勘误表。 errata文档是用&#34更新的"迟到的"释放周期中已迟到的信息卸货。通常,它包含有关已知文档,安全性建议和更正的信息。 FreeBSD 13.0-Release的Errata的Anup-to-Date副本可以是FreeBSD网站。

此文档介绍了自12.2版本以来FreeBSD中最具可见的新功能或更换了。通常,此处的更改被授予的13稳定分支是独一无二的,除非是指定标记为合并的功能。

典型版本注意项目近期的安全性建议12.2-Release,New Drivers或硬件支持,NewCommands或选项,主要错误修复或贡献的软件支持。他们还可以列出到主要端口/包装的更改orrelease工程实践。显然,发行说明不能在发布之间对FreeBSD所做的每一个变更;这个遗产主要侧重于安全建议,用户 - visiblechanges和主要的架构改进。

使用FreeBSD-UPDATE(8)实用程序支持发布版本(和简称安全分支的快照)之间的二进制升级。二进制升级过程将update未修改的userland实用程序,以及作为官方FreeBSD版本的一部分分发的未修改的verionernels。 FreeBSD-Update(8)实用程序要求主机升级到Internet连接。

基于源的升级(基于从先前版本的基于重新编译自由源代码的System)的升级是根据的。

升级从早期的FreeBSD版本中升级PowerPC64 Systems不受支持。由于使用新的ABI,用户需要重新安装。

更新UEFI ESP分区(固件靴FROM的分区)已更改。请参阅引导加载程序更改不一致的详细信息。

rc.subr(8)现在在所有RC(8)脚本中授予$ {name} _env。以前,如果使用定义的acustom * _cmd变量来控制run_rc_command函数的行为,则忽略由Uservia $ {name} _env设置的环境变量,例如,start_cmd,而不是依赖于命令和command_args等变量。 d15e810db9a5.

init(8),服务(8)和Cron(8)现在将采用用户/类环境变量bydefault(不包括路径)。值得注意的是,现在可以通过Login.conf(5)设置所有Cron作业和RC(8)服务的环境variables。 21C1A93C048F,736A5A6D1DBB,7466DBD68487

NewsySlog(8)的默认配置为现在只包含来自/ etc / newsyslog.conf.d /和/usr/local/etc/newsyslog.conf.d/directories的文件,如果文件名结尾,则为#34; .conf& #34;并没有开始A"。"特点。这与syslog.conf(5)功能相匹配,并且还可以防止" .sample"或" .pkgnew"包含的文件。 9165316FF6BF.

内核现在支持强制执行W ^ x内存映射策略,为用户进程。默认情况下,该策略不会强制执行,但可以通过将kern.elf32.allow_wx和kern.elf64.allow_wx sysctls设置为0.Allow_wx sysctl。通过elfctl(1)通过wxneeded功能免除单个binariescan。 2E1C94AA1FD5(由FreeBSDFoundation赞助)

Calendar(1)实用程序再次支持嵌套的C预处理程序,现在支持C ++注释语法,此外,C ++ C语言。 19B5C307548

Calendar(1)实用程序根据调用用户的TheloCale一致地打印日期,而不是Cluded文件的可能变化的本地。 F1560BD080A

Calendar(1)实用程序使用包含-a选项调用的包含filesif的正确路径使用。 19B5C307548

日历(1)实用程序不再安装其他ThatCalendar.freeBSD的数据文件。数据文件现在由thedeskutils / calendar-data port提供。 D20D6550187

守护程序(8)实用程序现在支持-h标志ToClose并在收到SighUp时重新打开输出文件。通过Newsyslog(8),ThisPersmits旋转输出文件。 4CD407EC933.

DevD(8)实用程序现在将系统从睡眠而不是kernsystem事件恢复时报告内核系统事件。 F87655EC7694

FreeBSD-UPDATE(8)实用程序现在支持-pflag,可确保密码DB更改通过PWD_MKDB(8)。 9B6591109E8(由FreeBSDFoundation赞助)

FreeBSD-Update(8)实用程序现在支持更新和ShowConfig命令才能分别进行更新并检查配置。 8CFDA118CBD.

使用寻呼机环境变量的FreeBSD-Update(8)实用程序文档的手动页面用于非交互式使用。 32F4592764D

删除了未安装以供CrashInfo(8)使用的GNU调试器的过时版本。可以获得详细的内核崩溃信息,从端口或包装安装现代GDB。 1C0EA326AA6D

从树上移除过时的Binutils 2.17和GCC(1)4.2.1。所有支持的架构现在符合LLVM / Clang Toolchain。 0AD202F312F6,A04C978B369,57F804675E65,90B9AA475E9E(由FreeBSDFoundation赞助)

删除了DTC(1)的GPL许可版本。现在构建了BSD许可版本。 134B378392A8(由FreeBSDFoundation赞助)

GSTAT(8)实用程序的手册页现在文件使用交互式键盘COMMANDS。 CFAA2958DC4

InetD(8)实用程序的手动页面现在包括如何使用NetCatas HTTP代理的示例。 A58FC861516

默认情况下,Grep(1)的BSD版本现在已安装。已删除过时的GNU版本是上一个默认值。 8aff76FB37B5,47D1AD2413DA

用Gavin D.霍华德开发的版本替换了BC(1)和DC(1)实用程序。新版本不依赖于外部大数字库,提供GNU BC扩展,比和修复POSIX顺维行为问题他们取代的程序。他们支持PosixMessage目录,并附上汉语,荷兰语,英语,法语,德语,日语,波兰语,Portugueze,Andrussian的本地化消息。以前的实现仍然可用IflifeBSD-13,可以通过Buildoption而不是NET _GH_BC来选择而不是新的。 C41FEF90A7D

Clang,LLD和LLDB实用程序和编译器-TT-RT,LLVM,Libunwind和Libc ++库已更新为Version11.0.1。 39b7445e15cd.

一个新的Linux兼容Copy_file_Range(2)系统调用支持高效的文件副本。特别是,此系统调用允许内核请求NFSv4.2服务器在服务器上本地执行复制操作。 BBBBECA3E9A3.

正则表达式(3)函数不再接受冗余逃逸以获取大量字符。这将导致SED(1)和Grep(1)等应用,以拒绝使用这些逃离的正则表达式。 ADEEBF4CD47C.

PowerPC64同时切换到ELFV2 ABI,它切换TOLLVM。这将我们带来了与现代Linux发行版的奇偶校验。这也使一副FreeBSD Versions中的二进制文件与13.0版本中的。内核仍然支持ELFv1,使用旧的FreeBSD版本的Sojail和Chroots仍然遍及。 E4399D169ACC.

本节涵盖了内核配置,SystemTuning和系统控制参数的更改,这些参数不提供其他方式。

附加到监狱(8)的流程现在将完全将其CPUSET(1)恢复到监狱的CPUSET上。值得注意的是,如果HATBEEN分配了一个编号的CPUSET,那么它将被分配一个姓名的集合,这是CPU的组合允许Theataching过程和监狱。如果他们与监狱共同常见,则属于theuperuser的进程将根据需要隐式扩展其CPU掩码。

向BetterSupport现代加密算法进行大修,并简化了设备驱动程序和框架消费者的接口。 C03414326909(由ChelsioCommunications赞助)

GELI(8)现在报告使用加速软件切割(如x86 CPU上的AES-NI)和#34;加速软件"而不是"硬件"这纯粹是命名的变化,并且不起作用暗示性能或支持。 A3D565A1188F(由ChelsioCommunications赞助)

删除了RFC 8221弃用的IPsec算法作为三重DES的支持。 16AABB761C0A(由ChelsioCommunications赞助)

重构AMD64 DMAR驱动程序以提供可由其他架构使用的通用I / O MMUFramework。作为本文的一部分,将AMD64特定的ACPI_DMAR Kernovention重命名为Iommu。 6186BFBD1880(由Darpa赞助)(由AFRL赞助)

为ARCR64架构添加了ARM系统内存管理单元Version3.2的驱动程序。驱动程序由Iommu内核选项启用。 4CC8701067E1(由Darpa赞助)(由AFRL赞助)(由Innovate UK赞助)

AMD64和I386的通用内核现在包括AESNI(4),以默认支持GELI(8)的加速软件加密。 074A91F746BD

AARCH64的通用内核现在包括ARMV8CRYPTO(4),以默认支持GELI(8)的加速软件加密。 074A91F746BD

为内核添加了安全的内存回收(SMR),这是一个密切耦合到UMA(9)的EPOCH填充的轻量级变体。这已应用于VM子系统和VFS层的部分,以提高高核心计数系统上的可扩展性。 D4665EA6638

添加了NetGDB(4)工具,允许在网络上使用GDB(4)内核调试器。 DDA17B3672F2

QAT(4)驱动程序已添加,支持Intel QuickAssist(QAT)设备的一些压缩加速功能。 QAT(4)驱动程序支持与ATOMC2000和C3000和Xeon C620和D-1500平台集成的QAT设备,以及IntelQAT适配器8950. 72143E89BB43(由Rubicon Communications,LLC(" Netgate"))赞助

新的Safexcel(4)驱动程序通过在esPressobin上找到的IIP-97数据包处理模块支持加密请求。 B356DDF07671(由Rubicon Communications,LLC赞助)

新的USBHID(4)驱动程序使用HID(4)框架的驱动程序,用于USB HID设备而不是UKBD(4),UMS(4)和UHID(4)。通过添加hw.usb.usbhid.enable = 1来启用usbhid(4)并添加usbhidto kld_list =""在 。 b62f6dfaed3d.

Virtio设备驱动程序套件现在支持Virtio V1Spec。这提高了FreeBSD作为Guest operationsystem的兼容性,具有各种虚拟机管理程序和模拟器,包括在Q35芯片组欠款上运行的能力。

新的OSSL(4)驱动程序支持OpaArch64,AMD64和I386 OpaArch64,AMD64和I386,来自OpenSSL。 Ba610be90a7c(由Netflix赞助),22bd0c9731d7(由freebsdfoundation赞助)

支持软件加密OnArmv8 CPU的ARMv8crypto(4)驱动程序现在支持Geli(8)使用的AES-XT。 4979620ECE98

ARMv8crypto(4)驱动程序现在支持AES-GCM,它是用Byipsec和Kernel TLS使用的。 F76393A6305B(由Ampere Computing赞助)

为PWM背光兼容设备添加了驱动程序,例如Pinebook和Pinebook Pro在Pinebook和Pinebook Pro上发现的驱动程序。 38D94A4BC75(由FreeBSDFoundation赞助)

本节涵盖了本地和网络的文件系统和其他存储子系统的更改和添加。

对于iSCSI(4)和CTLD(8),添加了在Diffserv CodePoints(DSCP)和以太网优先级代码点(PCP)的形式中指定网络QoS的支持。 DDF1072AAC49(由NetApp赞助)

CTLD(8)实用程序现在支持-f标​​志来测试配置文件的有效性。 7FCBECD004F.

GNOP(8)现在可以应用可配置的延迟来读取和编写措施来模拟慢磁盘。 4F80C85519D5

内核现在为不支持稀疏文件提供的文件系统提供Seep_Data和Seep_hole Ioctl(2)' s提供默认实现。 2E1B32C0E3FC

NFS客户端和服务器现在支持NFSv4.2(RFC 7862)和扩展属性(RFC 8276)。 C057A378180E

使用Eisdir Bydefault尝试读取目录失败。 -D跳过标志可以传递给Grep(1),以抑制在包含目录的列表中的列表时抑制stderr中的错误。 dcef4f65ae39.

NFS服务器现在允许通过导出(5)中的-maproot或-mapall指定的凭据(5)以包含16多个组。 cc5efdde94bf.

NFS客户端和服务器现在支持TLS上的NFS。默认情况下无法构建TheadDiondal userland守护程序,但通过构建包含KTLS-EnableDopensSL的新世界,可以使用Via_openssl_ktls选项。 6e4b6ff88fde,2c76eebca71b,59f6f5e23c1a

可以将新的NFSv4_Server_Only变量设置为OS在ONONLY启用对NFSV4的支持中。这避免了在NFS服务器上运行RPCBIND(8)的需要。 4389A5661034

添加了PVSCSI(4)驱动程序,支持像ESXi这样的VMware产品中的Para虚拟化SCSicontroller。 052E12A5084(由VMware赞助)(由Panzura赞助)

EFIBOOTMGR(8)实用程序现在支持-b标志ThroThify特定引导条目的索引以创建或修改。 A2581E80212(由Netflix赞助)

EFIBOOTMGR(8)实用程序现在支持-e标志TOQUERY使用哪个EFI系统分区用于引导系统。 1CDB8EB8FE1(由Netflix赞助)

Efibootmgr(8)实用程序现在支持-f和-f标志来设置或清除启动到下一个引导件上的UEFiuser接口的请求。 83C4237258D(由Ampere Computing,Inc。)赞助)

先前的版本将一个完整的MS-DOS格式化文件系统复制到Boot1.efifat。旧版本的FreeBSD已安装文件系统映像到原始分区。然而,使用的使用增殖,使这种不灵活的方法不再可靠。用户对此分区大小的需求有所不同,并且多个启动设置需要更详细的访问。要互联ESP分区,用户应停止使用GPART(8)实用程序。相反,ESP分区应将ASMS-DOS文件系统安装为ASMS-DOS文件系统,如果使用TheDefault安装程序,则应复制到。如果使用EFIBOOTMGR(8)实用程序来自定义BooteN环境,则应将此文件复制到使用-l标志设置的位置。

一种新型的MBUF(9)(网络数据缓冲区)可以表示多个脱印的页面作为单个缓冲区。这通过减少MBUF链接列表Insocke缓冲区的长度来提高SendFile(2)的性能。 82334850EA45,CEC06A3EDC52(由Netflix赞助)

内核现在支持TCP套接字的内核框架和加密,用于TLS版本1.0至1.3。通过使用AES-CBC和使用AES-GCM的AEADCipher套件向MTE密码驱动器进行卸载通过内核加密驱动程序。 TLS 1.2的AES-GCM密码套件支持通过内核加密接收卸载。使用ktls需要使用ktls感知userlly ssl库。默认情况下,基本系统中包含的ApopensSL库不启用KtlsSupport,但可以通过使用with_openssl_ktls选项来启用支持。 B2E60773C6B0,6554362C6640,6554362C640,F1F934754638,3C0E56850511,C1C52CD57E88(由Netflix赞助)(由Chelsio Communications赞助)

TCP(4)现在支持比例率减少(如RFC6937),以改善爆发损失和AckPinning场景期间的麻袋损失恢复。默认情况下启用此功能。一个新的sysctl(8),net.inet.tcp.do_prr可以设置为0以恢复先前行为。

PRR通常应该有助于提高损失恢复性能,并且具有许多可预防的重传超时(RTO)摊位。这是先前的行为,但可以启用严格的数据包保守variant。即使在丢失恢复期间,也可能导致持续损耗的错误配置令牌桶流量。 INTHAT案例,激活保守的PRR变体可能会阻止AMERETRANSMASSION超时(RTO)和相关会话摊位用于AFEW毫秒,而在一般情况下表现不太最佳。 Anew sysctl(8),net.inet.tcp.do_pr_conservative,Canbe设置为1以启用严格的数据包保守费(每个收到的每个ACK的最多1个段),而OnorMal Variant可能会发送最多2个段的ACK - 帮助案例ACK变薄或显着的突发损失事件。 0e1d7c25c5ab(由NetApp赞助)

CC_CUBIC(4)TCP(4)拥塞控制算法与RFC8312中的标准更紧密地对齐。 40F9078FF9D9(由NetApp赞助)

对于未解析的ARP / NDP entriesShas的排队数据包的数量已增加到16.0DA3F8C98D17Stacked VLAN(802.1ad)支持。 C7CFFD65C5D8。

Ping(8)实用程序现在支持设置网络QoS,具有IP DSCP 6034024DaddBand以太网PCP 81A6F4C7AE69。 (由NetApp赞助)

合并ping(8)和ping6(8)实用程序。 ping(8)支持IPv4和IPv6。遗留ping6(8)被保留用于向后兼容性。 3CDE9171D2D5

SCTP支持现在可用作新内核模块,默认情况下不再是CompiledInto通用。 E64080E79C53(由FreeBSDFoundation赞助)

FreeBSD 13具有重写路由堆栈。它基于Nexthops的引入 - 将所有必要的StateTo持有的对象将数据包传递给所需目的地。 A666325282EA

Multipath路由支持已在更可扩展的光程中重写,具有64宽的多径路由,其中​​包含O(1)查找时间。 FEDEB08B6A58.DRADIX_MPATH内核选项已替换为route_mpath,默认情况下,该路径已打开.Aditionally,net.route.multipath sysctl已被逐步控制运行时中的功能。 D1D941C5B910,D5FE384B4D41

添加了对自定义路由查找算法的支持。 TheFrameWork Defouples控制平面和数据平面,导致速度的超细悬架和更好的融合时间,用于大表欠载。 F5BAF8BB12F3

基于DPDK Librte的IPv4 / IPv6路由查找算法已经已经成立,优化了控制平面和用于大型路由的数据平面。 537D13437314

Loopback路径安装已针对接口使用相同前缀的接口无动于衷。 9FDBF7EEF5C0.

时间路由(带有-expire时间集的路由)到期是IPv4和IPv6的。 34A5582C47C7

本节涵盖了对物理机械,虚拟机管理程序和虚拟化环境的一般硬件支持,以及Ashardware的变更和更新,无法在此文档的其他人中拟合。 AMD64架构现在支持支持的CPU上的57位虚拟地址(LA57)。 这允许用户进程使用高达56位的虚拟地址空间。 这还包括Bhyve使用的支持Forfive层嵌套页表。 9CE875D9B59D(由FreeBSDFoundation赞助) 称为ARM64或AARCH64的64位ARM架构是FreeBSD 13的Tier-1状态。公告 为Broadcom&#34添加了一个司机; Genet" 以太网驱动程序在覆盆子pi 4b上找到。 它是部分来自NetBSD的驱动程序的版本。 2CD0C529781A 添加了使用地址空间识别的支持 ......