8.5 发行注记

Red Hat Enterprise Linux 8.5

Red Hat Enterprise Linux 8.5 发行注记

Red Hat Customer Content Services

摘要

本发行注记提供了在 Red Hat Enterprise Linux 8.5 中已实现的改进和附加功能的高级覆盖,以及此版本中已知的问题,以及重要的 bug 修复、技术预览、已弃用的功能和其他详情。

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息

对红帽文档提供反馈

我们感谢您对我们的文档提供的信息。请让我们了解如何改进文档。要做到这一点:

通过 Jira 提交反馈(需要帐户)

  1. 登录到 Jira 网站。
  2. 单击顶部导航栏中的 Create
  3. Summary 字段中输入描述性标题。
  4. Description 字段中输入您对改进的建议。包括到文档相关部分的链接。
  5. 点对话框底部的 Create

第 1 章 概述

1.1. RHEL 8.5 中的主要变化

安装程序和镜像创建

在 RHEL 8.5 中,Image Builder 支持以下功能:

  • 能够自定义文件系统配置.
  • 能够覆盖可用的官方存储库
  • 能够创建可引导的安装程序镜像,并将其安装到裸机系统。

如需更多信息,请参阅 第 4.1 节 “安装程序和镜像创建”

RHEL for Edge

RHEL 8.5 引进了 RHEL for Edge Simplified Installer 镜像,针对无人值守安装到设备的优化,并将镜像提供给 RHEL for Edge 镜像。

如需更多信息,请参阅 第 4.2 节 “RHEL for Edge”

安全性

系统范围的 加密策略 支持自定义策略中的指令范围和通配符。现在,您可以为不同的后端启用不同的算法集。

Rsyslog 日志处理应用已更新至版本 8.2102.0-5。除了其他改进外,这个更新还引进了 OpenSSL 网络流驱动程序。这将把使用 OpenSSL 库的 TLS-protected transport 实现到 Rsyslog。

SCAP 安全指南 项目现在包含几个新的配置文件和现有配置文件的改进:

  • 新的配置文件与澳大利亚网络安全中心信息安全手册(ACSC ISM)保持一致。
  • Internet 安全中心(CIS)配置文件重组为四个不同的配置文件(工作站级别 1、工作站级别 2、服务器级别 1、服务器级别 2)。
  • 安全技术实施指南(STIG)安全配置集更新至版本 V1R3。
  • 新的 STIG 配置文件与 Server with GUI 安装兼容。
  • 新的法国国家安全局(ANSSI)高级配置文件,其完成了 SCAP 安全指南 中所有 ANSSI-BP-028 v1.2 强化级别的配置文件。

通过这些增强功能,您可以安装符合这些安全基准之一的系统,并使用 OpenSCAP 套件来检查安全合规性,并使用相关机构定义的基于风险的安全控制方法进行补救。

如需更多信息,请参阅 新功能 - 安全性

新的 RHEL VPN 系统角色 使得在大量主机上设置安全且正确配置的 IPsec 隧道和虚拟专用网络(VPN)解决方案变得更加简单。如需更多信息,请参阅 新功能 - Red Hat Enterprise Linux 系统角色

网络

NetworkManager 现在支持将设备配置为接受所有流量。例如,您可以使用 nmcli 工具配置此功能。

firewalld 服务支持在区域内的不同接口或源之间转发流量。

firewalld 服务支持过滤在区域间转发的流量。

动态编程语言、网页和数据库服务器

以下组件的更新版本现在作为新的模块流提供:

  • Ruby 3.0
  • nginx 1.20
  • Node.js 16

以下组件已升级:

  • PHP 升级到版本 7.4.19
  • Squid 升级到版本 4.15
  • Mutt 升级到版本 2.0.7

如需更多信息,请参阅 新功能 - 动态编程语言、Web 和数据库服务器

编译器和开发工具

以下编译器工具集已更新:

  • GCC Toolset 11
  • LLVM Toolset 12.0.1
  • Rust Toolset 1.54.0
  • Go Toolset 1.16.7

如需更多信息,请参阅 新功能 - 编译和开发工具

OpenJDK 更新
  • Open Java Development Kit 17(OpenJDK 17)现已提供。有关本发行版本中引入的功能以及现有功能更改的更多信息,请参阅 OpenJDK 文档
  • OpenJDK 11 已更新至版本 11.0.13。有关本发行版本中引入的功能以及现有功能更改的更多信息,请参阅 OpenJDK 文档
  • OpenJDK 8 已更新至版本 8.0.312。有关本发行版本中引入的功能以及现有功能更改的更多信息,请参阅 OpenJDK 文档

Red Hat Enterprise Linux 系统角色

Postfix RHEL 系统角色 被完全支持。

Network Time Security(NTS)选项现在添加到 Timesync RHEL 系统角色 中。

Storage RHEL 系统角色 现在支持 LVM VDO 卷,并以百分比的形式表达卷大小。

新的 RHEL VPN 系统角色 使得在大量主机上设置安全且正确配置的 IPsec 隧道和虚拟专用网络(VPN)解决方案变得更加简单。

高可用性集群 RHEL 系统角色 作为 8.5 GA 版本的一个技术预览提供。

如需更多信息,请参阅 新功能 - Red Hat Enterprise Linux 系统角色技术预览 - Red Hat Enterprise Linux 系统角色

1.2. 原位升级和操作系统转换

RHEL 7 原位升级到 RHEL 8

目前支持的原位升级路径包括:

  • 64 位 Intel、IBM POWER 8(little endian)和 IBM Z 架构上,从 RHEL 7.9 升级到 RHEL 8.4
  • 需要内核版本 4.14 的架构上,从 RHEL 7.6 到 RHEL 8.4:IBM POWER 9(little endian)和 IBM Z(Structure A)。这是这些架构的最终原位升级路径。
  • 在使用 SAP HANA 的系统上,从 RHEL 7.7 升级到 RHEL 8.2。升级到 RHEL 8.2 后,确保您的带有 SAP HANA 的系统仍然被支持,启用 RHEL 8.2 Update Services for SAP Solutions(E4S)软件仓库。

要确保您的系统在升级到 RHEL 8.4 后仍然被支持,请升级到最新的 RHEL 8.5 版本,或者确保启用了 RHEL 8.4 Extended Update Support(EUS)存储库。在带有 SAP HANA 的系统上,启用 RHEL 8.2 Update Services for SAP Solutions (E4S) 存储库。

如需更多信息,请参阅支持的 Red Hat Enterprise Linux 原位升级路径。有关执行原位升级的步骤,请参阅 从 RHEL 7 升级到 RHEL 8。有关在带有 SAP 环境的系统上执行原位升级的说明,请参阅 如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

主要改进包括:

  • 现在,可以使用 AWS 上具有红帽更新基础架构(RHUI)的 Pay-As-You-Go 实例上的 SAP HANA 执行原位升级。
  • 现在,可以在原位升级过程中启用 EUS 或 E4S 存储库。
  • 现在可以使用 yum install leapp-upgrade 命令安装 Leapp 工具。作为这个更改的一部分,leapp-repositoryleapp-repository-deps RPM 软件包已分别重命名为 leapp-upgrade-el7toel8leapp-upgrade-el7toel8-deps。如果旧软件包已安装在系统上,在运行 yum update 时,它们将被新软件包自动替换。
  • Leapp 报告、日志和其他生成的文档都是英文的,无论语言配置如何。
  • 升级后,在将其从系统中删除之前,必须从 /etc/dnf/dnf.conf 配置文件中的 exclude 列表中手动删除 leftover Leapp 软件包。
  • repomap.csv 文件位于 leapp-data15.tar.gz 归档中,已被弃用,并已被 repomap.json 文件替换。弃用的文件将一直可用,直到 2022 年 3 月。
  • IBM POWER 9(little endian)和 IBM Z(Structure A)架构已达到使用寿命。原位升级的后续版本,包括新的升级路径、功能和 bug 修复将不包括这些架构。

从 RHEL 6 原位升级到 RHEL 8

要从 RHEL 6.10 升级到 RHEL 8.4,请参阅从 RHEL 6 升级到 RHEL 8 部分

从不同的 Linux 发行版转换到 RHEL

如果您使用 CentOS Linux 8 或 Oracle Linux 8,您可以使用红帽支持的 Convert2RHEL 程序将操作系统转换为 RHEL 8。如需更多信息,请参阅从基于 RPM 的 Linux 发行版转换到 RHEL

如果您使用早期版本的 CentOS Linux 或 Oracle Linux(称为版本 6 或 7),可以将操作系统转换为 RHEL,然后执行 RHEL 8 的原位升级。请注意,CentOS Linux 6 和 Oracle Linux 6 的转换使用不被支持的 Convert2RHEL 工具。有关不支持的转换的更多信息,请参阅 如何执行从 RHEL 派生的 Linux 发行版本到 RHEL 的不支持的转换

有关红帽如何支持从其他 Linux 发行本转换到 RHEL 的详情,请参考 Convert2RHEL 支持政策文档

1.3. 红帽客户门户网站 Labs

红帽客户门户网站 Labs 是客户门户网站的一个部分中的一组工具,地址为 https://access.redhat.com/labs/。红帽客户门户网站 Labs 中的应用程序可帮助您提高性能、快速解决问题、发现安全问题以及快速部署和配置复杂应用程序。一些最常用的应用程序有:

1.4. 其它资源

第 2 章 构架

Red Hat Enterprise Linux 8.5 与内核版本 4.18.0-348 一起发行,它提供对以下构架的支持:

  • AMD 和 Intel 64 位构架
  • 64 位 ARM 架构
  • IBM Power Systems, Little Endian
  • 64-bit IBM Z

请确定为每个构架购买正确的订阅。如需更多信息,请参阅 Red Hat Enterprise Linux 入门 - 附加构架。有关可用订阅列表,请查看客户门户网站中的 订阅使用

第 3 章 RHEL 8 中的内容发布

3.1. 安装

Red Hat Enterprise Linux 8 使用 ISO 镜像安装。AMD64、Intel 64 位、64 位 ARM、IBM Power Systems 和 IBM Z 架构有两种类型的 ISO 镜像:

  • 二进制 DVD ISO:包含 BaseOS 和 AppStream 存储库的完整安装镜像,并允许您在没有额外存储库的情况下完成安装。

    注意

    二进制 DVD ISO 镜像大于 4.7 GB,因此它可能不适用于单层 DVD。当使用二进制 DVD ISO 镜像创建可引导安装介质时,建议使用双层 DVD 或者 USB 设备。您还可以使用 Image Builder 工具创建自定义的 RHEL 镜像。有关镜像构建器的更多信息,请参阅 编写自定义的 RHEL 系统镜像文档。

  • 引导 ISO:用于引导到安装程序的最小引导 ISO 镜像。这个选项需要访问 BaseOS 和 AppStream 软件仓库来安装软件包。软件仓库是二进制 DVD ISO 镜像的一部分。

有关下载 ISO 镜像、创建安装介质和完成 RHEL 安装的说明,请参阅 执行标准的 RHEL 8 安装 文档。有关自动的 Kickstart 安装和其他高级主题,请参阅 执行高级的 RHEL 8 安装 文档。

3.2. 软件仓库

Red Hat Enterprise Linux 8 由两个主要软件仓库发布:

  • BaseOS
  • AppStream

两个软件仓库都需要一个基本的 RHEL 安装,所有 RHEL 订阅都包括它们。

BaseOS 仓库的内容旨在提供底层操作系统功能的核心组件,为所有安装提供基础操作系统的基础。这部分内容采用 RPM 格式,它的支持条款与之前的 RHEL 版本相似。有关通过 BaseOS 发布的软件包列表,请查看 软件包清单

Application Stream 仓库的内容包括额外的用户空间应用程序、运行时语言和数据库来支持各种工作负载和使用案例。Application Streams(应用程序流)以熟悉的 RPM 格式,作为RPM 格式的扩展,名为 模块(modules),或作为 Software Collections(软件集合)。有关 AppStream 中提供的软件包列表,请查看 软件包清单

另外,所有 RHEL 订阅都可以使用 CodeReady Linux Builder 软件仓库。它为开发人员提供了额外的软件包。不支持包括在 CodeReady Linux Builder 存储库中的软件包。

有关 RHEL 8 软件仓库的详情,请查看 软件包清单

3.3. 应用程序流

Red Hat Enterprise Linux 8 引进了应用程序流(Application Streams)的概念。现在,用户空间组件的多个版本的发布和更新频率会比核心操作系统的发布和更新频率快。这为自定义 Red Hat Enterprise Linux 提供了更大的灵活性,不会影响平台或特定部署的基本稳定性。

作为 Application Streams 提供的组件可打包为模块(module)或 RPM 软件包,并通过 RHEL 8 中的 AppStream 软件仓库提供。每个 Application Stream 组件都有其特定的生命周期,可能和 RHEL 8 的生命周期相同或更短。详情请查看 Red Hat Enterprise Linux 生命周期

模块是代表逻辑单元的软件包集合: 应用程序、语言堆栈、数据库或一组工具。这些软件包被一同构建、测试并发布。

模块流代表 Application Stream 组件的版本。例如,PostgreSQL 数据库服务器的几个流(版本)在带有默认的 postgresql:10 流的 postgresql 模块中提供。在系统中只能安装 一 个模块流。不同的容器可以使用不同的版本。

详细的模块命令,请参考 安装、管理和删除用户空间组件文档。有关 AppStream 中可用模块列表,请查看 软件包清单

3.4. 使用 YUM/DNF 的软件包管理

在 Red Hat Enterprise Linux 8 上,安装软件是由 YUM 工具来保证的,该工具基于 DNF 技术。我们有意坚持使用 yum 术语,以便与以前的 RHEL 主版本保持一致。但是,如果您输入 dnf 而不是 yum,则命令可以按预期工作,因为 yumdnf 的别名,以便兼容。

如需了解更多详细信息,请参阅以下文档:

第 4 章 新特性

这部分论述了 Red Hat Enterprise Linux 8.5 中引入的新功能和主要增强。

4.1. 安装程序和镜像创建

RHEL for Edge 现在支持 Simplified Installer

这个增强使 Image Builder 能够构建 RHEL for Edge Simplified Installer(edge-simplified-installer)和 RHEL for Edge Raw Images(edge-raw-image)。

RHEL for Edge Simplified Installer 可是您指定新的蓝图选项 installation_device,从而对设备执行无人值守安装。若要创建原始镜像,您必须提供现有的 OSTree 提交。它将生成一个原始镜像,其中有已部署的现有提交。安装程序将会对指定的安装设备使用这个原始镜像。

另外,您还可以使用 Image Builder 构建 RHEL for Edge Raw Images。这些是压缩的原始镜像,其中包含具有现有部署的 OSTree 提交的分区布局。您可以将 RHEL for Edge Raw Images 安装在硬盘上启动,或在虚拟机中引导。

(BZ#1937854)

已弃用内核引导参数的警告

在没有 inst. 前缀(如 ksstage2repo 等)的情况下,Anaconda 启动参数已弃用,启动 RHEL7。这些参数将在下一个主 RHEL 发行版本中删除。

在这个版本中,当在没有 inst 前缀的情况下使用引导参数时,会显示适当的警告信息。引导安装时,以及安装程序在终端启动时,dracut 会显示警告信息。

以下是在终端中显示的示例警告信息:

弃用的引导参数 ks 必须与 inst. 前缀一起使用。请改为使用 inst.ks。没有 inst. 前缀的 Anaconda 启动参数已弃用,并将在以后的主发行版本中删除。

以下是显示在 dracut 中的警告信息示例:

ks 已被弃用。所有没有 inst. 前缀的 Anaconda 引导参数都已弃用,并将在以后的主发行版本中删除。请改为使用 inst.ks

(BZ#1897657)

Red Hat Connector 现在被完全支持

您可以使用 Red Hat Connector(rhc)连接系统。Red Hat Connector 由一个命令行界面和一个守护进程组成,允许用户在 Insights 的 Web 用户界面(console.redhat.com)中直接在其主机上执行 Insights 修复 playbook 。Red Hat Connector 在 RHEL 8.4 中作为技术预览提供,从 RHEL 8.5 开始被完全支持。

如需更多信息,请参阅 Red Hat Connector 配置指南

BZ#1957316

能够覆盖可用的官方存储库

默认情况下,osbuild-composer backend 有自己的一组在 /usr/share/osbuild-composer/repositories 目录中定义的官方存储库。因此,它不会继承 /etc/yum.repos.d/ 目录中的系统存储库。您现在可以覆盖官方存储库。为此,请在 /etc/osbuild-composer/repositories 中定义覆盖,因此,其中的文件优先于 /usr 目录中的文件。

(BZ#1915351)

Image Builder 现在支持文件系统配置

有了这个增强,您可以在蓝图中指定自定义的文件系统配置,并且您可以使用所需的磁盘布局创建镜像。因此,通过具有非默认的布局,您可以从安全基准、与现有设置的一致性、性能和防止磁盘外错误中受益。

要在蓝图中自定义文件系统配置,请设置以下自定义:

[[customizations.filesystem]]
mountpoint = "MOUNTPOINT"
size = MINIMUM-PARTITION-SIZE

(BZ#2011448)

Image Builder 现在支持创建可引导的安装程序镜像

有了这个增强,您可以使用 Image Builder 创建由 tarball 文件组成的可引导 ISO 镜像,其中包含根文件系统。因此,您可以使用可引导 ISO 镜像将 tarball 文件系统安装到裸机系统。

(BZ#2019318)

4.2. RHEL for Edge

Greenboot 服务现在默认启用

在以前的版本中,greenboot 服务于默认预设中不存在,因此当安装 greenboot 软件包时,用户必须手动启用这些 greenboot 服务。有了这个更新,greenboot 服务现在出现在默认预设配置中,用户不再需要手动启用它。

(BZ#1935177)

4.3. 软件管理

RPM 现在对 sqlite 数据库后端有只读支持

检查其他根目录(如容器)时,能够需要查询基于 sqlite 的 RPM 数据库。此更新为 RPM sqlite 数据库后端添加了只读支持。现在,可以从主机 RHEL 8 查询安装在 UBI 9 或 Fedora 容器中的软件包。使用 Podman 执行此操作:

  1. 使用 podman mount 命令挂载容器的文件系统。
  2. 使用带有指向挂载位置的 --root 选项的 rpm -qa 命令。

请注意,RHEL 8 上的 RPM 仍然使用 BerkeleyDB 数据库(bdb)后端。

(BZ#1938928)

libmodulemd rebase 到版本 2.12.1

libmodulemd 软件包已 rebase 到版本 2.12.1。主要变更包括:

  • 添加了对 modulemd-obsoletes 文档类型版本 1 的支持,它提供了一个淘汰另一个流或到达生命尽头的流的信息。
  • 添加了对 modulemd-packager 文档类型版本 3 的支持,它为模块构建系统提供了模块流内容的打包器描述。
  • 添加了对 modulemd 文档类型版本 2 的 static_context 属性的支持。这样,模块上下文现在由打包器定义,而不是由模块构建系统生成。
  • 现在,模块流值始终被序列化为带引号的字符串。

(BZ#1894573)

libmodulemd rebase 到版本 2.13.0

libmodulemd 软件包被 rebase 到版本 2.13.0,与之前的版本相比其提供了以下显著变化:

  • 添加了对从模块中删除解调包的支持。
  • 添加了对使用 modulemd-validator 工具的新的 --type 选项验证 modulemd-packager-v3 文档的支持。
  • 强化解析整数。
  • 修复了各种 modulemd-validator 问题。

(BZ#1984402)

sslverifystatus 已添加到 dnf 配置

有了这个更新,当启用了 sslverifystatus 选项时,dnf 会使用 Certificate Status Request TLS 扩展(OCSP 装订)来检查每个服务器的证书撤销状态。因此,当遇到撤销的证书时,dnf 会拒绝从其服务器下载。

(BZ#1814383)

4.4. Shell 和命令行工具

ReaR 已更新至版本 2.6

Relax-and-Recover(ReaR)已更新至版本 2.6。重要的程序错误修复和增强包括:

  • 添加了对 eMMC 设备的支持。
  • 默认情况下,所有内核模块都包含在救援系统中。要包含特定的模块,请在配置文件中设置 MODULES 数组变量:MODULES=( mod1 mod2 )
  • 在 AMD 和 Intel 64 位架构以及 IBM Power Systems Little Endian 上,引入了一个新的配置变量 GRUB2_INSTALL_DEVICES ,来控制 bootloader 安装的位置。详情请查看 /usr/share/rear/conf/default.conf 中的描述。
  • 改进了多路径设备的备份。
  • /media/run/mnt/tmp 下的文件会自动从备份中排除,因为这些目录已知包含可移动介质或临时文件。请参阅 /usr/share/rear/conf/default.conf 中 AUTOEXCLUDE_PATH 变量的描述。
  • CLONE_ALL_USERS_GROUPS=true 现在是默认的。详情请查看 /usr/share/rear/conf/default.conf 中的描述。

(BZ#1988493)

modulemd-tools 软件包现在可用

有了这个更新,引入了 modulemd-tools 软件包,它提供了用于解析和生成 modulemd YAML文件的工具。

要安装 modulemd-tools,请使用:

# yum install modulemd-tools

(BZ#1924850)

openCryptoki rebase 到版本 3.16.0

openCryptoki 已升级至版本 3.16.0。重要的程序错误修复和增强包括:

  • 改进了 protected-key 选项,并支持 EP11 核心处理器中的 attribute-bound 密钥
  • 改进了 cycle-count-accurate (CCA)处理器中安全密钥对象的导入和导出。

(BZ#1919223)

lsvpd rebase 到版本 1.7.12

lsvpd 已升级到版本 1.7.12。重要的程序错误修复和增强包括:

  • sysvpd 中添加了 UUID 属性。
  • 改进了 NVMe 固件版本。
  • 修复了 PCI 设备制造商解析逻辑。
  • lsvpd 配置文件中添加了 recommends 子句

(BZ#1844428)

ppc64-diag rebase 到版本 2.7.7

ppc64-diag 已升级到版本 2.7.7。重要的程序错误修复和增强包括:

  • 改进了单元测试案例。
  • sysvpd 中添加了 UUID 属性。
  • rtas_errd 服务不在 Linux 容器中运行。
  • systemd 服务文件中不再提供过时的日志记录选项。

(BZ#1779206)

ipmi_poweripmi_boot 模块在 redhat.rhel_mgmt Collection 中提供

这个更新提供了对 Intelligent Platform Management Interface(IPMI)Ansible 模块的支持。IPMI 是与基板管理控制器(BMC)设备通信的一组管理接口的规范。redhat.rhel_mgmt Collection 中提供了 IPMI modules - ipmi_poweripmi_boot ,您可以通过安装 ansible-collection-redhat-rhel_mgmt 软件包得到。

(BZ#1843859)

现在,udftools 2.3 已添加到 RHEL

udftools 软件包提供了管理通用磁盘格式(UDF)文件系统的用户空间工具。有了这个增强,udftools 提供以下一组工具:

  • cdrwtool - 它执行类似空白、格式化、快速设置,并写入 DVD-R/CD-R/CD-RW 介质的操作。
  • mkfs.udfmkudffs - 创建一个通用磁盘格式(UDF)文件系统。
  • pktsetup - 它设置并拆除数据包设备。
  • udfinfo - 显示有关通用磁盘格式(UDF)文件系统的信息。
  • udflabel - 显示或更改通用磁盘格式(UDF)文件系统标签。
  • wrudf - 它在现有通用磁盘格式(UDF)文件系统上提供与 cprmmkdir rmdirlscd 操作的交互式 shell。

(BZ#1882531)

Tesseract 4.1.1 现在存在于 RHEL 8.5 中

Tesseract 是一个开源 OCR(光学字符读取)引擎,具有以下特性:

  • tesseract 版本 4 开始,字符识别基于 Long Short-Term Memory(LSTM)神经网络。
  • 支持 UTF-8。
  • 支持纯文本、hOCR(HTML)、PDF 和 TSV 输出格式。

(BZ#1826085)

恢复具有精简池的 LVM 时不再出现错误

有了这个增强,ReaR 现在会检测何时在卷组(VG)中使用精简池和带有内核元数据(如 RAID 和缓存)其他逻辑卷类型,并使用 lvcreate 命令切换到在 VG 中重新创建所有逻辑卷(LV)的模式。因此,可以恢复带有精简池的 LVM ,而不会有任何错误。

注意

这个新方法不会保留所有 LV 属性,例如 LVM UUID。在生产环境中使用 ReaR 之前,应先测试从备份恢复,以确定重新创建的存储布局是否与需求匹配。

(BZ#1747468)

Net-SNMP 现在会检测 RSA 和 ECC 证书

在以前的版本中,Net-Simple Network Management Protocol(Net-SNMP)只检测 Rivest、Shamir、Adleman(RSA)证书。此增强添加了对 Elliptic Curve Cryptography (ECC) 的支持。因此,Net-SNMP 现在会检测 RSA 和 ECC 证书。

(BZ#1919714)

FCoE 选项变为 rd.fcoe

在以前的版本中,dracut.cmdline 的手册页记录了 rd.nofcoe=0 作为关闭以太网上光纤通道(FCoE)的命令。

有了这个更新,命令变为 rd.fcoe。若要禁用 FCoE,请运行命令 rd.fcoe=0

有关 FCoE 的详情,请参考 配置以太网上的光纤通道

(BZ#1929201)

4.5. 基础架构服务

linuxptp rebase 到版本 3.1

linuxptp 软件包已更新至版本 3.1。重要的程序错误修复和增强包括:

  • 将用于同步 Precision Time Protocol(PTP)硬件时钟的 ts2phc 程序添加到 Pulse Per second(PPS)信号。
  • 添加了对汽车配置文件的支持。
  • 添加了对客户端事件监控的支持。

(BZ#1895005)

Chrony rebase 到版本 4.1

Chrony 已更新至版本 4.1。重要的程序错误修复和增强包括:

  • 添加了对网络时间安全(NTS)身份验证的支持。如需更多信息,请参阅 chrony 中网络时间协议(NTS)的概述
  • 默认情况下,经过身份验证的网络时间协议(NTP)源比非身份验证的 NTP 源受信任。在 chrony.conf 文件中添加了 autselectmode ignore 参数来恢复原始行为。
  • 支持使用 RIPEMD 密钥的身份验证 - RMD128RMD160RMD256RMD320 不再可用。
  • 对 NTPv4 数据包中长期的非标准 MAC 不再支持。如果您使用 chrony 2.xnon-MD5/SHA1 密钥,则需要使用 version 3 选项配置 chrony

(BZ#1895003)

PowerTop rebase 到版本 2.14

PowerTop 已升级到版本 2.14。这是添加 Alder Lake、Sapphire Rapids 和 Rocket Lake 平台支持的更新。

(BZ#1834722)

TuneD 现在将不必要的 IRQ 移到内务 CPU

i40eiavfmlx5 等网络设备驱动程序评估在线 CPU,以确定队列的数量,从而确定要创建的 MSIX 向量。

在有大量隔离且很少的内务 CPU 的低延迟环境中,当 TuneD 尝试将这些设备 IRQ 移到内务 CPU 中时,会由于每个 CPU 向量限制而失败。

有了这个更新,TuneD 会根据内务 CPU 明确调整网络设备通道(以及 MSIX 向量)的数量。因此,所有设备 IRQ 现在可以在内务 CPU 上移动,以实现低延迟。

(BZ#1951992)

4.6. 安全性

libreswan rebase 到 4.4

libreswan 软件包已升级到上游版本 4.4,它引进了许多增强和 bug 修复。最值得注意的是:

  • IKEv2 协议:

    • 传输模式 和主机到主机连接中引入了对 TCP 封装的修复。
    • ipsec whack 命令中添加了 --globalstatus 选项,来显示重定向统计信息。
    • ipsec.conf 配置文件中的 vhostvnet 值不再允许 IKEv2 连接。
  • pluto IKE 守护进程:

    • 引入了对使用非标准 IKE 端口的主机到主机连接的修复。
    • 添加了对等 ID(IKEv2 IDrIKEv1 Aggr),以选择最佳初始连接。
    • 禁用 interface-ip= 选项,因为 Libreswan 尚未提供对应的功能。
    • 传输模式 中的 NAT 修复了 ipsec__updown 脚本中的 PLUTO_PEER_CLIENT 变量。
    • PLUTO_CONNECTION_TYPE 变量设为 transporttunnel
    • 现在可以匹配非模板通配符 ID 连接。

(BZ#1958968)

GnuTLS rebase 到 3.6.16

gnutls 软件包已更新至版本 3.6.16。重要的程序错误修复和增强包括:

  • 当成功时,gnutls_x509_crt_export2() 函数现在返回 0,而不是内部 base64 blob 的大小。这与 gnutls_x509_crt_export2(3) 手册页中的文档一致。
  • 由于没有遵循在线证书状态协议(OCSP)必须装订导致的证书验证失败现在被使用GNUTLS_CERT_INVALID 标志正确标记。
  • 在以前的版本中,即使通过 -VERS-TLS1.2 选项显式禁用了 TLS 1.2 时,如果启用了 TLS 1.3,服务器仍然会提供 TLS 1.2。版本协商已被修复,TLS 1.2 现在可以被正确禁用。

(BZ#1956783)

socat rebase 到 1.7.4

socat 软件包已从 1.7.3 版本升级到 1.7.4,它提供了很多 bug 修复和改进。最值得注意的是:

  • GOPENUNIX-CLIENT 地址现在支持 SEQPACKET 套接字。
  • 通用的 setsockopt-int 和相关选项在侦听或接受地址的情况下适用于连接的套接字。要在侦听套接字上启用设置选项,现在可以使用 setsockopt-listen 选项。
  • 向文件中添加了用于传输数据的原始转储的 -r-R 选项。
  • 添加了 ip-transparent 选项和 IP_TRANSPARENT 套接字选项。
  • OPENSSL-CONNECT 现在自动使用 SNI 功能,openssl-no-sni 选项关闭了 SNI。The openssl-snihost 选项覆盖了 openssl-commonname 选项的值或服务器名称。
  • 添加了 accept-timeoutlisten-timeout 选项。
  • 添加了 ip-add-source-membership 选项。
  • 现在 UDP-DATAGRAM 地址不会像在 1.7.3 中那样检查对等的回复端口。如果您的场景需要之前的行为,请使用 sourceport 选项。
  • 新的 proxy-authorization-file 选项从文件读取 PROXY-CONNECT 凭据,并能够对进程表隐藏此数据。
  • 添加了对 VSOCK-CONNECTVSOCK-LISTEN 地址的 AF_VSOCK 支持。

(BZ#1947338)

crypto-policies rebase 到 20210617

crypto-policies 软件包已升级到上游版本 20210617,它与之前的版本相比提供了很多改进和 bug 修复,最重要的是:

  • 现在,您可以使用限定范围的策略为不同的后端启用不同的算法集。每个配置指令现在都可以限制到特定的协议、库或服务。有关新语法的可用范围和详情的完整列表,请查看 crypto-policies(7) 手册页。例如,以下指令允许使用带有 SSH 协议的 AES-256-CBC 密码,从而影响 libssh 库和 OpenSSH 套件:

    cipher@SSH = AES-256-CBC+
  • 指令现在可以使用星号来用通配符指定多个值。例如,以下指令使用 libssh 为应用程序禁用所有 CBC 模式密码:

    cipher@libssh = -*-CBC

    请注意,将来的更新可以引入当前通配符匹配的新算法。

(BZ#1960266)

crypto-policies 现在在自定义策略中支持 AES-192 密码

系统范围的加密策略现在在自定义策略和子策略中支持 密码 选项的以下值:AES-192-GCMAES-192-CCMAES-192-CTRAES-192-CBC.因此,您可以为 Libreswan 应用程序启用 AES-192-GCMAES-192-CBC 密码,为 libssh 库和通过 crypto-policies 的 OpenSSH 套件启用 AES-192-CTRAES-192-CBC 密码 。

(BZ#1876846)

FUTURE 加密策略中禁用了 CBC 密码

这个 crypto-policies 软件包的更新禁用了在 FUTURE 策略中使用密码块链(CBC)模式的密码。FUTURE 中的设置应该能经受近期的未来攻击,这种改变反映了当前的进步。因此,当 FUTURE 策略处于活跃状态时,与 crypto-policies 相关的系统组件无法使用 CBC 模式。

(BZ#1933016)

添加新内核 AVC 追踪点

有了这个增强,添加了一个新的 avc:selinux_audited 内核追踪点,在 SELinux 拒绝要被审核时触发。此功能允许对 SELinux 拒绝的更方便的低级调试。新的追踪点为像 perf 这样的工具提供。

(BZ#1954024)

SCAP 安全指南中新的 ACSC ISM 配置文件

scap-security-guide 软件包现在提供澳大利亚网络安全中心(ACSC)信息安全手册(ISM)合规性配置文件和相应的 Kickstart 文件。有了这个增强,您可以安装符合此安全基准的系统,并使用 OpenSCAP 套件检查安全合规性,以及为 ACSC 定义的安全控制使用基于风险的方法进行补救。

(BZ#1955373)

SCAP 安全指南 rebase 到 0.1.57

scap-security-guide 软件包已更新到上游版本 0.1.57,它提供多个 bug 修复和改进。最值得注意的是:

  • 引进了澳大利亚网络安全中心(ACSC)信息安全手册(ISM)配置文件。该配置文件扩展了 Essential Eight 配置文件,并添加了更多 ISM 中定义的安全控制。
  • 互联网安全中心(CIS)配置文件已根据官方 CIS 基准测试中定义的加固级别和系统类型(服务器和工作站)被重组为四个不同的配置文件。
  • 安全技术实施指南(STIG)安全配置文件已更新,并实施了最近发布的版本 V1R3 中的规则。
  • 引进了带有 GUI 的安全技术实施指南(STIG with GUI)安全配置文件。该配置文件从 STIG 配置文件衍生而来,并与选择 Server with GUI 软件包选择的 RHEL 安装兼容。
  • 引进了 ANSSI 高级配置文件,其基于法国国家安全局(ANSSI)的 ANSSI BP-028 建议。这包括一个实现高度强化级别的规则。

(BZ#1966577)

OpenSCAP rebase 到 1.3.5

OpenSCAP 软件包已 rebase 到上游版本 1.3.5。重要的修复和增强包括:

  • ovalxccdf 模块的 validate 命令默认启用基于 Schematron 的验证。
  • 添加了 SCAP 1.3 源数据流 Schematron。
  • 添加了 XML 签名验证。
  • 允许将 mtime 加持到 SOURCE_DATE_EPOCH.
  • 添加了 severityrole 属性。
  • 支持规则和组(XCCDF)的 requiresconflicts 元素。
  • HTML 报告中的 Kubernetes 补救。
  • gpfsprocsysfs 文件系统按非本地处理。
  • 修复了风格为 --arg=val 的常见选项的处理。
  • 修复了 StateType 操作员的行为。
  • 命名空间在 XPath 表达式(xmlfilecontent)中被忽略,以允许不完整的 XPath 查询。
  • 修复了导致对存在过分突出的数据进行警告的问题。
  • 修复了 --stig-viewer 功能中的多个段错误和一个中断的测试。
  • 修复了 TestResult/benchmark/@href 属性。
  • 修复了许多内存管理问题。
  • 修复了许多内存泄漏。

(BZ#1953092)

验证数字签名的 SCAP 源数据流

为了符合安全内容自动化协议(SCAP)1.3 规范,OpenSCAP 现在验证数字签名的 SCAP 源数据流的数字签名。因此,当评估数字签名的 SCAP 源数据流时,OpenSCAP 会验证数字签名。签名验证是在加载文件时自动执行的。带有无效签名的数据流被拒绝,OpenSCAP 不会评估其内容。OpenSCAP 使用带有 OpenSSL 加密库的 XML 安全库 来验证数字签名。

您可以通过在 oscap xccdf eval 命令中添加 --skip-signature-validation 选项来跳过签名验证。

重要

OpenSCAP 不解决作为 KeyInfo 签名元素一部分且用于验证签名的证书或公钥的可信度问题。您应该自己验证这些密钥,以防止对不良行为者修改和签名的数据流的评估。

(BZ#1966612)

新的 DISA STIG 配置文件与 Server with GUI 安装兼容

SCAP 安全指南 中已添加了新的配置文件 DISA STIG with GUI。这个配置文件源自 DISA STIG 配置文件,并与选择 Server with GUI 软件包组的 RHEL 安装兼容。以前存在的 stig 配置文件与 Server with GUI 不兼容,因为 DISA STIG 要求卸载任何图形用户界面。但是,如果在评估期间由安全官正确记录了,则这可以被覆盖。因此,新的配置文件有助于将 RHEL 系统安装为与 DISA STIG 配置文件一致的 Server with GUI

(BZ#1970137)

STIG 安全配置文件更新至版本 V1R3

SCAP 安全指南中的 DISA STIG for Red Hat Enterprise Linux 8 配置文件已更新为与最新版本的 V1R3 保持一致。现在,这个配置集也更加稳定,并与 Defense 信息系统(DISA)提供的 RHEL 8 STIG(安全技术实施指南)手动基准兼容。

第二次迭代带来了大约 90% 的 STIG 覆盖率。您应该只使用这个配置文件的当前版本,因为旧版本已不再有效。

警告

自动补救可能会导致系统无法正常工作。先在测试环境中运行补救。

(BZ#1993056)

SCAP 安全指南中的三个新 CIS 配置文件

SCAP 安全指南中引入了三个与互联网安全中心(CIS)Red Hat Enterprise Linux 8 Benchmark 一致的新合规性配置文件。CIS RHEL 8 Benchmark 为"服务器"和"工作站"部署提供了不同的配置建议,并为每个部署定义了两个配置级:"级别 1"和"级别 2"。以前在 RHEL8 中提供的 CIS 配置文件只代表 "Server Level 2"。三个新配置文件完成了 CIS RHEL8 Benchmark 配置文件的范围,现在您可以更轻松地根据 CIS 建议评估您的系统。

所有当前可用的 CIS RHEL 8 配置文件是:

Workstation Level 1

xccdf_org.ssgproject.content_profile_cis_workstation_l1

Workstation Level 2

xccdf_org.ssgproject.content_profile_cis_workstation_l2

Server Level 1

xccdf_org.ssgproject.content_profile_cis_server_l1

Server Level 2

xccdf_org.ssgproject.content_profile_cis

(BZ#1993197)

通过对类似的系统调用分组改进了审计的补救性能

在以前的版本中,审计补救为配置文件审计的每个系统调用生成单独的规则。这导致了大量的审计规则,降低了性能。有了这个增强,审计的补救可将具有相同字段的类似的系统调用的规则组合到一条规则中,从而提高了性能。

组合在一起的系统调用的示例:

-a always, exit -F arch=b32 -S chown, fchown, fchownat, lchown -F auid>=1000 -F auid!=unset -F key=perm_mod
-a always, exit -F arch=b32 -S unlink, unlinkat, rename, renameat, rmdir -F auid>=1000 -F auid!=unset -F key=delete
-a always, exit -F arch=b32 -S chown, fchown, fchownat, lchown -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=unsuccesful-perm-change
-a always, exit -F arch=b32 -S unlink, unlinkat, rename, renameat -F auid>=1000 -F auid!=unset -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=unsuccessful-delete

(BZ#1876483)

添加了 ANSSI-BP-028 高级别的配置文件

根据法国国家安全局(ANSSI)的 ANSSI BP-028 建议,引入了 ANSSI 高级配置文件。这完成了 SCAP 安全指南中 所有 ANSSI-BP-028 v1.2 强化级别的配置文件的可用性。使用新的配置文件,您可以在高强化级别上将系统强化为 GNU/Linux 系统的 ANSSI 的建议。因此,您可以使用 ANSSI Ansible Playbook 和 ANSSI SCAP 配置文件配置并自动化 RHEL 8 系统的合规性以达到最严格的级别。

(BZ#1955183)

为加密 Rsyslog TCP 和 RELP 流量添加了 OpenSSL

OpenSSL 网络流驱动程序已添加到 Rsyslog 中。此驱动程序使用 OpenSSL 库实现了 TLS 保护的传输。与使用 GnuTLS 库的流驱动程序相比,这提供了额外的功能。现在,您可以使用 OpenSSL 或 GnuTLS 作为 Rsyslog 网络流驱动程序。

(BZ#1891458)

Rsyslog rebase 到 8.2102.0-5

rsyslog 软件包已 rebase 到上游版本 8.2102.0-5,与上一版本相比,其提供了以下显著变化:

  • 添加了 exists() 脚本函数,以检查变量是否存在,如 $!path!var
  • 添加了对使用 omrelpimrelp 模块的新配置参数 tls.tlscfgcmd 设置 OpenSSL 配置命令的支持。
  • 为发送到远程服务器的速率限制 syslog 消息在 omfwd 模块中添加了新的速率限制选项:

    • ratelimit.interval 指定速率限制间隔(以秒为单位)。
    • ratelimit.burst 指定消息数中速率限制的突发。
  • 通过各种改进重写了 immark 模块。
  • imptcp 模块中添加了 max sessions 配置参数。最大值是按每个实例测量的,而不是在所有实例间全局测量的。
  • 添加了 rsyslog-openssl 子软件包;此网络流驱动程序使用 OpenSSL 库实现 TLS 保护的传输。
  • 使用 MaxBytesPerMinuteMaxLinesPerMinute 选项为 imfile 模块添加每分钟速率限制。这些选项接受整数值,并限制一分钟内可以发送的字节数或行数。
  • 添加了对 imtcpomfwd 模块的支持,以使用 streamdriver.TlsVerifyDepth 选项为证书链验证配置最大深度。

(BZ#1932795)

4.7. 网络

在 NetworkManager 中支持 ethtool 的暂停参数

在某些情况下,对特定网络接口需要明确设置非自动暂停参数。在以前的版本中,NetworkManager 无法在 nmstate 中暂停 ethtool 的控制流参数。要禁用暂停参数的自动协商,并明确启用 RX/TX 暂停支持,请使用以下命令:

# nmcli connection modify enp1s0 ethtool.pause-autoneg no ethtool.pause-rx true ethtool.pause-tx true

(BZ#1899372)

NetworkManager 中在混杂模式下设置物理和虚拟接口的新属性

有了这个更新,在 NetworkManager 中添加了 802-3-ethernet.accept-all-mac-addresses 属性,来在 accept all MAC addresses 模式下设置物理和虚拟接口。有了这个更新,内核可以接受 accept all MAC addresses 模式针对当前接口 MAC 地址的网络软件包。要对 eth1 启用 accept all MAC addresses 模式,请使用以下命令:

$ sudo nmcli c add type ethernet  ifname eth1 connection.id eth1  802-3-ethernet.accept-all-mac-addresses true

(BZ#1942331)

NetworkManager rebase 到版本 1.32.10

NetworkManager 软件包已升级到上游版本 1.32.10,与之前版本相比,它提供了很多改进和 bug 修复。

有关显著变化的更多信息,请阅读此版本的 上游发行注记

(BZ#1934465)

NetworkManager 现在支持 nftables 作为防火墙后端

此增强为 NetworkManager 添加了对 nftables 防火墙框架的支持。要将默认后端从 iptables 切换到 nftables

  1. 使用以下内容创建 /etc/NetworkManager/conf.d/99-firewall-backend.conf 文件:

    [main]
    firewall-backend=nftables
  2. 重新加载 NetworkManager 服务。

    # systemctl reload NetworkManager

(BZ#1548825)

firewalld rebase 到版本 0.9.3

firewalld 软件包已升级到上游版本 0.9.3,与之前版本相比,它提供了很多改进和 bug 修复。

详情请查看上游发行注记:

(BZ#1872702)

firewalld 策略对象功能现已可用

在以前的版本中,您无法使用 firewalld 来过滤虚拟机、容器和区域之间流动的流量。有了这个更新,引入了 firewalld 策略对象功能,它在 firewalld 中提供转发和输出过滤。

(BZ#1492722)

多路径 TCP 现在被完全支持

从 RHEL 8.5 开始,多路径 TCP(MPTCP)被完全支持。MPTCP 改进了网络中的资源使用量以及网络故障的恢复能力。例如:在 RHEL 服务器中使用多路径 TCP,启用了 MPTCP v1 的智能手机可以连接到服务器上运行的应用程序,并在 Wi-Fi 和手机网络间切换,而不会中断到服务器的连接。

RHEL 8.5 引入了额外的功能,例如:

  • 多个并发活跃子流
  • 支持 active-backup
  • 改进了流性能
  • 更好的内存利用率,以及 receivesend 缓冲区自动调整
  • SYN cookie 支持

请注意,在服务器中运行的应用程序必须原生支持 MPTCP 或管理员必须在内核中载入 eBPF 程序,以便动态地将 IPPROTO_TCP 改为 IPPROTO_MPTCP

详情请查看 多路径 TCP 入门

(JIRA:RHELPLAN-57712)

现在 RHEL 中提供了其他网络接口命名

其它接口命名是 RHEL 内核配置,它提供以下网络优点:

  • 网络接口卡(NIC)名称可以有任意长度。
  • 一个 NIC 可以同时有多个名称。
  • 使用替代名称作为命令句柄。

(BZ#2164986)

4.8. 内核

RHEL 8.5 中的内核版本

Red Hat Enterprise Linux 8.5 与内核版本 4.18.0-348 一起发布。

BZ#1839151

现在支持 Intel Sapphire Rapids 处理器的 EDAC

此增强为 Intel Sapphire Rapids 处理器提供错误检测和纠正(EDAC)设备支持。EDAC 主要处理 Error Code Correction(ECC)内存,并检测和报告 PCI 总线奇偶校验错误。

(BZ#1837389)

bpftrace 软件包 rebase 到版本 0.12.1

bpftrace 软件包已升级到版本 0.12.1,其提供了多个 bug 修复和增强。与之前版本相比,显著的变化包括:

  • 添加了新的 builtin 路径,这是一种新的可靠方法,来显示路径结构的完整路径。
  • 添加了对 kfunc 探测和 tracepoint 类别的通配符支持。

(BZ#1944716)

vmcore 捕获在 CPU 热添加或热删除操作后按预期工作

在以前的版本中,在 IBM POWER 系统上,在每个 CPU 或内存热插拔或删除操作后,设备树上的 CPU 数据会变得过时,除非重新加载 kdump.service。要重新加载最新的 CPU 信息,kdump.service 通过设备节点解析来获取 CPU 信息。但是,某些 CPU 节点已在其热删除过程中丢失。因此, kdump.service 加载和 CPU 热删除 间的竞争条件同时发生,这会导致转储失败。然后,后续的崩溃也许不能捕获 vmcore 文件。

这个更新消除了 CPU 热插拔后重新加载 kdump.service 的需要,且 vmcore 捕获如描述的场景中那样按预期工作。

注意:对于固件辅助转储(fadump),这个增强功能可按预期工作。对于标准的 kdumpkdump.service 加载会在 热插拔 操作中发生。

(BZ#1922951)

kdumpctl 命令现在支持新的 kdumpctl estimate 工具

kdumpctl 命令现在支持 kdumpctl estimate 工具。根据现有的 kdump 配置,kdumpctl estimatekdump 内存分配打印合适的估计值。

崩溃内核的最小大小可能因硬件和机器规格而异。因此,之前很难估计准确的 crashkernel= 值。

有了这个更新,kdumpctl estimate 工具提供了一个估计值。这个值是推荐的最佳估计值,可以作为配置可行的 crashkernel= 值的很好的参考。

(BZ#1879558)

IBM TSS 2.0 软件包 rebase 到 1.6.0

IBM 的受信任计算组(TCG)软件堆栈(TSS)2.0 二进制软件包已升级到 1.6.0。这个更新对 AMD64 和 Intel 64 架构增加了 IBM TSS 2.0 支持。

它是受信任的平台模块(TPM)2.0 的用户空间 TSS,通过简单的接口实现了与 TCG TSS 工作组的增强型系统应用程序接口(ESAPI)、系统应用程序接口(SAPI)和 TPM 命令传输接口(TCTI)API 等效(但不兼容API)的功能。

它是一种安全中间件,允许应用程序和平台共享 TPM 并将其集成到安全应用程序中。

与之前的版本相比,这个 rebase 提供了很多 bug 修复和增强。最显著的更改包括以下新属性:

  • tsscertifyx509: 验证 x509 证书
  • tssgetcryptolibrary: 显示当前的加密库
  • tssprintattr :将 TPM 属性打印为文本
  • tsspublicname :计算实体的公共名称
  • tsssetcommandcodeauditstatus: 通过 TPM2_SetCommandCodeAuditStatus 清除或设置代码
  • tsstpmcmd: 发送带内 TPM 模拟器信号

(BZ#1822073)

schedutil CPU 频率调控器现在在 RHEL 8 上可用

schedutil CPU 调控器使用 CPU 调度程序上可用的 CPU 使用率数据,schedutil 是 CPU 调度程序的一部分,它可以直接访问调度程序的内部数据结构。schedutil 控制 CPU 如何提高和降低其频率,以响应系统负载。您必须手动选择 schedutil 频率调控器,因为它默认不启用。

每个 CPU 都有一个 policyX 目录,schedutil 在内核中现有的 CPUFreq 调控器的 policyX/scaling_governors 列表中提供,并附加到 /sys/devices/system/cpu/cpufreq/policyx 策略。可以覆盖策略文件以对其进行更改。

请注意,在使用 intel_pstate 扩展驱动程序时,可能需要为 intel_pstate 配置 intel_pstate=passive 命令行参数,以便可用并由调控器列出。intel_pstate 在具有任何现代 CPU 的 Intel 硬件上是默认设置。

(BZ#1938339)

rt-tests 套件 rebase 到 rt-tests-2.1 上游版本

rt-tests 套件已 rebase 到rt-tests-2.1 版本,其提供多个 bug 修复和增强。与之前版本相比,显著的变化包括:

  • rt-tests 套件中各种程序的修复。
  • 使程序与常见选项集更加统一的修复,例如:oslat 程序的 -t --runtime 选项被重命名为 -D,以指定与套件其余部分匹配的运行持续时间。
  • 实施一个新功能,以便以 json 格式输出数据。

(BZ#1954387)

Intel® QuickAssist Technology Library(QATlib) rebase 到版本 21.05

qatlib 软件包已 rebase 至版本 21.05,它提供多个 bug 修复和增强。主要变更包括:

  • 添加对几个加密算法的支持:

    • AES-CCM 192/256
    • ChaCha20-Poly1305
    • PKE 8K (RSA, DH, ModExp, ModInv)
  • 修复不同节点上的设备枚举
  • 为 32 位构建修复 pci_vfio_set_command

有关 QATlib 安装的更多信息,请检查 确保 Intel® QuickAssist 技术堆栈在 RHEL 8 上正常工作

(BZ#1920237)

4.9. 文件系统和存储

当指定了多个配额类型时,xfs_quota state 命令现在输出所有宽限期

xfs_quota state 命令现在为命令行上指定的多个配额类型输出宽限期。在以前的版本中,即使指定了 -g-p-u 中的多个,也只会显示一个。

(BZ#1949743)

-h 选项添加到 rpc.gsd 守护进程,set-home 选项添加到 /etc/nfs.conf 文件

此补丁将 -H 选项添加到 rpc.gssd ,将 set-home 选项添加到 /etc/nfs.conf,但不更改默认行为。

默认情况下,rpc.gsd$HOME 设为 /,以避免当用户主目录位于具有 Kerberos 安全性的 NFS 共享上时可能会出现死锁。如果 -H 选项被添加到 / rpc.gssdset-home=0 被添加到 /etc/nfs.conf,则 rpc.gssd 不会将 $HOME 设为 /

这些选项允许您使用 $HOME/.k5identity 中的 Kerberos k5identity 文件,并且假设 NFS 主目录不在具有 Kerberos 安全性的 NFS 共享上。这些选项仅用于特定环境,例如需要 k5identity 文件时。如需更多信息,请参阅 k5identity 手册页。

(BZ#1868087)

storage RHEL 系统角色现在支持 LVM VDO 卷

虚拟数据优化器(VDO)有助于优化存储卷的使用率。有了这个更新,管理员可以使用 storage 系统角色来管理逻辑卷(LVM)VDO 卷上的 压缩去除重复数据

(BZ#1882475)

4.10. 高可用性和集群

现在完全支持 pcs cluster setup 命令的本地模式版本

默认情况下, pcs cluster setup 命令会自动将所有配置文件与集群节点同步。从 RHEL 8.3 开始,pcs cluster setup 命令已提供了 --corosync-conf 选项作为技术预览。现在,RHEL 8.5 完全支持这个功能。指定这个选项可将命令切换到 本地 模式。在此模式下,pcs 命令行界面会创建一个 corosync.conf 文件,并将其仅保存到本地节点上的指定文件中,而不与任何其他节点通信。这可让您在脚本中创建 corosync.conf 文件,并使用脚本处理该文件。

(BZ#1839637)

为集群节点子集上的隔离配置仅限 watchdog 的 SBD 的功能

在以前的版本中,要使用仅限 watchdog 的 SBD 配置,集群中的所有节点都必须使用 SBD。这会阻止在集群中使用 SBD,其中一些节点支持使用 SBD(通常是远程节点),而其它节点需要其他形式的隔离。用户现在可以使用新的 fence_watchdog 代理配置仅限 watchdog 的 SBD 设置,该代理允许这样的集群配置,其中只有某些节点使用仅限 watchdog 的 SBD 进行隔离,而其他节点则使用其他隔离类型。个集群可能只有一个这样的设备,它必须命名为 watchdog

(BZ#1443666)

新的 pcs 命令更新 SCSI 隔离设备,而不会重启所有其他资源

使用 pcs stonith update 命令更新 SCSI 隔离设备会导致在 stonith 资源运行的同一节点上运行的所有资源重启。新的 pcs stonith update-scsi-devices 命令允许您更新 SCSI 设备,而不会导致其他集群资源重启。

(BZ#1872378)

pcs resource secure-disable 命令的新的减少了输出显示的选项

pcs resource secure-disablepcs resource disable --safe 命令在错误报告后显示冗长的模拟结果。现在,您可以为那些仅打印错误的命令指定 --brief 选项。错误报告现在始终包含受影响资源的资源 ID。

(BZ#1909901)

pcs 现在接受 PromotedUnpromoted 作为角色名称

pcs 命令行界面现在接受在 Pacemaker 配置中的任何位置指定的 PromotedUnpromoted 角色。这些角色名称在功能上等同于 MasterSlave Pacemaker 角色。MasterSlave 在配置显示中保留这些角色的名称以及帮助文本。

(BZ#1885293)

新的 pcs resource status 显示命令

pcs resource statuspcs stonith status 命令现在支持以下选项:

  • 您可以使用 pcs resource status node=node_id 命令和 pcs stonith status node=node_id 命令显示在特定节点上配置的资源状态。您可以使用这些命令显示集群和远程节点上资源的状态。
  • 您可以使用 pcs resource statusresource_idpcs stonith status resource_id 命令显示单个资源的状态。
  • 您可以使用 pcs resource status tag_idpcs stonith status tag_id 命令显示带有指定标签的所有资源的状态。

(BZ#1290830, BZ#1285269)

新的 LVM 卷组标记来控制自动激活

LVM 卷组现在支持 setautoactivation 标记,该标记控制您从卷组创建的逻辑卷是否在启动时自动激活。在创建集群中由 Pacemaker 管理的卷组时,请使用vgcreate --setautoactivation n 命令为卷组将此标记设为 n,以防止可能的数据损坏。如果您在 Pacemaker 群集中使用了现有卷组,请使用 vgchange --setautoactivation n 设置标志。

(BZ#1899214)

4.11. 动态编程语言、网页和数据库服务器

现在完全支持 nodejs:16 模块流

nodejs:16 模块流以前作为技术预览提供,在 RHSA-2021:5171 公告中被完全支持。nodejs:16 模块流现在提供 Node.js 16.13.1,它是一个长期支持(LTS)版本。

从 RHEL 8.3 开始,Node.js 16 包括在 RHEL 8.5 中,与 Node.js 14 相比,提供了大量新功能以及 bug 和安全修复。

主要变更包括:

  • V8 引擎已升级到版本 9.4。
  • npm 软件包管理器已升级到版本 8.1.2。
  • 新的 Timers Promises API 提供了一组替代的计时器函数,可返回 Promise 对象。
  • Node.js 现在提供了一个新的实验性 Web Streams API。
  • Node.js 现在包含 Corepack,这是一个实验性工具,可让您使用给定项目中配置的软件包管理器,而无需手动安装它们。
  • Node.js 现在提供了一个实验性的 ECMAScript modules (ESM) loader hooks API,它整合了 ESM loader hooks。

要安装 nodejs:16 模块流,请使用:

# yum module install nodejs:16

如果要从 nodejs:14 流升级,请参阅 切换到后期流

(BZ#1953991, BZ#2027610)

新模块流:ruby:3.0

RHEL 8.5 在新的 ruby:3.0 模块流中引入了 Ruby 3.0.2。与 RHEL 8.3 一起提供的 Ruby 2.7 相比,这个版本提供了很多性能改进、bug 和安全修复以及新功能。

主要改进包括:

  • 并发和并行功能:

    • Ractor ,一个提供了线程安全并行执行的 Actor-model 抽象,作为实验性功能提供。
    • Fiber Scheduler 已作为实验性功能引入。Fiber Scheduler 截获阻止操作,这样无需更改现有代码,便可实现轻量级并发。
  • 静态分析功能:

    • 引入了 RBS 语言,它描述了 Ruby 程序的结构。添加了rbs gem 来解析用 RBS 编写的类型定义。
    • 引进了 TypeProf 工具,它是一种 Ruby 代码的类型分析工具。
  • case/in 表达式匹配的模式不再是实验性的。
  • 单行模式匹配,一种实验功能,已重新设计。
  • find 模式已添加为实验性功能。

改进的性能:

  • 现在,将长代码粘贴到 交互式 Ruby Shell(IRB) 的速度非常快。
  • measure 命令已添加到 IRB 中,以进行时间测量。

其他显著变化包括:

  • 关键字参数已与其他参数分隔。
  • 用户安装的 gems 的默认目录现在是 $HOME/.local/share/gem/,除非 $HOME/.gem/ 目录已经存在。

要安装 ruby:3.0 模块流,请使用:

# yum module install ruby:3.0

如果要从以前的 ruby 模块流升级,请参阅 切换到后期的流

(BZ#1938942)

Python urllib 解析功能的默认分隔符更改

为缓解 Python urllib 库中的 Web Cache Poisoning CVE-2021-23336urllib.parse.parse_qslurllib.parse.parse_qs 功能的默认分隔符将从 & 和分号(;)改为只使用 &。

这个变化已在 RHEL 8.4 的 Python 3.6 中实现,现在被移植到 Python 3.8 和 Python 2.7 中。

默认分隔符的更改可能会向后不兼容,因此红帽提供了一种方法来配置 Python 软件包中修改了默认分隔符的行为。此外,如果受影响的 urllib 解析功能检测到客户的应用受到更改的影响,则发出警告。

如需更多信息,请参阅 Python urllib 库中的 Web Cache Poisoning 的迁移(CVE-2021-23336) 知识库文章。

Python 3.9 不受影响,并且已经包含新的默认分隔符(&),其只能在调用 由Python 代码编写的 urllib.parse.parse_qslurllib.parse.parse_qs 函数时传递 separator 参数来进行修改。

(BZ#1935686, BZ#1931555, BZ#1969517)

Python ipaddress 模块不再允许 IPv4 地址中的零

为缓解 CVE-2021-29921,Python ipaddress 模块现在拒绝显示AddressValueError 的前导为零的 IPv4 地址:Leading zeros are not permitted 错误。

python38python39 模块中已引入了这个变化。RHEL 中发布的早期 Python 版本不受 CVE-2021-29921 的影响。

依赖之前行为的客户可以预先处理其 IPv4 地址输入,以去除前导零。例如:

>>> def reformat_ip(address): return '.'.join(part.lstrip('0') if part != '0' else part for part in address.split('.'))
>>> reformat_ip('0127.0.0.1')
'127.0.0.1'

要使用显式循环去除前导零以提高可读性,请使用:

def reformat_ip(address):
    parts = []
    for part in address.split('.'):
        if part != "0":
            part = part.lstrip('0')
        parts.append(part)
    return '.'.join(parts)

(BZ#1986007, BZ#1970504, BZ#1970505)

php:7.4 模块流被 rebase 到版本 7.4.19

php:7.4 模块流提供的 PHP 脚本语言已从 7.4.6 升级到版本 7.4.19。这个版本提供了多个安全和 bug 修复。

(BZ#1944110)

新软件包:pg_repack

新的 pg_repack 软件包已添加到 postgresql:12postgresql:13 模块流中。pg_repack 软件包提供了一个 PostgreSQL 扩展,可让您从表和索引中删除 bloat,也可以选择恢复集群索引的物理顺序。

(BZ#1967193,BZ#1935889)

新模块流:nginx:1.20

nginx 1.20 web 和代理服务器现在作为 nginx:1.20 模块流提供。与之前发布的版本 1.18 相比,这个版本提供了很多 bug 修复、安全修复、新功能以及改进。

新特性:

  • nginx 现在支持使用在线证书状态协议(OCSP)的客户端 SSL 证书验证。
  • nginx 现在支持根据最小可用空间的缓存清除。此支持作为 proxy_cache_path 指令的 min_free 参数实现。
  • 添加了一个新的 ngx_stream_set_module 模块,它可让您为变量设置值。

增强的指令:

  • 现在提供了多个新指令,如 ssl_conf_commandssl_reject_handshake
  • proxy_cookie_flags 指令现在支持变量。

改进了对 HTTP/2 的支持:

  • ngx_http_v2 模块现在包含 lingering_closelingering_timelingering_timeout 指令。
  • 处理 HTTP/2 中的连接与处理 HTTP/1.x 中的连接一致。从 nginx 1.20 开始,使用 keepalive_timeoutkeepalive_requests 指令,而不是删除的 http2_recv_timeouthttp2_idle_timeouthttp2_max_requests 指令。

要安装 nginx:1.20 流,请使用:

# yum module install nginx:1.20

如果要从 nginx:1.20 流升级,请参阅 切换到后期的流

(BZ#1945671)

squid:4 模块流 rebase 到版本 4.15

squid:4 模块流中的Squid 代理服务器已从版本 4.11 升级到版本 4.15。这个更新提供了各种 bug 和安全修复。

(BZ#1964384)

quota 现在支持 HPE XFS

quota 工具现在提供对 HPE XFS 文件系统的支持。因此,HPE XFS 的用户可以通过 quota 工具监控和管理磁盘使用情况。

(BZ#1945408)

mutt rebase 到版本 2.0.7

Mutt 电子邮件客户端已更新至版本 2.0.7,其提供了一些增强和 bug 修复。

主要变更包括:

  • Mutt 现在使用 XOAUTH2 机制提供对 OAuth 2.0 授权协议的支持。Mutt 现在还支持用于 IMAP、POP 和 SMTP 协议的 OAUTHBEARER 验证机制。基于 OAuth 的功能通过外部脚本提供。因此,您可以使用身份验证令牌将 Mutt 与各种云电子邮件提供商,如 Gmail 进行连接。有关如何设置具有 OAuth 支持的 Mutt 的更多信息,请参阅 如何使用 OAuth2 身份验证设置具有 Gmail 的 Mutt
  • Mutt 添加了对域字面电子邮件地址,例如 user@[IPv6:fcXX:…​ 的支持]
  • 新的 $ssl_use_tlsv1_3 配置变量允许 TLS 1.3 连接(如果电子邮件服务器支持)。此变量默认为启用。
  • 新的 $imap_deflate 变量添加了对 COMPRESS=DEFLATE 压缩的支持。变量默认为禁用。
  • $ssl_starttls 变量不再控制终止未加密 IMAP PREAUTH 连接。如果您依赖 STARTTLS 进程,则改为使用 $ssl_force_tls 变量。

请注意,即使更新到新的 Mutt 版本后,ssl_force_tls 配置变量仍默认为 no,以防止 RHEL 用户在其现有环境中遇到问题。在 Mutt 的上游版本中,ssl_force_tls 现在默认启用。

(BZ#1912614, BZ#1890084)

4.12. 编译器和开发工具

Go Toolset rebase 到版本 1.16.7

Go Toolset 已升级至版本 1.16.7。主要变更包括:

  • 现在,GO111MODULE 环境变量默认被设为 on。要恢复此设置,请将 GO111MODULE 更改为 auto
  • Go linker 现在使用较少的资源,并提高了代码的稳健性和可维护性。这适用于所有支持的架构和操作系统。
  • 使用新的 embed 软件包,您可以在编译程序的同时访问嵌入的文件。
  • io/ioutil 软件包的所有功能都已移到 ioos 软件包中。虽然您仍然可以使用 io/ioutil,但 ioos 软件包提供更好的定义。
  • Delve 调试器已被 rebase 到 1.6.0,现在支持 Go 1.16.7 Toolset。

如需更多信息,请参阅 使用 Go Toolset

(BZ#1938071)

Rust Toolset rebase 到版本 1.54.0

Rust Toolset 已更新至版本 1.54.0。主要变更包括:

  • Rust 标准库现在可用于 wasm32-unknown-unknown 目标。有了这个更新,您可以生成 WebAssembly 二进制文件,包括新稳定的内部函数。
  • Rust 现在包括数组的 IntoIterator 实现。有了这个增强,您可以使用 IntoIterator 特征来按值迭代数组,并将数组传递给方法。但是,array.into_iter() 仍会通过引用来迭代值,直到 Rust 的 2021 版。
  • or 模式的语法现在允许在模式中的任何位置嵌套。例如:Pattern(1|2) 而不是 Pattern(1)|Pattern(2)
  • Unicode 标识符现在可以包含 Unicode 标准 #31 中定义的所有有效的标识符字符。
  • 方法和特征实现已经稳定。
  • 默认重新启用增量编译。

如需更多信息,请参阅 使用 Rust Toolset

(BZ#1945805)

LLVM Toolset rebase 到版本 12.0.1

LLVM Toolset 已升级到版本 12.0.1。主要变更包括:

  • 添加了新编译器标志 -march=x86-64-v[234]
  • Clang 编译器的编译器标志 -fasynchronous-unwind-tables 现在是 Linux AArch64/PowerPC 上的默认设置。
  • Clang 编译器现在支持 C++20 likelihood 属性 [[likely]] 和 [[unlikely]]。
  • 添加了新函数属性 tune-cpu。它允许独立于 target-cpu 属性或 TargetMachine CPU 来应用微架构优化。
  • 新的 sanitizer -fsanitize=unsigned-shift-base 已添加到整数 sanitizer -fsanitize=integer 以提高安全性。
  • PowerPC 目标上的代码生成已被优化。
  • WebAssembly 后端现在在 LLVM 中启用。有了这个增强,您可以使用 LLVM 和 Clang 生成 WebAsembly 二进制文件。

如需更多信息,请参阅使用 LLVM Toolset

(BZ#1927937)

CMake rebase 到版本 3.20.2

CMake 从 3.18.2 rebase 到 3.20.2。要在需要 3.20.2 或更低版本的项目上使用 CMake,请使用命令 cmake_minimum_required(版本 3.20.2)。

主要变更包括:

  • C++23 编译器模式现在可以使用目标属性 CXX_STANDARDCUDA_STANDARDOBJCXX_STANDARD 或使用编译功能中的 cxx_std_23 元功能来指定。
  • CUDA 语言支持现在允许 NVIDIA CUDA 编译器可以是符号链接。
  • Intel oneAPI NextGen LLVM 编译器现在支持 IntelLLVM 编译器 ID 。
  • CMake 现在通过与 Android NDK 的工具链文件合并,促进 Android 的交叉编译。
  • 当运行 cmake(1) 来生成项目构建系统时,现在拒绝以连字符开头的未知命令行参数。

有关新功能和已弃用功能的更多信息,请参阅 CMake 发行注记

(BZ#1957947)

新的 GCC Toolset 11

GCC Toolset 11 是一个提供开发工具最新版本的编译器工具集。它以 AppStream 存储库中的 Software Collection 的形式作为 Application Stream 提供。

从 GCC Toolset 10 开始,以下组件已被 rebase:

  • GCC 到版本 11.2
  • GDB 到版本 10.2
  • Valgrind 到版本 3.17.0
  • SystemTap 到版本 4.5
  • binutils 到版本 2.36
  • elfutils 到版本 0.185
  • dwz 到版本 0.14
  • Annobin 到版本 9.85

有关组件的完整列表,请参阅 GCC Toolset 11

要安装 GCC Toolset 11,请以 root 用户身份运行以下命令:

# yum install gcc-toolset-11

要从 GCC Toolset 11 运行工具:

$ scl enable gcc-toolset-11 tool

要运行 shell 会话,其中 GCC Toolset 11 的工具版本会覆盖这些工具的系统版本:

$ scl enable gcc-toolset-11 bash

如需更多信息,请参阅 使用 GCC Toolset

GCC Toolset 11 组件也可以在两个容器镜像中找到:

  • rhel8/gcc-toolset-11-toolchain,其包括 GCC 编译器、GDB 调试器和 make 自动化工具。
  • rhel8/gcc-toolset-11-perftools,其包括性能监控工具,如 SystemTap 和 Valgrind。

要拉取容器镜像,以 root 身份运行以下命令:

# podman pull registry.redhat.io/<image_name>

请注意,现在只支持 GCC Toolset 11 容器镜像。之前 GCC Toolset 版本的容器镜像已弃用。

(BZ#1953094)

.NET 更新至版本 6.0

Red Hat Enterprise Linux 8.5 与 .NET 版本 6.0 一起发布。主要改进包括:

  • 支持 64 位 Arm(aarch64)
  • 支持 IBM Z 和 LinuxONE(s390x)

如需更多信息,请参阅 .NET 6.0 RPM 软件包的发行注记.NET 6.0 容器的发行注记

(BZ#2022794)

GCC Toolset 11:GCC rebase 到版本 11.2

在 GCC Toolset 11 中,GCC 软件包已更新至版本 11.2。重要的程序错误修复和增强包括:

常规改进

  • GCC 现在默认为 DWARF 版本 5 调试格式。
  • 诊断中显示的列号默认代表实际列号,并尊重多列字符。
  • 直线代码矢量器会在矢量化时考虑整个功能。
  • 如果每个条件表达式都包含一个比较表达式,则可以将比较同一变量的一系列条件表达式转换为 switch 语句。
  • 过程间优化改进:

    • 新的 IPA-modref 传递,由 -fipa-modref 选项控制,跟踪函数调用的副作用,并提高点分析的准确性。
    • 相同的代码折叠传递,由 -fipa-icf 选项控制,得到了极大改进,以增加统一功能的数量并减少编译时内存使用。
  • 链接时间优化改进:

    • 改进了链接期间的内存分配,以减低内存使用的峰值。
  • 在 IDE 中使用新的 GCC_EXTRA_DIAGNOSTIC_OUTPUT 环境变量,您可以请求机器可读的"fix-it hints",而不调整构建标志。
  • 通过 -fanalyzer 选项运行的静态分析器得到了显著改进,提供的很多 bug 修复和增强。

特定于语言的改进

C 系列

  • C 和 C++ 编译器支持 OpenMP 结构中的非矩形循环嵌套以及 OpenMP 5.0 规范的分配器例程。
  • 属性:

    • 新的 no_stack_protector 属性标记不应通过堆栈保护来检测的函数(-fstack-protector)。
    • 改进后的 malloc 属性可用于识别分配器和解除分配器 API 对。
  • 新警告:

    • -Wsizeof-array-div-Wall 选项启用,当第一个运算符应用到数组,且除数不等于数组元素的大小时,会警告两个 sizeof 运算符的除法。
    • -Wstringop-overread(默认启用)会警告对字符串函数的调用,这些函数试图读取作为参数传递给它们的数组的末尾。
  • 增强的警告:

    • -Wfree-nonheap-object 使用不是从动态内存分配函数返回的指针检测更多调用取消分配函数的实例。
    • -Wmaybe-uninitialized 诊断将未初始化内存的指针和引用传给接受 const 限定参数的函数。
    • -Wuninitialized 检测来自未初始化动态分配的内存的读。

C

  • 通过 -std=c2x-std=gnu2x 选项支持来自 ISO C 标准的即将推出的 C2X 修订版的几个新功能。例如:

    • 支持 标准属性。
    • 支持 __has_c_attribute 预处理器运算符。
    • 标签可能会在声明之前和复合语句的末尾出现。

C++

  • 默认模式更改为 -std=gnu++17
  • C++ 库 libstdc++ 现在改进了 C++17 支持。
  • 实现了几个新的 C++20 功能。请注意,C++20 支持是实验性的。

    有关功能的更多信息,请参阅 C++20 语言功能

  • C++ 前端对即将到来的 C++23 草案功能具有实验性支持。
  • 新警告:

    • -Wctad-maybe-unsupported, 默认禁用,警告在没有推导指南的类型上执行类模板参数推理。
    • 当基于范围的 for 循环创建不必要的和资源低效的副本时,由 -Wall 启用的 -Wrange-loop-construct 将发出警告。
    • -Wmismatched-new-delete-Wall 启用,警告有关使用从不匹配的运算符形式或从其他不匹配的分配函数返回的指针对操作符删除的调用。
    • -Wvexing-parse 默认启用,警告大多数 vexing 解析规则:当声明看起来像变量定义时,但 C++ 语言要求它被解释为函数声明。

特定于架构的改进

64 位 ARM 架构

  • Armv8-R 架构通过 -march=armv8-r 选项支持。
  • GCC 可自动矢量化对复杂数字执行加法、减法、乘法和累加和减法变体的操作。

AMD 和 Intel 64 位构架

  • 支持以下 Intel CPU:Sapphire Rapids、Alder Lake 和 Rocket Lake.
  • 添加了对 Intel AVX-VNNI 的新 ISA 扩展支持。-mavxvnni 编译器交换机控制 AVX-VNNI 内部函数。
  • 新的 -march=znver3 选项支持基于 znver3 核的 AMD CPU。
  • 新的 -march=x86-64-v2-march=x86-64-v3-march=x86-64-v4 选项支持 x86-64 psABI 补充 中定义的三个微架构级别。

(BZ#1946782)

GCC Toolset 11: dwz 现在支持 DWARF 5

在 GCC Toolset 11 中,sdwz 工具现在支持 DWARF 版本 5 调试格式。

(BZ#1948709)

GCC Toolset 11:GCC 现在支持 AIA 用户中断

在 GCC Toolset 11 中,GCC 现在支持 Accelerator Interfacing Architecture (AIA) 用户中断。

(BZ#1927516)

GCC Toolset 11:改进了通用 SVE 调优默认值

在 GCC Toolset 11 中,通用 SVE 调优默认值已在 64 位 ARM 架构得到了改进。

(BZ#1979715)

SystemTap rebase 到版本 4.5

SystemTap 软件包已更新至版本 4.5。重要的程序错误修复和增强包括:

  • 32 位浮点变量自动扩大到双变量,因此可作为 $context 变量直接访问。
  • enum 值可以作为 $context 变量访问。
  • BPF uconversions tapset 已扩展,并包含更多 tapset 函数,以访问用户空间中的值,如 user_long_error()
  • 并发控制得到了显著改进,以对大型服务器提供稳定的操作。

如需更多信息,请参阅上游 SystemTap 4.5 发行注记

(BZ#1933889)

elfutils rebase 到版本 0.185

elfutils 软件包已更新至版本 0.185。重要的程序错误修复和增强包括:

  • eu-elflinteu-readelf 工具现在识别并显示 ELF 部分上的 SHF_GNU_RETAINSHT_X86_64_UNWIND 标志。
  • DEBUGINFOD_SONAME 宏已添加到 debuginfod.h。此宏可与 dlopen 函数一起使用,以从应用程序动态加载 libdebuginfod.so 库。
  • 新的函数 debuginfod_set_verbose_fd 已添加到 debuginfod-client 库。此函数通过将详细输出重定向到单独的文件来增强 debuginfod_find_* 查询功能。
  • 设置 DEBUGINFOD_VERBOSE 环境变量现在显示有关 debuginfod 客户端连接到哪些服务器以及这些服务器的 HTTP 响应的更多信息。
  • debuginfod 服务器提供了一个新的线程繁忙指标和更详细的错误指标,以便更轻松地检查运行在 debuginfod 服务器上的进程。
  • libdw 库现在透明地处理 DW_FORM_indirect 位置值,以便 dwarf_whatform 函数返回属性的实际 FORM。
  • 为减少网络流量,debuginfod-client 库会在缓存中存储负结果,客户端对象可以重复使用现有连接。

(BZ#1933890)

Valgrind rebase 到版本 3.17.0

Valgrind 软件包已更新至版本 3.17.0。重要的程序错误修复和增强包括:

  • Valgrind 可以读取 DWARF 版本 5 调试格式。
  • Valgrind 支持对 debuginfod 服务器的调试查询。
  • ARMv8.2 处理器指令被部分支持。
  • POWER10 处理器上的 Power ISA v.3.1 指令被部分支持。
  • 支持 IBM z14 处理器指令。
  • 大多数 IBM z15 指令都受到支持。Valgrind 工具套件支持 IBM z15 处理器的杂项指令扩展功能 3 和向量增强功能 2。因此,Valgrind 运行使用 GCC -march=z15 编译的程序,并提供改进的性能和调试体验。
  • --track-fds=yes option 尊重-q (--quiet),并默认忽略标准的文件描述符 stdinstdoutstderr。要跟踪标准的文件描述符,请使用 --track-fds=all 选项。
  • DHAT 工具有两种新的操作模式:--mode=copy--mode=ad-hoc

(BZ#1933891)

Dyninst rebase 到版本 11.0.0

Dyninst 软件包已更新至版本 11.0.0。重要的程序错误修复和增强包括:

  • 支持 debuginfod 服务器以及获取单独的 debuginfo 文件。
  • 改进了对过程链接表(PLT)存根的间接调用的检测。
  • 改进了 C++ 名称解译。
  • 修复了代码发送过程中的内存泄漏。

(BZ#1933893)

DAWR 功能在 IBM POWER10 上的 GDB 中得到了改进

有了这个增强,为 IBM POWER10 处理器上的 GDB 启用了新的硬件监视器功能。例如,添加了一组新的 DAWR/DAWRX 寄存器。

(BZ#1854784)

GCC Toolset 11:GDB rebase 到版本 10.2

在 GCC Toolset 11 中,GDB 软件包已更新至版本 10.2。重要的程序错误修复和增强包括:

新特性

  • 在支持此功能的架构上默认启用了多线程符号加载。这个更改为带有许多符号的程序提供了更好的性能。
  • 文本用户界面(TUI)窗口可以水平排列。
  • GDB 支持同时调试多个目标连接,但这种支持是实验性的且有限的。例如,您可以将每个低端连接到运行在另一台计算机上的不同的远程服务器,或者您可以使用一个低端来调试本地原生进程或一个 core dump 或某些其他进程。

新的和改进的命令

  • 新的 tui new-layout name window weight [window weight…] 命令创建一个新的文本用户界面(TUI)布局,您也可以指定布局名称和显示的窗口。
  • 改进的 alias [-a] [--] alias = command [default-args] 命令可以在创建新别名时指定默认参数。
  • set exec-file-mismatchshow exec-file-mismatch 命令集,并显示新的 exec-file-mismatch 选项。当 GDB 附加到正在运行的进程时,此选项控制 GDB 在检测到当前由 GDB 加载的可执行文件和用来启动进程的可执行文件不匹配时如何做出反应。

Python API

  • gdb.register_window_type 函数在 Python 中实现新的 TUI 窗口。
  • 现在,您可以查询动态类型。gdb.Type 类的实例可以有新的布尔属性 dynamicgdb.Type.sizeof 属性对动态类型可以有值 None。如果 Type.fields() 返回动态类型字段,则其 bitpos 属性的值可以是 None
  • 新的 gdb.COMMAND_TUI 常量将 Python 命令注册为 TUI 帮助类命令的成员。
  • 新的 gdb.PendingFrame.architecture() 方法检索待处理帧的架构。
  • 新的 gdb.Architecture.registers 方法返回 gdb.RegisterDescriptorIterator 对象,后者是返回 gdb.RegisterDescriptor 对象的迭代器。此类对象不提供寄存器的值,但帮助了解哪些寄存器可用于某一架构。
  • 新的 gdb.Architecture.register_groups 方法返回 gdb.RegisterGroupIterator 对象,后者是返回 gdb.RegisterGroup 对象的迭代器。此类对象帮助了解哪些寄存器组用于某一架构。

(BZ#1954332)

GCC Toolset 11:SystemTap rebase 到版本 4.5

在 GCC Toolset 11 中,SystemTap 软件包已更新至版本 4.5。重要的程序错误修复和增强包括:

  • 32 位浮点变量现在自动扩大为双精度变量,因此可以作为 $context 变量直接访问。
  • 现在 enum 值可作为 $context 变量访问。
  • BPF uconversions tapset 已扩展,现在包括更多 tapset 功能来访问用户空间中的值,如 user_long_error()
  • 并发控制得到了显著改进,以对大型服务器提供稳定的操作。

如需更多信息,请参阅上游 SystemTap 4.5 发行注记

(BZ#1957944)

GCC Toolset 11: elfutils rebase 到版本 0.185

在 GCC Toolset 11 中,elfutils 软件包已更新至版本 0.185。重要的程序错误修复和增强包括:

  • eu-elflinteu-readelf 工具现在识别并显示 ELF 部分上的 SHF_GNU_RETAINSHT_X86_64_UNWIND 标志。
  • DEBUGINFOD_SONAME 宏已添加到 debuginfod.h。此宏可与 dlopen 函数一起使用,以从应用程序动态加载 libdebuginfod.so 库。
  • 新的函数 debuginfod_set_verbose_fd 已添加到 debuginfod-client 库。此函数通过将详细输出重定向到单独的文件来增强 debuginfod_find_* 查询功能。
  • 设置 DEBUGINFOD_VERBOSE 环境变量现在显示有关 debuginfod 客户端连接到哪些服务器以及这些服务器的 HTTP 响应的更多信息。
  • debuginfod 服务器提供了一个新的线程繁忙指标和更详细的错误指标,以便更轻松地检查运行在 debuginfod 服务器上的进程。
  • libdw 库现在透明地处理 DW_FORM_indirect 位置值,以便 dwarf_whatform 函数返回属性的实际 FORM。
  • debuginfod-client 库现在在缓存中存储负结果,客户端对象可以重复使用现有的连接。这样,在使用库时不必要的网络流量会被阻止。

(BZ#1957225)

GCC Toolset 11:Valgrind rebase 到版本 3.17.0

在 GCC Toolset 11 中,Valgrind 软件包已更新至版本 3.17.0。重要的程序错误修复和增强包括:

  • Valgrind 现在可读取 DWARF Version 5 调试格式。
  • Valgrind 现在支持对 debuginfod 服务器的调试查询。
  • Valgrind 现在部分支持 ARMv8.2 处理器指令。
  • Valgrind 现在支持 IBM z14 处理器指令。
  • Valgrind 现在部分支持 POWER10 处理器上的 Power ISA v.3.1 指令。
  • --track-fds=yes option 现在遵重 -q (--quiet),并默认忽略标准文件描述符 stdinstdoutstderr。要跟踪标准的文件描述符,请使用 --track-fds=all 选项。
  • DHAT 工具现在有两种新的操作模式:--mode=copy--mode=ad-hoc

(BZ#1957226)

GCC Toolset 11:Dyninst rebase 到版本 11.0.0

在 GCC Toolset 11 中,Dyninst 软件包已更新至版本 11.0.0。重要的程序错误修复和增强包括:

  • 支持 debuginfod 服务器以及获取单独的 debuginfo 文件。
  • 改进了对过程链接表(PLT)存根的间接调用的检测。
  • 改进了 C++ 名称解译。
  • 修复了代码发送过程中的内存泄漏。

(BZ#1957942)

添加了对 Fujitsu A64FX 的 PAPI 库支持

已添加了对 Fujitsu A64FX 的 PAPI 库支持。通过此功能,开发人员可以收集硬件统计信息。

(BZ#1908126)

PCP 软件包已 rebase 到 5.3.1

Performance Co-Pilot(PCP)软件包已 rebase 到版本 5.3.1。此发行版本包括 bug修复,增强和新功能。主要变更包括:

  • 可扩展性改进,现在支持数百台主机(pmlogger 农场)的集中记录性能指标,以及使用性能规则(pmie 农场)的自动监控。
  • 解决了 pmproxy 服务和 libpcp_web API 库中的内存泄漏,并向 pmproxy 添加了工具和新指标。
  • 新的 pcp-ss 工具,用于历史套接字统计信息。
  • pcp-htop 工具的改进.
  • 扩展到 over-wire PCP 协议,现在支持更高的分辨率时间戳。

(BZ#1922040)

grafana 软件包已 rebase 到版本 7.5.9

The grafana 软件包已 rebase 到版本 7.5.9。主要变更包括:

  • 新时间序列面板(beta)
  • 新饼形图面板(beta)
  • 对 Loki 的警报支持
  • 多个新的查询转换

如需更多信息,请参阅 Grafana v7.4 中的新功能Grafana v7.5 中的新功能

(BZ#1921191)

The grafana-pcp 软件包已 rebase 到 3.1.0

The grafana-pcp 软件包已 rebase 到版本 3.1.0。主要变更包括:

  • Performance Co-Pilot(PCP)Vector Checklist 仪表盘使用新的时间序列面板,以图形方式显示单元,并包含更新的帮助文本。
  • pmproxy URL 和 hostspec 变量添加到 PCP Vector Host Overview 和 PCP Checklist 仪表盘。
  • 所有控制面板都显示数据源选择。
  • 将所有包含的仪表盘标记为只读。
  • 添加与 Grafana 8 的兼容性。

(BZ#1921190)

grafana-container rebase 到版本 7.5.9

rhel8/grafana 容器镜像提供 Grafana。主要变更包括:

  • The grafana 软件包现在更新至版本 7.5.9。
  • The grafana-pcp 软件包现在更新至 版本 3.1.0。
  • 容器现在支持 GF_INSTALL_PLUGINS 环境变量,以在容器启动时安装自定义 Grafana 插件

rebase 更新 Red Hat Container Registry 中的 rhel8/grafana 镜像。

要拉取此容器镜像,请执行以下命令:

# podman pull registry.redhat.io/rhel8/grafana

(BZ#1971557)

pcp-container rebase 到版本 5.3.1

rhel8/pcp 容器镜像提供 Performance Co-Pilot。pcp-container 软件包已升级到版本 5.3.1。主要变更包括:

  • pcp 软件包现在更新至版本 5.3.1。

rebase 更新 Red Hat Container Registry 中的 rhel8/pcp 镜像。

要拉取此容器镜像,请执行以下命令:

# podman pull registry.redhat.io/rhel8/pcp

(BZ#1974912)

新的 pcp-ss PCP 工具现在可用

pcp-ss PCP 工具报告由 pmdasockets(1) PMDA 收集的套接字统计信息。命令与许多 ss 命令行选项和报告格式兼容。它还提供了实时模式下本地或远程监控的优势,以及之前记录的 PCP 存档的历史回放。

(BZ#1879350)

PCP 中现在提供了功耗指标

与功耗相关的新的 pmda-denki 性能指标域代理(PMDA)报告指标。具体来说,它报告:

  • 基于运行平均功率限制(RAPL)读数的消耗指标,在最近的Intel CPU 上提供
  • 基于电池放电的消耗指标,在配备电池的系统上提供

(BZ#1629455)

4.13. Identity Management

IdM 现在支持新的密码策略选项

在这个版本中,身份管理(IdM)支持额外的 libpwquality 库选项:

--maxrepeat
指定序列中相同字符的最大数量。
--maxsequence
指定单例字符序列的最大长度 (abcd)。
--dictcheck
检查密码是否为字典单词。
--usercheck
检查密码是否包含用户名。

使用 ipa pwpolicy-mod 命令应用这些选项。例如,要将用户名检查应用到 managers 组中用户建议的所有新密码:

*$ ipa pwpolicy-mod --usercheck=True managers*

如果设置了任何新密码策略选项,则密码的最小长度为 6 个字符,无论 --minlength 选项的值为何。新密码策略设置仅应用到新密码。

在使用 RHEL 7 和 RHEL 8 服务器的混合环境中,新的密码策略设置仅在在 RHEL 8.4 及更新版本上运行的服务器中强制实施。如果用户登录到 IdM 客户端,并且 IdM 客户端在与运行在 RHEL 8.3 或更早版本上的 IdM 服务器通信,则系统管理员设置的新密码策略要求不会被应用。为确保一致的行为,请将所有服务器升级或更新至 RHEL 8.4 及更新的版本。

(JIRA:RHELPLAN-89566)

通过为每个请求添加唯一标识符标签改进了 SSSD 调试日志

因为 SSSD 会异步处理请求,因此不容易在后端日志中跟踪各个请求的日志条目,因为来自不同请求的消息被添加到同一个日志文件中。为了提高调试日志的可读性,现在在日志消息中添加了一个唯一请求标识符,形式为 RID#<integer> 。这可让您隔离属于单个请求的日志,您可以通过多个 SSSD 组件从头到尾跟踪跨日志文件的请求。

例如,SSSD 日志文件的以下示例输出显示了两个不同请求的唯一标识符 RID#3 和 RID#4:

(2021-07-26 18:26:37): [be[testidm.com]] [dp_req_destructor] (0x0400): RID#3 Number of active DP request: 0
(2021-07-26 18:26:37): [be[testidm.com]] [dp_req_reply_std] (0x1000): RID#3 DP Request AccountDomain #3: Returning [Internal Error]: 3,1432158301,GetAccountDomain() not supported
(2021-07-26 18:26:37): [be[testidm.com]] [dp_attach_req] (0x0400): RID#4 DP Request Account #4: REQ_TRACE: New request. sssd.nss CID #1 Flags [0x0001].
(2021-07-26 18:26:37): [be[testidm.com]] [dp_attach_req] (0x0400): RID#4 Number of active DP request: 1

(JIRA:RHELPLAN-92473)

IdM 现在支持 automemberserver Ansible 模块

有了这个更新,ansible-freeipa 软件包包含 ipaautomemberipaserver 模块:

  • 使用 ipaautomember 模块,您可以添加、删除和修改自动成员规则和条件。因此,满足条件的未来 IdM 用户和主机将自动分配给 IdM 组。
  • 使用 ipaserver 模块,您可以确保 IdM 拓扑中是否存在服务器的各种参数。您还可以确保一个副本是隐藏的或可见的。

(JIRA:RHELPLAN-96640)

IdM 性能基准

有了这个更新,已测试了具有 4 个 CPU 和 8GB RAM 的 RHEL 8.5 IdM 服务器可以同时成功注册 130 个 IdM 客户端。

(JIRA:RHELPLAN-97145)

改进了 SSSD Kerberos 缓存性能

系统安全服务守护进程(SSSD)Kerberos 缓存管理器(KCM)服务现在包含新的操作 KCM_GET_CRED_LIST。这个增强功能通过凭证缓存迭代时减少输入和输出操作数量来提高 KCM 性能。

(BZ#1956388)

SSSD 现在默认日志回溯追踪

有了这个增强,SSSD 现在在内存中缓冲区中存储详细的调试日志,并在发生故障时将它们附加到日志文件中。默认情况下,以下错误级别会触发回溯追踪:

  • 级别 0:致命故障
  • 第 1 级:关键故障
  • 第 2 级:严重故障

您可以通过在 sssd.conf 配置文件的对应部分中设置 debug_level 选项来为每个 SSSD 进程修改此行为:

  • 如果将调试级别设为 0,则只有级别 0 事件触发回溯追踪。
  • 如果将调试级别设为 1,级别 0 和 1 将触发回溯追踪。
  • 如果您将调试级别设为 2 或更高,则级别 0 到 2 的事件会触发回溯追踪。

您可以通过在 sssd.conf 的对应部分中将 debug_backtrace_enabled 选项设为 false 来禁用每个 SSSD 进程的此功能:

[sssd]
debug_backtrace_enabled = true
debug_level=0
...

[nss]
debug_backtrace_enabled = false
...

[domain/idm.example.com]
debug_backtrace_enabled = true
debug_level=2
...

...

(BZ#1949149)

SSSD KCM 现在支持自动续订票授予票据

有了这个增强,您可以将系统安全服务守护进程(SSSD) Kerberos 缓存管理器(KCM)服务配置自动续订存储在身份管理(IdM)服务器上 KCM 凭证缓存中的票授予票据(TGT)。只有在达到一半的票据生命周期时才尝试续订。要使用自动续订,必须将 IdM 服务器上的密钥分发中心(KDC)配置为支持可续订的 Kerberos 票据。

您可以通过修改 /etc/sssd/sssd.conf 文件的 [kcm] 部分来启用 TGT 自动续订。例如,您可以将 SSSD 配置为每 60 分钟检查一次可续订的 KCM 存储的 TGT,并通过在文件中添加以下选项,来在票据生命周期达到一半时尝试自动续订:

[kcm]
tgt_renewal = true
krb5_renew_interval = 60m

另外,您可以将 SSSD 配置为从现有域为续订继承 krb5 选项:

[kcm]
tgt_renewal = true
tgt_renewal_inherit = domain-name

如需更多信息,请参阅 sssd-kcm 手册页 中的 Renewals 部分。

(BZ#1627112)

Samba rebase 到版本 4.14.4

The _samba_ packages have been upgraded to upstream version 4.14.4, which provides bug fixes and enhancements over the previous version:

  • 在活动目录(AD)中发布打印机提高了可靠性,其他打印机功能已添加到 AD 中发布的信息中。另外,Samba 现在支持 ARM64 架构的 Windows 驱动程序。
  • ctdb isnotrecmaster 命令已删除。或者使用 ctdb pnctdb recmaster 命令。
  • 集群的普通数据库(CTDB) ctdb natgw masterslave-only 参数已重命名为 ctdb natgw leaderfollower-only

在启动 Samba 前备份数据库文件。当 smbdnmbdwinbind 服务启动 Samba 会自动更新其 tdb 数据库文件。请注意,红帽不支持降级 tdb 数据库文件。

更新 Samba 后,使用 testparm 工具验证 /etc/samba/smb.conf 文件。

有关显著变化的更多信息,请在更新前阅读上游发行注记

(BZ#1944657)

现在支持 dnaInterval 配置属性

有了这个更新,红帽目录服务器支持在 cn=<DNA_config_entry>,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config 条目中设置 Distributed Numeric Assignment(cri)插件的 dnaInterval 属性。DNA 插件为指定的属性生成唯一的值。在复制环境中,服务器可以共享相同的范围。为避免在不同服务器上重叠,您可以设置 dnaInterval 属性来跳过某些值。例如,如果间隔为 3,并且范围中的第一个数字是 1,该范围中使用的下一个数字为 4,然后是 7,然后是 10

详情请查看 dnaInterval 参数描述。

(BZ#1938239)

目录服务器已 rebase 到版本 1.4.3.27

389-ds-base 软件包已升级到上游版本 1.4.3.27,与之前的版本相比,它提供了一些 bug 修复和增强。如需显著变化的完整列表,请在更新前阅读上游发行注记:

(BZ#1947044)

目录服务器现在支持临时密码

此增强功能使管理员能够在全局和本地密码策略中配置临时密码规则。借助这些规则,您可以配置,当管理员重置用户的密码时,密码是临时的,且仅在特定时间有效,并且仅对指定次数的尝试有效。另外,您可以配置在管理员更改密码时不会直接启动过期时间。因此,目录服务器仅允许用户在有限时间或尝试时使用临时密码进行身份验证。用户验证成功后,目录服务器仅允许此用户更改其密码。

(BZ#1626633)

IdM KDC 现在发出带有 PAC 信息的 Kerberos 票据以提高安全性

在这个版本中,为了提高安全性,RHEL 身份管理 (IdM) 现在在新部署中默认发出带有 Privilege Attribute 证书 (PAC) 信息的 Kerberos 票据。PAC 包含有关 Kerberos 主体的丰富信息,包括其安全标识符 (SID)、组成员资格和主目录信息。因此,Kerberos 票据不易受恶意服务器操作的影响。

默认情况下,Microsoft Active Directory (AD)使用的 SID 是从不重复使用的全局唯一标识符。SID 表达多个命名空间:每个域都有一个 SID,它是每个对象的 SID 中的前缀。

从 RHEL 8.5 开始,当您安装 IdM 服务器或副本时,安装脚本默认为用户和组生成 SID。这允许 IdM 使用 PAC 数据。如果您在 RHEL 8.5 之前安装了 IdM,且您尚未配置 AD 域的信任,您可能没有为 IdM 对象生成 SID。有关为您的 IdM 对象生成 SID 的更多信息,请参阅 IdM 中启用安全标识符 (SID)

通过评估 Kerberos 票据中的 PAC 信息,您可以使用更详细的信息控制资源访问。例如,一个域中的 Administrator 帐户与任何其他域中的 Administrator 帐户具有不同的 SID。在对 AD 域的带有信任的 IdM 环境中,您可以根据全局唯一的 SID 设置访问控制,而不是在不同位置中重复的简单用户名或 UID,如每个 Linux root 帐户都有 UID 0。

(Jira:RHELPLAN-159143)

目录服务器提供监控设置,可防止由锁耗尽导致的数据库损坏

此更新向 cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config 条目添加 nsslapd-db-locks-monitoring-enable 参数。如果启用了,这是默认值,如果活跃的数据库锁比 nsslapd-db-locks-monitoring-threshold 中配置的百分比阈值高,则目录服务器会中止所有搜索。如果遇到问题,管理员可以在 cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config 条目中的 nsslapd-db-locks 参数中增加数据库锁的数量。这可以防止数据崩溃。另外,管理员现在可以设置线程在检查之间休眠的时间间隔,以毫秒为单位。

详情请查看 红帽目录服务器配置、命令和文件参考 中的参数描述。

(BZ#1812286)

目录服务器可以从 retro changelog 数据库中排除属性和后缀

此增强向目录服务器添加了 nsslapd-exclude-attrsnsslapd-exclude-suffix 参数。您可以在 cn=Retro Changelog Plugin,cn=plugins,cn=config中 条目中设置这些参数,以从 retro changelog 数据库排除某些属性或后缀。

(BZ#1850664)

目录服务器支持 entryUUID 属性

有了这个增强,目录服务器支持 entryUUID 属性与 RFC 4530 兼容。例如,有了对 entryUUID 的支持,从 OpenLDAP 的迁移更加容易。默认情况下,目录服务器仅将 entryUUID 属性添加到新条目。要手动将其添加到现有条目中,请使用 dsconf <instance_name> plugin entryuuid fixup

(BZ#1944494)

添加了一条新消息,以帮助设置 nsSSLPersonalitySSL

在以前的版本中,如果 TLS 证书昵称与配置参数 nsSSLPersonalitySSL 的值不匹配,则多次发生 RHDS 实例无法启动。当客户从以前的实例复制 NSS DB 或导出证书的数据,但忘记相应地设置 nsSSLPersonalitySSL 值时,会发生这种不匹配,。有了这个更新,您可以看到会记录一条附加信息,它可以帮助用户正确设置 nsSSLPersonalitySSL

(BZ#1895460)

4.14. Desktop

现在您可以在登录屏幕中连接到网络

有了这个更新,您可以连接到您的网络,并在 GNOME 显示管理器(GDM)登录屏幕中配置某些网络选项。因此,您可以以其主目录存储在远程服务器上的企业用户身份登录。

登录屏幕支持以下网络选项:

  • 有线网络
  • 无线网络,包括密码保护的网络
  • 虚拟专用网络(VPN)

登录屏幕无法为额外的网络配置打开窗口。因此,您无法在登录屏幕中使用以下网络选项:

  • 打开专属门户的网络
  • Modem 连接
  • 具有企业级 WPA 或 WPA2 加密的无线网络尚未预配置

登录屏幕中的网络选项默认被禁用。要启用网络设置,请使用以下流程:

  1. 使用以下内容创建 /etc/polkit-1/rules.d/org.gnome.gdm.rules 文件:

    polkit.addRule(function(action, subject) {
        if (action.id == "org.freedesktop.NetworkManager.network-control" &&
            subject.user == "gdm") {
                return polkit.Result.YES;
        }
    
        return polkit.Result.NOT_HANDLED;
    });
  2. 重启 GDM:

    # systemctl restart gdm
    警告

    重启 GDM 会终止所有图形用户会话。

  3. 在登录屏幕中,在顶部面板右侧的菜单中访问网络设置。

(BZ#1935261)

登录时显示系统安全分类

现在,您可以配置 GNOME 显示管理器(GDM)登录屏幕,以显示包含预定义消息的覆盖横幅。这对于在登录前用户需要在哪里读取系统安全分类的部署很有用。

要启用覆盖横幅并配置安全分类信息,请使用以下流程:

  1. 安装 gnome-shell-extension-heads-up-display 软件包:

    # yum install gnome-shell-extension-heads-up-display
  2. 使用以下内容创建 /etc/dconf/db/gdm.d/99-hud-message 文件:

    [org/gnome/shell]
    enabled-extensions=['heads-up-display@gnome-shell-extensions.gcampax.github.com']
    
    [org/gnome/shell/extensions/heads-up-display]
    message-heading="Security classification title"
    message-body="Security classification description"

    使用描述系统安全分类的文本替换以下值:

    安全分类标题
    标识安全分类的简短标题。
    安全分类描述
    提供额外详情的较长消息,例如对各种指南的引用。
  3. 更新 dconf 数据库:

    # dconf update
  4. 重启系统。

(BZ#1651378)

flicker free boot 可用

现在,您可以在您的系统上启用 flicker free boot。启用 flicker free boot 后,它会消除系统引导过程中的突然图形转换,且显示不会在启动过程中短暂关闭。

要启用 flicker free boot,请使用以下流程:

  1. 默认将引导装载程序菜单配置为隐藏:

    # grub2-editenv - set menu_auto_hide=1
  2. 更新引导装载程序配置:

    • 在 UEFI 系统上:

      # grub2-mkconfig -o /etc/grub2-efi.cfg
    • 在传统的 BIOS 系统上:

      # grub2-mkconfig -o /etc/grub2.cfg
  3. 重启系统。

因此,引导装载程序菜单在系统引导过程中不会显示,引导过程在图形上是平滑的。

要访问启动加载程序菜单,请在打开系统后重复按 Esc

(JIRA:RHELPLAN-99148)

更新对表情包的支持

此发行版本更新了对表情包标准版本 11 到版本 13 的 Unicode 表情包字符的支持。现在,您可以在 RHEL 上使用更多的表情包字符。

以下提供表情包功能的软件包被 rebase:

软件包以前的版本rebase 到版本

cldr-emoji-annotation

33.1.0

38

google-noto-emoji-fonts

20180508

20200723

unicode-emoji

10.90.20180207

13.0

(JIRA:RHELPLAN-61867)

您可以为所有用户设置默认桌面会话

有了这个更新,您可以为尚未登录的所有用户预先选择默认桌面会话。

如果用户使用不同于默认的会话登录,则他们的选择会保留到其下一次登录。

要配置默认会话,请使用以下流程:

  1. 复制配置文件模板:

    # cp /usr/share/accountsservice/user-templates/standard \
         /etc/accountsservice/user-templates/standard
  2. 编辑新的 /etc/accountsservice/user-templates/standard 文件。在 Session=gnome 行上,将 gnome 替换为您要设置为默认的会话。
  3. 可选:要为特定用户配置默认会话异常,请按照以下步骤操作:

    1. 将模板文件复制到 /var/lib/AccountsService/users/user-name

      # cp /usr/share/accountsservice/user-templates/standard \
           /var/lib/AccountsService/users/user-name
    2. 在新文件中,将 ${USER}${ID} 等变量替换为用户值。
    3. 编辑 Session 值。

(BZ#1812788)

4.15. 图形基础结构

支持新 GPU

现在支持以下新 GPU。

Intel 图形:

  • Alder Lake-S(ADL-S)

    默认禁用对 Alder Lake-S 图形的支持。要启用它,在内核命令行中添加以下选项:

    i915.force_probe=PCI_ID

    使用 Intel GPU 的 PCI 设备 ID 或 * 字符替换 PCI_ID,以启用对使用 i915 驱动程序的所有 alpha 质量硬件的支持。

  • Elkhart Lake(EHL)
  • 具有 TGP 平台控制器枢纽(PCH)的 Comet Lake Refresh (CML-R)

AMD 图形:

  • Cezzane 和 Barcelo
  • Sienna Cichlid
  • Dimgrey Cavefish

(JIRA:RHELPLAN-99040, BZ#1784132, BZ#1784136, BZ#1838558)

Wayland 会话可用于专有 NVIDIA 驱动程序

专有 NVIDIA 驱动程序现在支持 Xwayland 中的硬件加速 OpenGL 和 Vulkan 渲染。现在,您可以使用专有 NVIDIA 驱动程序启用 GNOME Wayland 会话。在以前的版本中,只有旧的 X11 会话可用于驱动程序。X11 保留为默认会话,以避免从以前的 RHEL 版本更新时造成中断。

要使用 NVIDIA 专有驱动程序启用 Wayland,请使用以下流程:

  1. 通过向内核命令行添加以下选项,来启用 Direct Rendering Manager(DRM)内核模式设置:

    nvidia-drm.modeset=1

    有关启用内核选项的详情,请参阅 配置内核命令行参数

  2. 重启系统。

    Wayland 会话现在在登录屏幕中可用。

  3. 可选:为避免在暂停或休眠系统时丢失视频分配,请启用带有驱动程序的电源管理选项。详情请参阅 配置电源管理支持

有关在专有 NVIDIA 驱动程序中使用 DRM 内核模式设置的限制,请参阅 直接渲染管理器内核模式设置(DRM KMS)

(JIRA:RHELPLAN-99049)

对 GPU 支持的改进

现在启用了以下新的 GPU 功能:

  • 现在,对 Intel Tiger Lake 和后续图形启用了面板自刷新(PSR),这提高了功耗。
  • Intel Tiger Lake、Ice Lake 以及后期的图形现在可以使用带 DisplayPort 多流传输(DP-MST)发送方法的 High Bit Rate 3(HBR3)模式。这启用了对某些带有坞站的显示功能的支持。
  • 模式设置现在在 NVIDIA Ampere GPU 上启用。这包括以下模型:GA102、GA104 和 GA107,包括混合图形系统.
  • 现在,带有 Intel 集成图形和 NVIDIA Ampere GPU 的大多数笔记本电脑都可以使用任何一种 GPU 输出到外部显示器。

(JIRA:RHELPLAN-99043)

更新了图形驱动程序

以下图形驱动程序已被更新:

  • amdgpu
  • ast
  • i915
  • mgag2000
  • nouveau
  • vmwgfx
  • vmwgfx
  • Mesa 库
  • Vulkan 软件包

(JIRA:RHELPLAN-99044)

完全支持 Intel Tiger Lake 图形

Intel Tiger Lake UP3 和 UP4 Xe 图形(以前作为技术预览提供)现已获得全面支持。默认在这些 GPU 上启用硬件加速。

(BZ#1783396)

4.16. Red Hat Enterprise Linux 系统角色

用户可以使用 timesync_max_distance 参数配置最大根距离

有了这个更新,timesync RHEL 系统角色可以使用新的 timesync_max_distance 参配置 ntpdtos maxdistchronyd 服务的 maxdistance 参数。timesync_max_distance 参数配置从网络时间协议(NTP)服务器接受测量的最大根距离。默认值为 0,它会保留特定于提供商的默认值。

(BZ#1938016)

Elasticsearch 现在可以接受服务器列表

在以前的版本中,日志记录 RHEL 系统角色的 Elasticsearch 输出中的 server_host 参数只接受单个主机的字符串值。有了这个增强,它还接受字符串列表来支持多个主机。现在,您可以在一个 Elasticsearch 输出字典中配置多个 Elasticsearch 主机。

(BZ#1986463)

网络时间安全(NTS)选项已添加到 timesync RHEL 系统角色中

nts 选项被添加到 timesync RHEL 系统角色中,以在客户端服务器上启用 NTS。NTS 是为网络时间协议(NTP)指定的新的安全机制,其可以保护 NTP 客户端的同步,而无需特定于客户端的配置,并可以扩展到大量客户端。在 4.0 及更新版本中,NTS 选项只被 chrony NTP 提供程序支持。

(BZ#1970664)

SSHD RHEL 系统角色现在支持非独占配置片断

使用此功能,您可以通过不同的角色和 playbook 配置 SSHD,而不必重写以前使用命名空间的配置。命名空间与置入目录类似,为 SSHD 定义非独占配置片段。因此,如果您只需要配置一小部分配置,而不是整个配置文件,则您可以使用来自不同角色的 SSHD RHEL 系统角色。

(BZ#1970642)

SELinux 角色现在可以管理 SELinux 模块

SElinux RHEL 系统角色能够管理 SELinux 模块。有了这个更新,用户可以从 .pp.cil 文件提供自己的自定义模块,这允许更灵活的 SELinux 策略管理。

(BZ#1848683)

用户可以管理 chrony 交错模式、NTP 过滤和硬件时间戳

有了这个更新,timesync RHEL 系统角色使您能够配置网络时间协议(NTP)交错模式、NTP 测量的额外过滤以及硬件时间戳。版本 4.0 chrony 软件包添加了对这些功能的支持,以实现本地网络中时钟的高精度和稳定的同步。

  • 要启用 NTP 交错模式,请确保服务器支持此功能,并将 timesync_ntp_servers 列表中服务器的 xleave 选项设为 yes。默认值为 no
  • 要设置每个时钟更新的 NTP 测量数,请为您正在配置的 NTP 服务器设置 filter 选项。默认值为 1
  • 要设置应该已为 NTP 启用了硬件时间戳的接口列表,请使用 timesync_ntp_hwts_interfaces 参数。特殊值 ["*"] 对支持它的所有接口启用时间戳。默认值为 []

(BZ#1938020)

timesync 角色为 chrony 启用自定义设置

在以前的版本中,无法使用 timesync 角色提供自定义 chrony 配置。这个更新增加了 timesync_chrony_custom_settings 参数,它允许用户为 chrony 提供自定义设置,例如:

timesync_chrony_custom_settings:
  - "logdir /var/log/chrony"
  - "log measurements statistics tracking"

(BZ#1938023)

timesync 角色支持混合端到端延迟机制

有了这个增强,您可以在 timesync_ptp_domains 中使用新的 hybrid_e2e 选项,以在 timesync 角色中启用混合端到端延迟机制。混合端到端延迟机制使用单播延迟请求,这对于减少大型网络中的多播流量非常有用。

(BZ#1957849)

ethtool 现在支持降低数据包丢失率和延迟

TX 或 Rx 缓冲是由网络适配器为流量突发分配的内存空间。正确管理这些缓冲区的大小对于降低数据包丢失率,并取得可接受的网络延迟至关重要。

ethtool 工具现在通过配置指定网络设备的 ring 选项来降低数据包丢失率或延迟。

支持的 ring 参数列表为:

  • rx - 更改 Rx 环的环条目数。
  • rx-jumbo - 更改 Rx Jumbo 环的环条目数。
  • rx-mini - 更改 Rx Mini 环的环条目数。
  • tx - 更改 Tx 环的环条目数。

(BZ#1959649)

新的 ipv6_disabled 参数现已可用

有了这个更新,您可以在配置地址时使用 ipv6_disabled 参数禁用 ipv6。

(BZ#1939711)

RHEL 系统角色现在支持 VPN 管理

在以前的版本中,很难在 Linux 上建立安全且合适配置的 IPsec 隧道和虚拟专用网络(VPN)解决方案。有了这个增强,您可以使用 VPN RHEL 系统角色更轻松地为主机到主机,以及跨大量主机的网状连接建立并配置 VPN 隧道。因此,您在 RHEL 系统角色项目中具有 VPN 和 IPsec 隧道配置的一个一致且稳定的配置接口。

(BZ#1943679)

storage RHEL 系统角色现在支持 filesystem 重新标记

在以前的版本中,storage 角色不支持重新标记。这个更新解决了这个问题,提供了对重新标记 filesystem 标签的支持。为此,请对 storage_volumes 中的 fs_label 参数设置一个新标记字符串。

(BZ#1876315)

storage 系统角色中支持以百分比形式表示的卷大小

这个增强添加了对 storage RHEL 系统角色的支持,以便以池总大小的百分比来表示 LVM 卷大小。您可以将 LVM 卷的大小指定为池/VG 大小的百分比,例如:除了人类可读的文件系统的大小 50% 外,还可以,例如 10g50 GiB

(BZ#1894642)

Microsoft SQL 服务器管理的新的 Ansible 角色

新的 microsoft.sql.server 角色旨在帮助 IT 和数据库管理员在 Red Hat Enterprise Linux 上实现 SQL Server 设置、配置和性能调优的自动化过程。

(BZ#2013853)

RHEL 系统角色不支持 Ansible 2.8

有了这个更新,不再支持 Ansible 2.8,因为版本已超过了产品生命周期。RHEL 系统角色支持 Ansible 2.9。

(BZ#1989199)

RHEL 系统角色的 postfix 角色被完全支持

Red Hat Enterprise Linux 系统角色为 Red Hat Enterprise Linux 子系统提供了一个配置界面,这有助于通过包含 Ansible 角色来简化系统配置。这个界面支持在多个 Red Hat Enterprise Linux 版本间管理系统配置,并使用新的主发行版本。

rhel-system-roles 软件包通过 AppStream 软件仓库发布。

从 RHEL 8.5 开始,postfix 角色被完全支持。

如需更多信息,请参阅有关 RHEL 系统角色的知识库文章

(BZ#1812552)

4.17. 虚拟化

对在 web 控制台中管理虚拟机的增强

RHEL 8 web 控制台的虚拟机(VM)部分已被重新设计,以提供更好的用户体验。另外,还引进了以下变更和功能:

  • 单个页面现在包含所有相关虚拟机信息,如虚拟机状态、磁盘、网络或控制台信息。
  • 现在,您可以使用 web 控制台实时迁移虚拟机
  • Web 控制台现在允许编辑虚拟机网络接口的 MAC 地址
  • 您可以使用 Web 控制台查看附加到虚拟机的主机设备的列表

(JIRA:RHELPLAN-79074)

zPCI 设备分配

现在,可以将 zPCI 设备作为中介设备附加到运行在 IBM Z 硬件上的 RHEL 8 托管的虚拟机(VM)。例如,这允许在虚拟机中使用 NVMe 闪存驱动器。

(JIRA:RHELPLAN-59528)

4.18. 支持性

sos rebase 到 版本 4.1

sos 软件包升级至版本 4.1,其提供了多个 bug 修复和增强。主要改进包括:

  • 红帽更新基础架构(RHUI)插件现在在 sos 软件包中原生实现了。使用 rhui-debug.py python 二进制文件,sos 可以收集来自 RHUI 的报告,例如,包括主配置文件、rhui-manager 日志文件或安装配置。
  • sos 引入了 --cmd-timeout 全局选项,它为命令执行手动设置超时。默认值(-1)会延迟到常规命令超时,后者为 300 秒。

(BZ#1928679)

4.19. 容器

现在提供默认的容器镜像签名验证

在以前的版本中,必须在 /etc/containers/registries.d/ 目录中手动创建 Red Hat Container Registries 的策略 YAML 文件。现在,registry.access.redhat.com.yamlregistry.redhat.io.yaml 文件都包括在 containers-common 软件包中。现在,您可以使用 podman image trust 命令在 RHEL 上验证容器镜像签名。

(JIRA:RHELPLAN-75166)

container-tools:rhel8 模块已被更新

包含 Podman、Buildah、Skopeo 和 runc 工具的container-tools:rhel8 模块现在可用。与之前版本相比,这个更新提供了 bug 修复和增强的列表。

(JIRA:RHELPLAN-76515)

containers-common 软件包现在可用

containers-common 软件包已添加到 container-tools:rhel8 模块。containers-common 软件包包含通用配置文件以及容器工具生态系统的文档,如 Podman、Buildah 和 Skopeo。

(JIRA:RHELPLAN-77542)

现在提供内核中原生覆盖文件系统的支持

现在,从内核 5.11 开始,提供覆盖文件系统支持。即使(以一个用户身份)运行无根,非 root 用户也将具有原生覆盖性能。因此,这个增强对希望使用 overlayfs 的非 root 用户提供了更好的性能,而无需绑定挂载。

(JIRA:RHELPLAN-77241)

podman 容器镜像现在可用

之前作为技术预览提供的 registry.redhat.io/rhel8/podman 容器镜像现在被完全支持。registry.redhat.io/rhel8/podman 容器镜像是 podman 软件包的一个容器化实施。podman 工具管理容器和镜像、挂载到这些容器的卷,以及由容器组构成的 pod。

(JIRA:RHELPLAN-57941)

现在通用基础镜像在 Docker Hub 上提供

在以前的版本中,通用基础镜像只在红帽容器目录中提供。现在,Docker Hub 也提供通用基础镜像。

如需更多信息,请参阅 红帽将红帽通用基础镜像添加到 Docker Hub

(JIRA:RHELPLAN-85064)

Podman 中的 CNI 插件现在可用

CNI 插件现在可以在 Podman 无根模式中使用。无根网络命令现在可以载系统上正常工作,而无需任何其他要求。

(BZ#1934480)

Podman 已更新至版本 3.3.1

Podman 工具已更新至版本 3.3.1。主要改进包括:

  • Podman 现在支持系统重启后重启使用 --restart 选项创建的容器。
  • podman container checkpointpodman container restore 命令现在支持检查点,恢复 pod 中的容器,以及将这些容器恢复到 pod 。另外,podman container restore 命令现在支持 --publish 选项,以更改从导出检查点转发到恢复的容器的端口。

(JIRA:RHELPLAN-87877)

crun OCI 运行时现在可用

crun OCI 运行时现在对 container-tools:rhel8 模块可用。crun 容器运行时支持使容器能够访问无根用户的额外组的注解。当在设置了 setgid 的目录中或者用户仅具有组访问权限的地方挂载卷时,这对容器操作非常有用。

(JIRA:RHELPLAN-75164)

podman UBI 镜像现在可用

registry.access.redhat.com/ubi8/podman 现在作为 UBI 的一部分提供。

(JIRA:RHELPLAN-77489)

container-tools:rhel8 模块已被更新

包含 Podman、Buildah、Skopeo 和 runc 工具的container-tools:rhel8 模块现在可用。与之前版本相比,这个更新提供了 bug 修复和增强的列表。

如需了解更多详细信息,请参阅 RHEA-2022:0352

(BZ#2009153)

现在完全支持 ubi8/nodejs-16ubi8/nodejs-16-minimal 容器镜像

之前作为技术预览提供的 ubi8/nodejs-16ubi8/nodejs-16-minimal 容器镜像被 RHBA-2021:5260 公告完全支持。这些容器镜像包括 Node.js 16.13,它是一个长期支持(LTS)版本。

(BZ#2001020)

第 5 章 对外部内核参数的重要更改

本章为系统管理员提供了与 Red Hat Enterprise Linux 8.5 一起发布的内核中显著变化的总结。这些更改包括添加或更新的 proc 条目、sysctlsysfs 默认值、引导参数、内核配置选项或者任何可见的行为更改。

新内核参数

idxd.sva = [HW]

格式: <bool>

使用这个参数,您可以强制禁用对 idxd 内核模块的共享虚拟内存(SVA)的支持。

默认值为 true (1)。

lsm.debug = [SECURITY]
使用这个参数,您可以启用 Linux 安全模块(LSM)初始化调试输出。
lm = lsm1,…​,lsmN [SECURITY]

使用这个参数,您可以选择 Linux 安全模块(LSM)初始化的顺序。

此参数覆盖 CONFIG_LSM 选项和 security= 参数。

rcutree.qovld = [KNL]

使用这个参数,您可以设置排队的 Read-copy-update(RCU)回调的阈值。除这个阈值外,RCU 的 force-quiescent-state 扫描将积极争取 cond_resched() 系统调用的帮助,并调度 IPI,以帮助 CPU 更快地到达静默状态。

您可以将此参数设置为小于零的值,以便在引导时根据 rcutree.qhimark 参数设置此参数。或者,将此参数设置为零,以禁用更积极的帮助加入。

rcutree.rcu_unlock_delay = [KNL]

使用这个参数,您可以在将配置布尔值设为 CONFIG_RCU_STRICT_GRACE_PERIOD=y 的内核中指定 rcu_read_unlock()-time delay。

默认值为 0。

更大的延迟增加了捕获 Read-copy-update(RCU)指针泄漏的可能性。这是相关的 rcu_read_unlock() 完成后使用 RCU 保护的指针的缺陷。

rcutorture.irqreader = [KNL]
使用这个参数,您可以从中断请求(IRQ)处理程序或计时器处理程序运行 Read-copy-update(RCU)读取器。
rcutorture.leakpointer = [KNL]
使用这个参数,您可以载读取器之外泄露 Read-copy-update(RCU)保护的指针。这可能会导致 splats,并旨在测试 CONFIG_RCU_STRICT_GRACE_PERIOD=y 等配置的能力来检测此类泄漏。
rcutorture.read_exit = [KNL]
使用这个参数,您可以设置 read-then-exit kthreads 的数量,以测试 Read-copy-update(RCU)更新器和 task-exit 处理之间的交互。
rcutorture.read_exit_burst = [KNL]
使用这个参数,您可以在给定的 read-then-exit 情况下指定生成一组 read-then-exit kthreads 的次数。
rcutorture.read_exit_delay = [KNL]
使用这个参数,您可以指定连续的 read-then-exit 测情况之间的延迟(以秒为单位)。
rcutorture.stall_cpu_block = [KNL]
使用这个参数,您可以在停滞时设置睡眠状态。因此,除了其它与停滞相关的活动外,还会出现来自抢占的 Read-copy-update(RCU)的警告。
rcutorture.stall_gp_kthread = [KNL]

使用这个参数,您可以指定 Read-copy-update(RCU)gate-period kthread 中的强制睡眠的持续时间(以秒为单位),来测试 RCU CPU 停滞警告。

将此参数设为零来禁用此功能。

如果同时指定了 stall_cpustall_gp_kthread 参数,则 kthread 首先会耗尽,然后是 CPU。

rcupdate.rcu_cpu_stall_suppress_at_boot = [KNL]
使用这个参数,您可以压制 RCU CPU 停滞警告信息,以及早期引导过程中发生的 rcutorture writer 停滞警告。这是载 init 任务之前的期间内生成的。
rcupdate.rcu_task_ipi_delay = [KNL]

使用这个参数,您可以在哪一个 Read-copy-update(RCU)任务避免发送 IPI 期间设置的瞬间时间,从给定宽限期的开头开始。

设置大量数字可避免干扰实时工作负载,但会延长宽限期。

refscale.holdoff = [KNL]
使用这个参数,您可以设置测试启动暂停时间。此参数的目的是将测试的启动延迟到引导完成,以避免干扰。
refscale.loops = [KNL]

使用这个参数,您可以设置测试下同步原语的循环数量。增加这个数量可减少由于循环启动/结束开销产生的噪音。

在 2020 年 x86 笔记本电脑上,默认值已将每次传递的噪声降低到几皮秒。

refscale.nreaders = [KNL]

使用这个参数,您可以设置读取器的数量。

默认值 -1 选择 N,其中 N 是大约 CPU 数量的 75%。

refscale.nruns = [KNL]
通过这个参数,您可以设置运行的次数,每次运行都会转储到控制台日志中。
refscale.readdelay = [KNL]
使用这个参数,您可以设置读取端关键部分持续时间,以微秒为单位。
refscale.scale_type = [KNL]
使用这个参数,您可以指定要测试的读保护实现。
refscale.shutdown = [KNL]

通过这个参数,您可以在性能测试结束时关闭系统。

默认值为 1,它会关闭系统 - refscale 构建到内核中。

值 0 并使系统保持运行 - refscale 作为模块构建。

refscale.verbose = [KNL]
使用这个参数,您可以启用额外的 printk() 语句。
scftorture.holdoff = [KNL]

使用这个参数,您可以指定开始测试前要等待的秒数。

对于模块插入,参数默认为零,对于内置 smp_call_function() 测试,参数默认为 10 秒。

scftorture.longwait = [KNL]

使用这个参数,您可以请求非常长的等待,这些等待会随机选择,最高为所选的限制(以秒为单位)。

默认值为零,它禁用了此功能。

请注意,即使请求很小的非零秒数也可能导致 Read-copy-update(RCU)CPU 停滞警告,以及软锁定投诉等。

scftorture.nthreads = [KNL]

使用这个参数,您可以指定要生成的 kthreads 数来调用 smp_call_function() 函数系列。

默认值 -1 指定等于 CPU 数的 kthreads 数。

scftorture.onoff_holdoff = [KNL]
使用这个参数,您可以指定在启动 CPU 热插拔操作前测试开始后等待的秒数。
scftorture.onoff_interval = [KNL]

使用这个参数,您可以指定连续的 CPU 热插拔操作之间等待的秒数。

默认值为零,它禁用了 CPU 热插拔操作。

scftorture.shutdown_secs = [KNL]

使用这个参数,您可以指定测试开始后的秒数。测试后,系统关闭。

如果默认值为零,您可以避免关闭系统。非零值对自动测试很有用。

scftorture.stat_interval = [KNL]

使用这个参数,您可以指定将当前测试统计信息输出到控制台之间的秒数。

值为零可禁用统计输出。

scftorture.stutter_cpus = [KNL]
使用这个参数,您可以指定对测试中的每次修改 CPU 集合之间等待的 jiffies 数。
scftorture.use_cpus_read_lock = [KNL]
使用这个参数,您可以使用 use_cpus_read_lock() 系统调用,而不是默认的 preempt_disable() 系统调用来在调用其中一个 smp_call_function*() 函数时禁用 CPU 热插拔。
scftorture.verbose = [KNL]
使用这个参数,您可以启用额外的 printk() 语句。
scftorture.weight_single = [KNL]

这个参数指定了用于具有零"wait"参数的 smp_call_function_single() 函数的可能性权重。

如果所有其他权重均为 -1,则值 -1 为选择默认值。但是,如果至少一个权重具有其他值,则值为 -1 时选择 0 权重。

scftorture.weight_single_wait = [KNL]
这个参数指定了用于具有非零"wait"参数的 smp_call_function_single() 函数的可能性权重。如需更多信息,请参阅 weight_single
scftorture.weight_many = [KNL]

这个参数指定了用于具有零"wait"参数的 smp_call_function_many() 函数的可能性权重。

请注意,为这个权重设置高可能性可能会给系统带来严重的进程间中断(IPI)负载。

如需更多信息,请参阅 weight_single

scftorture.weight_many_wait = [KNL]

这个参数指定了用于带有非零 "wait" 参数的 smp_call_function_many() 函数的可能性权重。

如需更多信息,请参阅 weight_singleweight_many

scftorture.weight_all = [KNL]

这个参数指定了用于具有零"wait"参数的 smp_call_function_all() 函数的可能性权重。

如需更多信息,请参阅 weight_singleweight_many

scftorture.weight_all_wait = [KNL]

这个参数指定了用于带有非零 "wait" 参数的 smp_call_function_all() 函数的可能性权重。

如需更多信息,请参阅 weight_singleweight_many

sched_energy_aware

这个参数启用或禁用 能量感知调度(EAS)。

EAS 在具有非对称 CPU 技术的平台上自动启动,该平台提供能量模型。

如果您的平台满足 EAS 的要求,但您不想使用它,请将此值改为 0。

torture.disable_onoff_at_boot = [KNL]
使用这个参数,您可以防止 CPU 热插拔组件在 init 任务生成前的苦恼。
torture.ftrace_dump_at_shutdown = [KNL]

通过这个参数,您可以在 torture 测试关闭时转储 ftrace 缓冲区,即使没有错误也是如此。

当许多 torture 测试同时运行时,这可能是一种非常昂贵的操作,特别是在具有旋转规则存储的系统上。

更新的内核参数

iommu.forcedac = [ARM64, X86]

使用这个参数,您可以控制 PCI 设备的输入输出虚拟地址(IOVA)分配。

格式:{ 0 | 1 }

  • 0 - 如果需要回退到完整范围前,首先尝试分配 32 位直接内存访问(DMA)地址。
  • 1 - 从所有可用范围直接分配。选项强制为支持大于 32 位寻址的 PCI 卡强制双地址周期。
page_poison = [KNL]

通过这个引导时参数,您可以更改 buddy 分配器上的 poisoning 状态,其可通过 CONFIG_PAGE_POISONING=y 获得。

  • off :关闭 poisoning(默认)
  • 开启 :打开 poisoning
rcuscale.gp_async = [KNL]
通过这个参数,您可以测量异步宽限期原语的性能,如 call_rcu()
rcuscale.gp_async_max = [KNL]
使用这个参数,您可以指定每个写卡器线程未完成回调的最大数。当写卡器线程超过这个限制时,它会调用相应的 rcu_barrier() 类别,以允许之前发布的回调排空。
rcuscale.gp_exp = [KNL]
通过此参数,您可以测量加速同步宽限期原语的性能。
rcuscale.holdoff = [KNL]
使用这个参数,您可以设置测试启动暂停时间。此参数的目的是将测试的启动延迟到引导完成,以避免干扰。
rcuscale.kfree_rcu_test = [KNL]
通过这个参数,您可以测量 kfree_rcu() 洪灾的性能。
rcuscale.kfree_nthreads = [KNL]
使用这个参数,您可以指定运行 kfree_rcu() 函数循环的线程数。
rcuscale.kfree_alloc_num = [KNL]
使用这个参数,您可以指定迭代中分配和释放的数量。
rcuscale.kfree_loops = [KNL]
使用这个参数,您可以指定执行 rcuscale.kfree_alloc_num 分配和释放的循环数。
rcuscale.nreaders = [KNL]

使用这个参数,您可以设置 Read-copy-update(RCU)读卡器的数量。

值 -1 选择 N,其中 N 是 CPU 数。

rcuscale.nwriters = [KNL]

使用这个参数,您可以设置 Read-copy-update(RCU)写卡器的数量。

值的工作方式与 rcuscale.nreaders=N 相同,其中 N 是 CPU 数。

rcuscale.perf_type = [KNL]
使用这个参数,您可以指定要测试的 Read-copy-update(RCU)实现。
rcuscale.shutdown = [KNL]
使用这个参数,您可以在性能测试完成后关闭系统。这对于不用干涉的自动化测试非常有用。
rcuscale.verbose = [KNL]
使用这个参数,您可以启用额外的 printk() 语句。
rcuscale.writer_holdoff = [KNL]

使用这个参数,您可以在以微秒为单位的宽限期间进行写端暂停操作。

默认值为零,表示"无暂停"。

security = [SECURITY]

使用这个参数,您可以选择要在启动时启用的一个传统的"major"安全模块。

这已被 lsm 参数代替。

split_lock_detect = [X86]

使用这个参数,您可以启用分割锁检测或总线锁检测。

启用后,如果存在硬件支持,则将导致跨缓存线访问数据的原子指令:

  • 分割锁检测的对齐检查异常
  • 总线锁检测的调试异常

    可能的值:

  • off - 功能不启用
  • warn - 内核发送有关应用程序的速率限制警告,并触发 #AC 异常或 #DB 异常。这个模式对于支持分割锁检测或总线锁检测的 CPU 是默认模式。如果在硬件中启用了两个功能,则默认行为是 #AC。
  • fatal - 内核向触发 #AC 异常或 #DB 异常的应用程序发送 SIGBUS 信号。如果在硬件中启用了两个功能,则默认行为是 #AC。
  • ratelimit:N - 为总线锁检测将系统宽速率限制设置为每秒 N 总线锁(0 < N › 1000)。N/A 用于分割锁检测。

    如果 #AC 异常在内核中或固件中发生(例如,不是在用户模式下执行时发生),则内核将在 warnfatal 模式下出错。

    只有在 CPL > 0 时才会触发总线锁的 #DB 异常。

usb-storage.quirks =
k = NO_SAME(请勿使用 WRITE_SAME,仅限 UAS)

第 6 章 设备驱动程序

6.1. 新驱动程序

网络驱动程序

  • SYNOPSYS DESIGNWARE Ethernet XPCS 驱动程序(pcs-xpcs.ko.xz)
  • INTEL 10/100/1000 Ethernet PCI 驱动程序(dwmac-intel.ko.xz)
  • STMMAC 10/100/1000 以太网设备驱动程序(stmmac.ko.xz)
  • Chelsio Terminator 卡的加密 IPSEC。(ch_ipsec.ko.xz):1.0.0.
  • Chelsio NIC TLS ULD 驱动程序(ch_ktls.ko.xz):1.0.0.
  • Microsoft Azure 网络适配卡驱动程序(mana.ko.xz)
  • Qualcomm Atheros 802.11ax 无线 LAN 卡的核心模块(ath11k.ko.xz)
  • 支持 Qualcomm Technologies 802.11ax WLAN PCIe 设备的驱动程序(ath11k_pci.ko.xz)
  • MAC 到可选的 PHY 连接(phylink.ko.xz)

图形驱动程序和各种驱动程序

  • 使用 In-Band ECC(igen6_edac.ko.xz)的 Intel 客户端 SoC 的 MC 驱动程序
  • Regmap SoundWire MBQ 模块(regmap-sdw-mbq.ko.xz)
  • Intel Platform Monitoring Technology PMT 驱动程序(intel_pmt.ko.xz)
  • Intel PMT Crashlog 驱动程序(intel_pmt_crashlog.ko.xz)
  • UV 系统的 sysfs 结构(uv_sysfs.ko.xz)
  • Intel PMT Telemetry 驱动程序(intel_pmt_telemetry.ko.xz)
  • Intel PMT Class 驱动程序(intel_pmt_class.ko.xz)
  • AMD PMC 驱动程序(amd-pmc.ko.xz)
  • MHI 主机接口(mhi.ko.xz)
  • Modem Host Interface(MHI)PCI controller 驱动程序(mhi_pci_generic.ko.xz)
  • 块设备的 VDPA 设备模拟器(vdpa_sim_blk.ko.xz):0.1
  • 网络设备的 VDPA 设备模拟器(vdpa_sim_net.ko.xz):0.1
  • vp-vdpa (vp_vdpa.ko.xz):1
  • Mellanox VDPA 驱动程序(mlx5_vdpa.ko.xz)
  • 基本 STM 框架协议驱动程序(stm_p_basic.ko.xz)
  • MIPI SyS-T STM framing 协议驱动程序(stm_p_sys-t.ko.xz)
  • QMI 编码器/解码器助手(qmi_helpers.ko.xz)
  • ACPI DPTF 平台电源驱动程序(dptf_power.ko.xz)
  • ACPI Platform profile sysfs 接口(platform_profile.ko.xz)
  • Intel Emmitsburg PCH pinctrl/GPIO 驱动程序(pinctrl-emmitsburg.ko.xz)
  • Intel Alder Lake PCH pinctrl/GPIO 驱动程序(pinctrl-alderlake.ko.xz)
  • MPI3 Storage Controller Device 驱动程序(mpi3mr.ko.xz):00.255.45.01
  • 正在根据 CPU IO 选择路径的 device-mapper 多路径路径选择器上执行(dm-io-affinity.ko.xz)
  • device-mapper 测量服务时间导向的路径选择器(dm-historical-service-time.ko.xz)

6.2. 更新的驱动程序

网络驱动程序

  • Mellanox 5th generation network adapters(ConnectX series)核心驱动程序(mlx5_core.ko.xz)已更新至版本 4.18.0-348.el8.x86_64。
  • Realtek RTL8152/RTL8153 Based USB Ethernet Adapters(r8152.ko.xz)已更新至版本 v1.11.11。

图形和各种驱动程序更新

  • LSI MPT Fusion SAS 3.0 Device Driver(mpt3sas.ko.xz)更新至版本 37.101.00.00。
  • Emulex LightPulse Fibre Channel SCSI 驱动程序(lpfc.ko.xz)已更新至版本 0:12.8.0.10。
  • QLogic Fibre Channel HBA 驱动程序(qla2xxx.ko.xz)已更新至版本 10.02.00.106-k。
  • Microsemi Smart Family Controller 版本的驱动程序(smartpqi.ko.xz)已更新至版本 2.1.8-045。
  • Broadcom MegaRAID SAS 驱动程序(megaraid_sas.ko.xz)已更新至版本 07.717.02.00-rh1。

第 7 章 程序错误修复

这部分论述了在 Red Hat Enterprise Linux 8.5 中修复的对用户有严重影响的 bug 。

7.1. 安装程序和镜像创建

当 Insights 客户端无法注册系统时,RHEL 安装不再终止

在以前的版本中,如果 Red Hat Insights 客户端在安装过程中注册系统失败,RHEL 安装会失败并报一个错误。有了这个更新,即使 Insights 客户端失败,系统也会完成安装。在安装过程中会向用户通知错误,这样可以稍后单独处理该错误。

BZ#1931069

Anaconda 允许在自定义分区屏幕中为自动创建的磁盘布局进行数据加密

在以前的版本中,在自定义分区屏幕中自动创建磁盘布局时请求加密的磁盘布局是不可能的。有了这个更新,Anaconda 在自定义分区屏幕上提供了对自动创建的磁盘布局进行加密的选项。

(BZ#1903786)

当分区方案没有在 Kickstart 文件中指定时,安装程序不会尝试自动分区

当使用 Kickstart 文件执行自动安装时,当您没有在 Kickstart 文件中指定任何分区方案时,安装程序不会尝试执行自动分区。安装过程被中断,允许用户配置分区。

(BZ#1954408)

RHEL-Edge 容器镜像现在使用 nginx,并在端口 8080 上提供服务

在以前的版本中,edge-container 镜像类型无法在非 root 模式下运行。因此,Red Hat OpenShift 4 无法使用 edge-container 镜像类型。有了这个更新,容器现在使用 nginx HTTP 服务器来提供提交和配置文件,允许服务器在容器内以非 root 用户运行,使其可以在 Red Hat OpenShift 4 上使用。内部 Web 服务器现在使用端口 8080 而不是 80

(BZ#1945238)

7.2. Shell 和命令行工具

opal-prd rebase 到版本 6.7.1

Opal-prd 已升级至版本 6.7.1。重要的程序错误修复和增强包括:

  • 修复了由于 xscom OPAL 调用而导致的 xscom 错误日志记录问题。
  • 修复了 DEBUG 构建可能的死锁。
  • 如果 fast-rebootcore/platform 中失败,则回退到 full_reboot
  • 修复了 core/cpu 中的 next_ungarded_primary
  • 改进了Self-Boot 引擎(SBE)中的速率限制计时器请求和计时器状态。

(BZ#1921665)

libservicelog rebase 到版本 1.1.19

libservicelog 已升级至版本 1.1.19。重要的程序错误修复和增强包括:

  • 修复了输出对齐问题。
  • 修复了 servicelog_open() 上的 segfault 故障。

(BZ#1844430)

ipmitool sol activate 命令不再崩溃

在以前的版本中,在从 RHEL 7 升级到 RHEL 8 后,ipmitool sol activate 命令会在尝试访问 IBM DataPower 设备上的远程控制台时崩溃。

有了这个更新,这个 bug 已被修复,用户可以使用 ipmitool 再次访问远程控制台。

(BZ#1951480)

Relax-and-Recover(ReaR)软件包现在依赖于 bootlist 可执行文件

在以前的版本中,ReaR 可能会在 IBM Power Systems Little Endian 架构上生成没有 bootlist 的救援镜像。因此,如果没有安装 powerpc-utils-core 软件包,救援镜像不会包含 bootlist 可执行文件。

有了这个更新,ReaR 软件包现在依赖于 bootlist 可执行文件。该依赖项确保 bootlist 可执行文件存在。如果缺少 bootlist 可执行文件,ReaR 不会创建救援镜像。这可避免创建无效的救援镜像。

(BZ#1983013)

现在非特权远程用户可在 ReaR 中使用 rsync

在以前的版本中,当使用 rsync 备份和恢复系统数据 (BACKUP=RSYNC) 时,rsync 的参数被错误引用,--fake-super 参数没有传给远程 rsync 进程。因此,文件元数据没有被正确保存和恢复。

有了这个更新,以下 bug 已解决:

  • ReaR 为 rsync 使用正确的参数。
  • 改进了备份和恢复过程中检测错误的 rsync 代码:

    • 如果在备份过程中检测到 rsync 错误,ReaR 会终止,并显示一条错误消息。
    • 如果在恢复过程中检测到 rsync 错误,ReaR 会显示一条警告消息。

/etc/rear/local.conf 文件中,设置 BACKUP_INTEGRITY_CHECK=1,以将警告转换为错误消息。

(BZ#1930662)

当使用 ReaR 时,网络共享上的备份数据的丢失不会再发生

在以前的版本中,当使用 NFS 等网络文件系统存储 ReaR 备份时,发生错误时,ReaR 会删除挂载了 NFS 的目录。因此,这会导致备份数据丢失。

有了这个更新,ReaR 现在使用一种新的方法来卸载网络共享。该新方法再删除挂载点时不会删除挂载的文件系统的内容。使用 ReaR 时网络共享上备份数据的丢失现在已被修复。

(BZ#1958247)

ReaR 现在可以用来备份和恢复使用 ESP 的机器

在以前的版本中,当对具有 Unified Extensible Firmware Interface(UEFI)固件的机器上的 EFI 系统分区使用软件 RAID(MDRAID)时,ReaR 不会创建可扩展固件接口(EFI)条目。当使用 ReaR 恢复软件 RAID 上带有 UEFI 固件和 EFI 系统分区的系统时,恢复的系统无法引导,需要手动干预来修复引导 EFI 变量。

在这个版本中,为软件 RAID 设备创建引导 EFI 条目的支持被添加到 ReaR 中。Rear 现在可用于在软件 RAID 上备份和恢复使用 EFI 系统分区(ESP)的机器,而无需手动恢复后干预。

(BZ#1958222)

为 openslp 软件包添加了 /etc/slp.spi 文件

在以前的版本中,openslp 软件包中缺少 /etc/slp.spi 文件。因此,/usr/bin/slptool 命令不会生成输出。在这个版本中,/etc/slp.spi 已添加到 openslp

(BZ#1965649)

现在可以使用 ReaR 安全恢复带有多路径的 Little Endian 架构机器

在以前的版本中,当 ReaR 恢复系统时,/sys 文件系统不会挂载到 chroot 中。当安装引导装载程序时,IBM Power Systems Little Endian 架构中的 ofpathname 可执行文件会失败。因此,错误仍无法检测到,恢复的系统无法引导。

在这个版本中,ReaR 在恢复 chroot 中挂载 /sys 文件系统。Rear 确保 Power Systems Little Endian 架构机器上的救援系统中存在 ofpathname

(BZ#1983003)

当与别名一起使用时,which 实用程序不再会出现带有语法错误信息的中止

在以前的版本中,当尝试使用带有别名的 which 命令时,例如, A=B which lswhich 工具会中止,并显示语法错误消息 bash: syntax error near unexpected token `('

这个程序错误已被解决,which 会正确显示命令的完整路径。

(BZ#1940468)

7.3. 基础架构服务

/var/lib/chrony 的权限已更改

在以前的版本中,企业安全扫描程序会将 /var/lib/chrony 目录标记为具有全局可读和可执行权限。在这个版本中,/var/lib/chrony 目录的权限已更改为仅限制 root 用户和 chrony 用户的访问权限。

(BZ#1939295)

7.4. 安全性

如果明确可信,GnuTLS 不再拒绝 SHA-1 签名的 CA

在以前的版本中,GnuTLS 库会检查所有证书颁发机构(CA)的签名哈希强度,即使 CA 被明确信任。因此,包含使用 SHA-1 算法签名的 CA 链被拒绝,带有错误消息 certificate’s signature hash strength is unacceptable。在这个版本中,GnuTLS 从签名散列强度检查中排除可信 CA,因此不再拒绝包含 CA 的证书链,即使它们使用弱算法签名。

(BZ#1965445)

FIPS 模式中启用硬件优化

在以前的版本中,联邦信息处理标准(FIPS 140-2)不允许使用硬件优化。因此,当使用 FIPS 模式时,在 libgcrypt 软件包中禁用了这个操作。在这个版本中,启用了 FIPS 模式的硬件优化,因此可以更快地执行所有加密操作。

(BZ#1976137)

leftikeportrightikeport 选项可以正常工作

在以前的版本中,Libreswan 在任何 host-to-host Libreswan 连接中会忽略 leftikeportrightikeport 选项。因此,Libreswam 使用默认端口,而不考虑任何非默认选项设置。在这个版本中,这个问题已被解决,您可以在默认选项中使用 leftikeportrightikeport 连接选项。

BZ#1934058

SELinux 策略不允许 GDM 设置 GRUB boot_success 标记

在以前的版本中,SELinux 策略不允许 GNOME 显示管理器 (GDM) 在关闭和重启操作过程中设置 GRUB boot_success 标志。因此,GRUB 菜单会在下次引导时出现。在这个版本中,SELinux 策略引入了一个新的 xdm_exec_bootloader 布尔值,允许 GDM 设置 GRUB boot_success 标志,默认设置为启用。因此,GRUB 引导菜单在第一次引导时显示,并且没有 flicker 的引导支持功能可以正常工作。

(BZ#1994096)

selinux-policy 现在支持使用 TCP 封装的基于 IPsec 的 VPN

从 RHEL 8.4 开始,libreswan 软件包使用 TCP 封装支持基于 IPsec 的 VPN,但 selinux-policy 软件包没有反映这个更新。因此,当 Libreswan 被配置为使用 TCP 时,ipsec 服务将无法绑定到给定的 TCP 端口。在这个版本的 selinux-policy 软件包中,ipsec 服务可以绑定和连接到常用的 TCP 端口 4500,因此您可以在基于 IPsec 的 VPN 中使用 TCP 封装。

BZ#1931848

SELinux 策略现在会阻止 staff_u 用户切换到 unconfined_r

在以前的版本中,当启用 secure_mode 布尔值时,staff_u 用户可能会错误地切换到 unconfined_r 角色。因此,staff_u 用户可以执行影响系统安全性的特权操作。在这个版本中,SELinux 策略可防止 staff_u 用户使用 newrole 命令切换到 unconfined_r 角色。因此,非特权用户无法运行特权操作。

(BZ#1947841)

OSCAP Anaconda Addon 现在处理自定义配置集

在以前的版本中,OSCAP Anaconda Addon 插件无法在单独的文件中使用自定义来正确处理安全配置集。因此,即使您在对应的 Kickstart 部分指定了自定义配置集,RHEL 图形安装中也不会提供自定义配置集。此处理已被修复,您可以在 RHEL 图形安装中使用自定义 SCAP 配置文件。

(BZ#1691305)

在评估 STIG 配置集和其他 SCAP 内容时,OpenSCAP 不再失败

在以前的版本中,OpenSCAP 中的加密库初始化没有在 OpenSCAP 中正确执行,特别是在 filehash58 探测中。因此,在评估包含 filehash58_test Open Vulnerability 评估语言 (OVAL) 测试的 SCAP 内容时,会出现分段错误。这尤其会影响对 Red Hat Enterprise Linux 8 的 STIG 配置集的评估。评估意外失败,且没有生成结果。在 openscap 软件包的新版本中修复了初始化库的过程。因此,在评估 RHEL 8 的 STIG 配置集和其他包含 filehash58_test OVAL 测试的 SCAP 内容时,OpenSCAP 不再会失败。

(BZ#1959570)

Ansible 仅在需要时更新横幅(banner)文件

在以前的版本中,用于横幅补救的 playbook 总是删除该文件并重新创建它。因此,横幅文件索引节点总是被修改,而无需任何需要。在这个版本中,Ansible 修复 playbook 已被改进来使用 copy 模块,首先将现有内容与预期内容进行比较,并且仅在需要时更新该文件。因此,只有在现有内容与预期内容不同时才更新横幅文件。

(BZ#1857179)

USB 设备现在可以正常工作,DISA STIG 配置集

在以前的版本中,DISA STIG 配置集启用了 USBGuard 服务,但没有配置任何最初连接的 USB 设备。因此,USBGuard 服务会阻止任何没有特别允许的设备。这使得一些 USB 设备(如智能卡)无法访问。在这个版本中,应用 DISA STIG 配置集时会生成初始 USBGuard 配置,并允许使用任何连接的 USB 设备。因此,USB 设备不会被阻止且可以正常工作。

(BZ#1946252)

OSCAP Anaconda Addon 现在以文本模式安装所有所选软件包

在以前的版本中,OSCAP Anaconda Addon 插件不会在以文本模式运行时安装和删除安装前评估需要某些分区布局或软件包安装和删除的规则。因此,当使用 Kickstart 指定安全策略配置集并以文本模式运行安装时,不会安装所选安全配置集所需的任何额外软件包。OSCAP Anaconda Addon 现在会在安装开始前执行所需的检查,无论安装是图形安装还是基于文本的安装,所有所选软件包也都安装在文本模式中。

(BZ#1674001)

rpm_verify_permissions 从 CIS 配置集中删除

rpm_verify_permissions 规则 (比较文件权限和软件包默认权限)已从 Internet 安全中心(CIS)Red Hat Enterprise Linux 8 Benchmark 中删除。在这个版本中,CIS 配置集与 CIS RHEL 8 基准一致,因此这个规则不再影响根据 CIS 强化其系统的用户。

(BZ#1843913)

7.5. 内核

上游补丁的恢复允许一些 systemd 服务和用户空间工作负载按预期运行

mknod() 系统调用的上游社区的向后移植变化导致 open() 系统调用在设备节点方面比 mknod() 更加特权。因此,容器中的多个用户空间工作负载和一些 systemd 服务变得无响应。在这个版本中,错误的行为已被恢复,且不再发生崩溃。

(BZ#1902543)

改进了内存记帐操作中的性能回归

在以前的版本中,slab 内存控制器会增加每个 slab 的内存核算操作的频率。因此,因为内存核算操作数量增加,性能回归。为解决这个问题,内存记帐操作得以简化,可以尽可能少地使用缓存和少量的原子操作。因此,一些性能回归仍然存在。但是,用户体验更好。

(BZ#1959772)

在发布多个 SysRg-T 魔力密钥时,不再会出现硬锁定和系统 panic

向系统发出多个 SysRg-T 魔力键序列,导致中断在较长时间内被禁用,具体取决于串行控制台速度以及正在打印的信息量。这一长时间的禁用中断时间通常会造成硬锁定后出现系统 panic。在这个版本中,SysRg-T 键序列可显著缩短关闭中断的时间段。因此,在上述场景中不会出现硬锁定或系统 panic。

(BZ#1954363)

某些 BCC 工具不再显示"macro redefined"警告

某些编译器内核标头中的宏重新定义会导致一些 BPF Compiler Collection(BCC)工具显示以下零影响警告:

warning: '__no_sanitize_address' macro redefined [-Wmacro-redefined]

在这个版本中,通过删除宏重新定义解决了这个问题。因此,相关的 BCC 工具不会在这种情况下显示警告。

(BZ#1907271)

kdump 不再无法在 SSH 或 NFS 目标上转储 vmcore

在以前的版本中,当将网络接口卡(NIC)端口配置为静态 IP 地址并将 kdump 设置为在 SSH 或 NFS 转储目标上转储 vmcore 时,kdump 服务时带有以下错误信息:

ipcalc: command not found

因此,对 SSH 或 NFS 的 kdump 的转储目标最终会失败。

在这个版本中解决了这个问题,kexec-tools 工具不再依赖于 ipcalc 工具进行 IP 地址和子网掩码计算。因此,当您使用 SSH 或者 NFS 转储目标时,kdump 可以按预期工作。

(BZ#1931266)

某些网络内核驱动程序现在可以正确地显示其版本

RHEL 8.4 中更改了许多网络内核驱动程序的模块版本控制行为。因此,这些驱动程序不会显示其版本。或者,在执行 ethtool -i 命令后,驱动程序会显示 内核 版本,而不是 驱动程序 版本。在这个版本中,通过提供内核模块字符串解决了这个错误。因此,用户可以决定受影响内核驱动程序的版本。

(BZ#1944639)

hwloc 命令现在返回单一 CPU Power9 和 Power10 逻辑分区的正确数据

使用 2.2.0 版本的 hwloc 实用程序,运行 Power9 或 Power10 CPU 的任何单节点非统一内存访问(NUMA)系统都将被视为"禁用"。因此,所有 hwloc 命令不起作用,因为 NODE0(套接字 0,CPU 0)是离线状态,hwloc 源代码期望 NODE0 为在线状态。此时会显示以下出错信息:

Topology does not contain any NUMA node, aborting!

在这个版本中,hwloc 已修复,以便其源代码检查 NODE0 在查询它前是否已在线。如果 NODE0 未在线,代码会继续至下一个在线 NODE。

因此,hwloc 命令不会在上述场景中返回任何错误。

BZ#1917560

7.6. 文件系统和存储

getaddrinfo() 获取的记录现在包含默认 TTL

在以前的版本中,API 不会传递生存时间(TTL)信息,这会为通过 getaddrinfo() 获取的地址记录保留 TTL unset,即使它们是从 DNS 获取的。因此,key.dns_resolver upcall 程序没有在 dns_resolver 记录上设置到期时间,除非记录包含直接从 DNS 获取的组件,如 SRV 或 AFSDB 记录。在这个版本中,getaddrinfo() 的记录包括默认 TTL 10 分钟,以防止未设定的到期时间。

(BZ#1661674)

7.7. 高可用性和集群

ocf:heartbeat:pgsql 资源代理和一些第三方代理在关闭过程中不再无法停止

在 RHEL 8.4 GA 版中,Pacemaker 的crm_mon 命令行工具被修改为显示"shutting down"信息,而不是 Pacemaker 开始关闭时通常的集群信息。因此,无法监控关闭进度,如停止资源。在这种情况下,在停止操作中解析 crm_mon 输出的资源代理(如通过 resource-agents 软件包分发的 ocf:heartbeat:pgsql 代理或一些自定义或第三方代理)可能无法停止,从而导致集群问题。这个程序错误已被解决,上面描述的问题不再发生。

BZ#1948620

7.8. 动态编程语言、网页和数据库服务器

pyodbc 可以与 MariaDB 10.3 协同工作

pyodbc 模块无法与 RHEL 8.4 发行版本中包含的 MariaDB 10.3 服务器一起工作。mariadb-connector-odbc 软件包中的根本原因已被修复,pyodbc 现在可以如预期与 MariaDB 10.3 一起工作。

请注意,MariaDB 10.3 服务器和 MariaDB 10.5 服务器的早期版本不受此问题的影响。

BZ#1944692

7.9. 编译器和开发工具

GCC Toolset 11:GCC 11 现在默认为 DWARF 4

虽然上游 GCC 11 默认使用 DWARF 5 调试格式,但 GCC Toolset 11 的 GCC 默认使用 DWARF 4 来保持与 RHEL 8 组件的兼容性,如 rpmbuild

(BZ#1974402)

可调项框架现在可以正确地解析 GLIBC_TUNABLES

在以前的版本中,对于 setuid 程序的非 setuid 子项,可调项框架无法正确解析 GLIBC_TUNABLES 环境变量。因此,在某些情况下,所有可调项仍保留在 setuid 程序的非 setuid 子项中。在这个版本中,GLIBC_TUNABLES 环境变量中的可调项会被正确解析。因此,现在 setuid 程序的非 setuid 子项仅继承受限的标识可调项。

(BZ#1934155)

glibc 中的 semctl 系统调用打包程序现在像 SEM_STAT_ANY 一样对待 SEM_STAT

在以前的版本中,glibc 中的 semctl 系统调用打包程序没有像 SEM_STAT_ANY 一样对待内核参数 SEM_STAT。因此,glibc 没有将结果对象 结构 parad_ds 的地址传递给内核,因此内核无法更新它。在这个版本中,glibc 处理 SEM_STAT_ANY (如 SEM_STAT ),因此应用可以使用 SEM_STAT_ANY 来获取 struct semid_ds 数据。

(BZ#1912670)

Glibc 现在包括了对 IPPROTO_ETHERNET, IPPROTO_MPTCP, 和 INADDR_ALLSNOOPERS_GROUP 的定义

在以前的版本中,Glibc 系统库标头(/usr/include/netinet/in.h)不包括 IPPROTO_ETHERNET, IPPROTO_MPTCP, 和 INADDR_ALLSNOOPERS_GROUP 的定义。因此,需要这些定义的应用程序无法编译。有了这个更新,系统库头包含 IPPROTO_ETHERNETIPPROTO_MPTCPINADDR_ALLSNOOPERS_GROUP 的新网络常量定义,从而正确编译应用程序。

(BZ#1930302)

GCC 更新到版本 8.5

GNU Compiler Collection(GCC)更新至上游版本 8.5,它提供很多程序漏洞修复。

(BZ#1946758)

使用 OpenSSL aes-cbc 模式的文件解密不正确

OpenSSL EVP aes-cbc 模式无法正确解密文件,因为它需要在 Go CryptoBlocks 接口要求完整的块时处理 padding。这个问题已通过在 OpenSSL 中执行 EVP 操作前禁用 padding 来解决。

(BZ#1979100)

7.10. Identity Management

在运行 bootstrap 脚本时,FreeRADIUS 不再错误地生成默认证书

每次启动 FreeRADIUS 时,bootstrap 脚本都运行。在以前的版本中,该脚本会在 /etc/raddb/certs 目录中生成新的测试证书,因此 FreeRADIUS 服务器有时无法启动,因为这些测试证书无效。例如,证书可能已过期。在这个版本中,bootstrap 脚本会检查 /etc/raddb/certs 目录,如果它包含任何测试或客户证书,该脚本不会运行,并且 FreeRADIUS 服务器应该可以正确启动。

请注意,测试证书只在配置 FreeRADIUS 时测试目的,不应用于实际环境中。使用用户证书后,应删除 bootstrap 脚本。

(BZ#1954521)

FreeRADIUS 不再无法创建内核转储文件

在以前的版本中,当 allow_core_dumps 被设置为 yes 时,FreeRADIUS 不会创建内核转储文件。因此,不会在任何进程失败时创建核心转储文件。在这个版本中,当将 allow_core_dumps 设置为 yes 时,FreeRADIUS 现在会在任何进程失败时创建一个核心转储文件。

(BZ#1977572)

SSSD 可以正确地评估 /etc/krb5.conf 中 Kerberos keytab 名称的默认设置

在以前的版本中,如果您为 krb5.keytab 文件定义了一个非标准位置,SSSD 不会使用此位置,并使用默认的 /etc/krb5.keytab 位置。因此,当您试图登录系统时,登录会失败,因为 /etc/krb5.keytab 不包含条目。

在这个版本中,SSSD 会评估 /etc/krb5.conf 中的 default_keytab_name 变量,并使用此变量指定的位置。如果未设置 default_keytab_name 变量,SSSD 只使用默认的 /etc/krb5.keytab 位置。

(BZ#1737489)

运行 sudo 命令不再导出 KRB5CCNAME 环境变量

在以前的版本中,在运行 sudo 命令后,环境变量 KRB5CCNAME 指向原始用户的 Kerberos 凭证缓存,这些信息可能无法被目标用户访问。因此,与 Kerberos 相关的操作可能会失败,因为这个缓存无法访问。在这个版本中,运行 sudo 命令不再设置 KRB5CCNAME 环境变量,目标用户可以使用它们的默认 Kerberos 凭证缓存。

(BZ#1879869)

Kerberos 现在只请求允许的加密类型

在以前的版本中,如果未设置 default_tgs_enctypesdefault_tkt_enctypes 参数,则 RHEL 不会应用在 /etc/krb5.conf 文件中的permitted_enctypes 参数中指定的允许的加密类型。因此,Kerberos 客户端可以请求弃用的密码套件,如 RC4,这可能会导致其他进程失败。在这个版本中,RHEL 也会将在 permitted_enctypes 中设置的加密类型应用到默认加密类型,进程只能请求允许的加密类型。

如果您使用 Red Hat Identity Management(IdM)并希望使用 Active Directory(AD)设置信任,请注意 RC4 密码套件(在 RHEL 8 中已弃用)是 AD 林中 AD 域的默认加密类型。您可以使用以下选项之一:

(BZ#2005277)

复制会话更新速度现已提高

在以前的版本中,当 changelog 包含较大的更新时,复制会话从 changelog 的开始启动。这会减慢会话速度。造成这个问题的原因是,在复制会话期间,使用了小缓冲区存储来自 changelog 的更新。在这个版本中,复制会话会检查缓冲区是否足够大,以便首先存储更新。复制会话会立即开始发送更新。

(BZ#1898541)

现在启用插件创建的数据库索引

在以前的版本中,当服务器插件创建自己的数据库索引时,您必须手动启用这些索引。在这个版本中,索引会在创建后立即启用。

(BZ#1951020)

7.11. Red Hat Enterprise Linux 系统角色

运行相同输出时角色任务不再改变

在以前的版本中,在再次运行同一输入时,一些角色任务会报告为 CHANGED,即使没有更改也是如此。因此,该角色并不具有幂等性。要解决这个问题,请执行以下操作:

  • 在应用配置变量前检查配置变量是否有所变化。您可以使用 --check 选项进行此验证。
  • 不要向配置文件中添加 Last Modified: $date 标头。

因此,角色任务是幂等的。

(BZ#1960375)

Postfix 文档中的不再错误定义 relayhost 参数

在以前的版本中,Postfix RHEL 系统角色的 relayhost 参数在由 rhel-system-roles 提供的 doc /usr/share/doc/rhel-system-roles/postfix/README.md 文档中被定义为 relay_host。在这个版本中解决了这个问题,现在 Postfix 文档中正确定义了 relayhost 参数。

(BZ#1866544)

Postfix RHEL 系统角色 README.md 不再缺少"Role Variables"部分下的变量

在以前的版本中,在"Role Variables"部分下没有包括 Postfix RHEL 系统角色变量(如 postfix_check, postfix_backup, postfix_backup_multiple)。因此,用户无法查阅 Postfix 角色文档。在这个版本中,在 Postfix README 部分添加了角色变量文档。角色变量被记录下来,并在 rhel-system-roles 提供的 doc/usr/share/doc/rhel-system-roles/postfix/README.md 文档中供用户使用。

(BZ#1961858)

Postfix 角色 README 不再使用普通角色名称

在以前的版本中,/usr/share/ansible/roles/rhel-system-roles.postfix/README.md 中提供的示例使用了角色名称的普通版本(postfix),而不是使用 rhel-system-roles.postfix。因此,用户会因为参考了文档而错误地使用普通角色名称而不是完全限定域名(FQRN)。在这个版本中解决了这个问题,文档包含了 FQRN、rhel-system-roles.postfix 的示例,让用户能够正确地写入 playbook。

(BZ#1958963)

timesync 的输出日志应只报告有危害的错误

在以前的版本中,timesync RHEL 系统角色使用 ignore_errors 指令,在很多任务中单独检查任务失败。因此,成功运行的角色的输出日志中可以会充满了并没有危害的错误。用户可以安全地忽略这些错误,但这些信息可能会对用户造成干扰。在这个版本中,相关的任务被重写,不再使用 ignore_errors。因此,现在的输出日志非常干净,只报告会导致角色停止运行的错误。

(BZ#1938014)

Ansible 集合中不再缺少 requirements.txt 文件

在以前的版本中,Ansible 集合中缺少了负责指定 python 依赖项的 requirements.txt 文件。在这个版本中,在 /usr/share/ansible/collections/ansible_collections/redhat/rhel_system_roles/requirements.tx 路径中添加了带有正确依赖关系的、过去缺少的文件。

(BZ#1954747)

storage_pools 设置 type: partition 时不再会看到 traceback

在以前的版本中,当将一个 playbook 中的 storage_pools 的变量 type 设置为 partition 时,运行此 playbook 将失败并指示 traceback。在这个版本中解决了这个问题,不再会出现 Traceback 错误。

(BZ#1854187)

SELinux 角色不再执行不必要的重新加载

在以前的版本中,SElinux 角色不会在重新载入 SElinux 策略前检查是否实际应用了更改。因此,SElinux 策略会不必要的重新加载,这会影响系统资源。在这个版本中,SElinux 角色使用 ansible 处理程序和条件来确保仅在有更改时才重新加载策略。因此,SElinux 角色的运行速度要快得多。

(BZ#1757869)

sshd 角色不再无法使用在 RHEL6 主机上安装的 sshd_config 文件启动。

在以前的版本中,当受管节点运行 RHEL6 时,OpenSSH 的版本在 Match 条件中不支持由安装任务添加的 "Match all"。因此,sshd 无法使用安装的 sshd_config 文件的 RHEL6 主机上启动。在这个版本中解决了这个问题,方法是将 RHEL6 sshd_config 配置文件的 "Match all" 替换为 "Match address *",因为 OpenSSH 版本支持这个标准。因此,sshd RHEL 系统角色可以使用安装的 sshd_config 文件在 RHEL 6 主机上成功启动。

(BZ#1990947)

README.md 示例中的 SSHD 角色名称不再不正确

在以前的版本中,在 sshd README.md 文件中,示例引用使用 willshersystems.sshd 名称调用角色。在这个版本中解决了这个问题,示例中的引用使用了正确的名称 "rhel_system_roles.sshd"。

(BZ#1952090)

tlsfalse时,key/certs 源文件不再被复制

在以前的版本中,在 logging RHEL 系统角色 elasticsearch 输出中,如果控制主机上的 key/certs 源文件路径已在 playbook 中配置,它们也会复制到受管主机,即使 tls 被设置为 false。因此,如果配置了 key/cert 文件路径,并且 tls 被设置为 false,该命令将失败,因为复制源文件不存在。在这个版本中解决了这个问题,只有在 tls 参数被设置为 true 时,key/certs 才会执行。

(BZ#1994580)

metric 角色中的目标主机启用日志记录的任务现在可以正常工作

在以前的版本中,metric RHEL 系统角色中的一个错误会在 启用性能指标日志记录 任务时无法引用目标主机。因此,不会生成用于性能指标日志记录的控制文件。在这个版本中解决了这个问题,现在可以正确地引用目标主机。因此,控制文件被成功创建,启用性能指标日志执行。

(BZ#1967335)

sshd_hostkey_groupsshd_hostkey_mode 变量现在可在 playbook 中配置

在以前的版本中,sshd_hostkey_groupsshd_hostkey_mode 变量在 defaultsvars 文件中被意外定义。因此,用户无法在 playbook 中配置这些变量。在这个版本中,sshd_hostkey_group 被重新命名为 __sshd_hostkey_groupsshd_hostkey_mode 被重新命名为 __sshd_hostkey_mode 用于定义 vars 文件中的常量值。在 default 文件中,sshd_hostkey_group 被设置为 __sshd_hostkey_groupsshd_hostkey_mode 被设置为 __sshd_hostkey_mode。现在,用户可以在 playbook 中配置 sshd_hostkey_groupsshd_hostkey_mode 变量。

(BZ#1966711)

README.md 中的 RHEL 系统角色内部链接不再有问题

在以前的版本中,README.md 文件中可用的内部链接被破坏。因此,如果用户点特定的小节文档链接,它不会将用户重定向到特定的 README.md 部分。在这个版本中解决了这个问题,内部链接将用户指向正确的部分。

(BZ#1962976)

7.12. 云环境中的 RHEL

nm-cloud-setup 工具现在在 Microsoft Azure 上设置正确的默认路由

在以前的版本中,在 Microsoft Azure 中,nm-cloud-setup 工具无法检测云环境的正确网关。因此,实用程序设置了一个不正确的默认路由,连接会失败。在这个版本中解决了这个问题。nm-cloud-setup 程序现在在 Microsoft Azure 上设置正确的默认路由。

BZ#1912236

现在,通过备份 AMI 创建的 EC2 实例上会正确生成 SSH 密钥

在以前的版本中,当从备份 Amazon Machine Image(AMI)创建新 RHEL 8 的 Amazon EC2 实例时,cloud-init 会删除虚拟机上现有的 SSH 密钥,但没有创建新密钥。因此,虚拟机在某些情况下无法连接到主机。

新创建的 RHEL 8.5 虚拟机解决了这个问题。对于从 RHEL 8.4 或更早版本升级的虚拟机,您必须手动临时解决这个问题。

为此,请编辑 cloud.cfg 文件并将 ssh_genkeytypes: ~ 行改为 ssh_genkeytypes: ['rsa', 'ecdsa', 'ed25519']。当在上述的情形中创建 RHEL 8 虚拟机时,可以正确删除并生成 SSH 密钥。

(BZ#1957532)

在 AWS ARM64 实例上运行的 RHEL 8 现在可达到指定的网络速度

当在 Amazon Web Services(AWS) ARM64 实例上运行的虚拟机(VM)中使用 RHEL 8 作为客户机操作系统时,当使用 iommu.strict=1 内核参数或未定义 iommu.strict 参数时,之前的 VM 的网络性能会低于预期。

红帽提供的 RHEL 8.5 Amazon 机器镜像(AMI)不再会出现这种情况。在其他类型的镜像中,您可以通过将参数改为 iommu.strict=0 来解决这个问题。这包括:

  • RHEL 8.4 及更早的镜像
  • 使用 yum update 从早期版本升级的 RHEL 8.5 镜像
  • RHEL 8.5 镜像不是由红帽提供的

(BZ#1836058)

内核转储 RHEL 8 虚拟机到 Azure 上的远程机器现在更加可靠

在以前的版本中,虚拟机使用启用了加速网络的 NIC 时,用 kdump 实用程序将 RHEL 8 虚拟机(VM)的内核转储保存到远程机器上无法正常工作。因此,转储文件会在大约 200 秒后才进行保存,而不是立即保存。另外,在保存转储文件前,控制台中记录了以下错误消息。

device (eth0): linklocal6: DAD failed for an EUI-64 address

在这个版本中,底层代码已被修复,在上述情况下,转储文件会被立即保存。

(BZ#1854037)

现在,当启用了 FIPS 模式时,Hibernating RHEL 8 客户机可以正常工作

在以前的版本中,如果虚拟机使用 FIPS 模式,则无法休眠使用 RHEL 8 作为其客户机操作系统的虚拟机(VM)。现在,底层代码已被修复,受影响的虚拟机现在可以正确地休眠。

(BZ#1934033, BZ#1944636)

7.13. 容器

UBI 9-Beta 容器可以在 RHEL 7 和 8 主机上运行

在以前的版本中,UBI 9-Beta 容器镜像在 containers-common 软件包中设置了不正确的 seccomp 配置集。因此,容器无法处理导致失败的一些系统调用。在这个版本中,这个问题已被解决。

(BZ#2019901)

第 8 章 技术预览

这部分列出了 Red Hat Enterprise Linux 8.5 中的所有技术预览。

如需有关红帽对技术预览功能支持范围的信息,请参阅 技术预览功能支持范围

8.1. Shell 和命令行工具

ReaR 在 64 位 IBM Z 构架中作为技术预览提供

64 位 IBM Z 构架中现在作为技术预览提供了基本的 Relax 和 Recover(ReaR)功能。您只能在 z/VM 环境中在 IBM Z 上创建 ReaR 救援镜像。备份和恢复逻辑分区(LPAR)还没有测试。

当前唯一可用的输出方法是 Initial Program Load(IPL)。IPL 生成内核和初始 ramdisk(initrd),可与 zIPL 引导装载程序一起使用。

如需更多信息,请参阅在 64 位 IBM Z 架构中使用 ReaR 救援镜像

(BZ#1868421)

8.2. 网络

KTLS 作为技术预览提供

RHEL 作为技术预览提供内核传输层(KTLS)。KTLS 使用内核中的对称加密或者解密算法为 AES-GCM 密码处理 TLS 记录。KTLS 还提供将 TLS 记录加密卸载到支持此功能的网络接口控制器(NIC)的接口。

(BZ#1570255)

AF_XDP 作为技术预览

Address Family eXpress Data Path (AF_XDP) 是设计用于处理高性能数据包。它包含 XDP,并允许通过编程方式将选定的数据包高效地重定向到用户空间应用,以便进一步处理。

(BZ#1633143)

可作为技术预览的 XDP 功能

红帽提供了以下 eXpress Data Path(XDP)功能作为不受支持的技术预览:

  • 在 AMD 和 Intel 64 位以外的构架中载入 XDP 程序。请注意,libxdp 库不适用于 AMD 和 Intel 64 位的构架。
  • XDP 硬件卸载。

(BZ#1889737)

TC 的多协议标签交换,作为技术预览提供

Multi-protocol Label Switching(MPLS)是一个内核内数据转发机制,用于跨企业网络路由流量。在 MPLS 网络中,接收数据包的路由器根据附加到数据包的标签决定数据包的其他路由。使用标签时,MPLS 网络可以处理带有特定特征的数据包。例如,您可以添加 tc 过滤器,以一致的方式管理从特定端口接收的数据包或执行特定类型的流量。

数据包进入企业网络后,MPLS 路由器对数据包执行多个操作,如 push 来添加标签、swap 来更新标签,以及 pop 来删除标签。MPLS 允许基于 RHEL 中的一个或多个标签在本地定义操作。您可以配置路由器并设置流量控制(tc)过滤器,根据 MPLS 标签堆栈条目(lse)元素来对数据包执行相应的操作,如 labeltraffic classbottom of stack 以及 time to live

例如,以下命令在 enp0s1 网络接口中添加过滤器以匹配传入的数据包,第一个标签为 12323,第二个标签为 45832。在匹配的数据包中,会执行以下操作:

  • 第一个 MPLS TTL 被缩减(如果 TTL 到达 0,则会丢弃数据包)
  • 第一个 MPLS 标签被改为 549386
  • 生成的数据包通过 enp0s2 传输,目标 MAC 地址为 00:00:5E:00:53:01,源 MAC 地址为 00:00:5E:00:53:02

    # tc filter add dev enp0s1 ingress protocol mpls_uc flower mpls lse depth 1 label 12323 lse depth 2 label 45832 \
    action mpls dec_ttl pipe \
    action mpls modify label 549386 pipe \
    action pedit ex munge eth dst set 00:00:5E:00:53:01 pipe \
    action pedit ex munge eth src set 00:00:5E:00:53:02 pipe \
    action mirred egress redirect dev enp0s2

(BZ#1814836, BZ#1856415

act_mpls 模块作为技术预览提供

act_mpls 模块现在作为技术预览在 kernel-modules-extra rpm 中找到。该模块允许使用流量控制(TC)过滤器进行多协议标签交换(MPLS)操作,例如:通过 TC 过滤器推送和弹出 MPLS 标签堆栈条目。模块还允许独立设置 Label、Traffic Class、Stack 的 Bottom 和 Time to Live 字段。

(BZ#1839311)

systemd-resolved 服务现在作为技术预览提供

systemd-resolved 服务为本地应用提供名字解析。该服务实现了缓存和验证 DNS stub 解析器、链接本地多播名称解析(LLMNR)以及多播 DNS 解析器和响应程序。

请注意,即使 systemd 软件包提供了 systemd -resolved,这个服务仍是一个不受支持的技术预览。

BZ#1906489

The nispor 软件包现在作为技术预览提供

The nispor 软件包现在作为技术预览提供,它是 Linux 网络状态查询的统一接口。它提供了一个通过 python 和 C api 和 rust crate 查询所有正在运行的网络状态的统一的方法。nispor 作为 nmstate 工具中的依赖项。

您可以将 nispor 软件包作为 nmstate的依赖项或单独的软件包来安装。

  • 要将 nispor作为单独的软件包来安装,请输入:

    # yum install nispor
  • 要将 nispor 作为 nmstate 的依赖项来安装,请输入:

    # yum install nmstate

    nispor 被列为依赖项。

有关使用 nispor 的更多信息,请参阅 /usr/share/doc/nispor/README.md 文件。

(BZ#1848817)

8.3. 内核

kexec fast reboot 功能作为技术预览提供

kexec fast reboot 功能仍可作为技术预览使用。kexec fast reboot 通过允许内核直接引导第二个内核而无需首先通过基本输入/输出系统(BIOS)来加快引导过程。要使用这个功能:

  1. 手动加载 kexec 内核。
  2. 重启操作系统。

(BZ#1769727)

accel-config 软件包作为技术预览提供

accel-config 软件包现在作为技术预览在 Intel EM64TAMD64 构架上提供。这个软件包有助于控制并配置 Linux 内核中的数据流化器(DSA)子系统。另外,它还通过 sysfs( pseudo-filesystem)配置设备,以 json 格式保存和加载配置。

(BZ#1843266)

SGX 作为技术预览

软件扩展(SGX)是一个 Intel® 技术,用于保护软件代码和数据不受公开和修改的影响。RHEL 内核部分支持 SGX v1 和 v1.5。版本 1 启用使用 Flexible Launch Control 机制的平台使用 SGX 技术。

(BZ#1660337)

eBPF 作为技术预览

Extended Berkeley Packet Filter(eBPF) 是一个内核中的虚拟机,允许在可访问有限功能的受限沙箱环境中在内核空间中执行代码。

虚拟机包含新系统调用 bpf(),它支持生成各种映射类型,同时还允许在特殊的装配类代码中载入程序。然后,代码被加载到内核,并使用即时编译方式转换为原生机器代码。请注意,只有具有 CAP_SYS_ADMIN 能力的用户(如 root 用户)才可以成功使用 bpf() syscall。如需更多信息,请参阅 bpf(2) 手册页。

载入的程序可附加到不同的点(套接字、追踪点、数据包)来接收和处理数据。

红帽提供的很多组件都使用 eBPF 虚拟机。每个组件处于不同的开发阶段,因此目前并不完全支持所有组件。所有组件都作为技术预览提供,除非有特定组件被显示为受支持。

以下显著的 eBPF 组件当前还作为技术预览提供:

  • bpftrace 是使用 eBPF 虚拟机的高级别追踪语言。
  • AF_XDP,这是用于连接至 用户空间的套接字(XDP) 路径,用于优先选择数据包处理性能的应用程序。

(BZ#1559616)

用于内核的 Intel 数据流加速器驱动程序作为技术预览提供

内核的 Intel 数据流加速器驱动程序(IDXD)目前作为技术预览提供。这是一个 Intel CPU 集成的加速器,支持带有进程地址空间 ID(pasid)提交和共享虚拟内存(SVM)的共享工作队列。

(BZ#1837187)

soft-RoCE 作为技术预览提供

通过融合以太网的远程直接内存访问(RDMA)是一个网络协议,其通过以太网实现 RDMA。soft-RoCE 是 RoCE 的软件实施,它支持两种协议版本:RoCE v1 和 RoCE v2。在 RHEL 8 中,Soft-RoCE 驱动程序 rdma_rxe 作为不受支持的技术预览提供。

(BZ#1605216)

stmmac 驱动程序作为技术预览提供

红帽将芯片(SoC)上 Intel® Elkhart Lake 系统的 stmmac 作为不受支持的技术预览提供。

(BZ#1905243)

8.4. 文件系统和存储

现在 ext4 和 XFS 作为技术预览提供文件系统 DAX

在 Red Hat Enterprise Linux 8 中,文件系统 DAX 作为技术预览提供。DAX 提供了将持久内存直接映射到其地址空间的方法。要使用 DAX,系统必须有某种可用的持久内存,通常使用一个或多个非线内存模块(NVDIMM),且必须在 NVDIMM 上创建支持 DAX 的文件系统。另外,该文件系统必须使用 dax 挂载选项挂载。然后,在 dax 挂载的文件系统中的一个文件 mmap 会把存储直接映射到应用程序的地址空间中。

(BZ#1627455)

OverlayFS

OverlayFS 是一种联合文件系统。它允许您在另一个文件系统上覆盖一个文件系统。更改记录在上面的文件系统中,而较小的文件系统则未修改。这允许多个用户共享文件系统镜像,如容器或 DVD-ROM,基础镜像使用只读介质。

在大多数情况下,OverlayFS 仍是一个技术预览。因此,当这个技术被激活时,内核会记录警告信息。

与支持的容器引擎(podmancri-obuildah)一同使用时,对 OverlayFS 提供的全面支持包括以下限制:

  • OverlayFS 仅支持作为容器引擎图形驱动程序或其他专用用例使用,如 squashed kdump initramfs。它主要用于容器 COW 内容,不支持持久性存储。您必须将任何持久性存储放在非OverlayFS 卷中。您只能使用默认容器引擎配置:一个级别的覆盖、一个较低 dir 以及较低级别和上一级都位于同一个文件系统中。
  • 目前只支持 XFS 作为较低层文件系统使用。

另外,以下规则和限制适用于使用 OverlayFS:

  • OverlayFS 内核 ABI 和用户空间的行为被视为不稳定,将来的更新可能会改变。
  • OverlayFS 提供一组受限的 POSIX 标准。在使用 OverlayFS 部署前,先测试您的应用程序。以下情况与 POSIX 不兼容:

    • O_RDONLY 打开的较低文件在读取文件时不会接收 st_atime 更新。
    • 使用 O_RDONLY 打开的较低文件,然后与 MAP_SHARED 映射与后续修改不一致。
    • RHEL 8 中不默认启用完全兼容 st_inod_ino 值,但您可以使用模块选项或挂载选项为它们启用完整的 POSIX 合规性。

      要获得一致的内节点编号,请使用 xino=on 挂载选项。

      您还可以使用 redirect_dir=onindex=on 选项提高 POSIX 合规性。这两个选项使上层的格式与没有这些选项的 overlay 不兼容。也就是说,如果您使用 redirect_dir=onindex=on 创建覆盖,卸载覆盖,然后在没有这些选项的情况下挂载覆盖,则可能会出现意外的结果或错误。

  • 要确定现有 XFS 文件系统是否有资格用作 overlay,请使用以下命令查看是否启用了 ftype=1 选项:

    # xfs_info /mount-point | grep ftype
  • 使用 OverlayFS 在所有支持的容器引擎中默认启用 SELinux 安全标签。
  • 本发行版本中与 OverlayFS 相关的几个已知问题。详情请查看 Linux 内核文档 中的 非标准行为

有关 OverlayFS 的更多信息,请参阅 Linux 内核文档

(BZ#1690207)

Stratis 现在作为技术预览提供

Stratis 是一个新的本地存储管理器。它在存储池的上面为用户提供额外的功能。

Stratis 可让您更轻松地执行存储任务,比如:

  • 管理快照和精简配置
  • 根据需要自动增大文件系统大小
  • 维护文件系统

要管理 Stratis 存储,使用 stratis 工具来与 stratisd 后台服务进行通信。

Stratis 作为技术预览提供。

如需更多信息,请参阅 Stratis 文档:设置 Stratis 文件系统

RHEL 8.3 将 Stratis 更新至 2.1.0 版本。如需更多信息,请参阅 Stratis 2.1.0 发行注记

(JIRA:RHELPLAN-1212)

在 IdM 域成员中设置 Samba 服务器作为技术预览提供

在这个版本中,您可以在 Identity Management(IdM)域成员中设置 Samba 服务器。由同名软件包提供的新 ipa-client-samba 程序为 IdM 添加了特定于 Samba 的 Kerberos 服务主体并准备 IdM 客户端。例如,实用程序使用 sss ID 映射后端的 ID 映射配置创建 /etc/samba/smb.conf。现在,管理员可以在 IdM 域成员中设置 Samba。

由于 IdM Trust Controller 不支持全局目录服务,AD-enrolled Windows 主机无法在 Windows 中找到 IdM 用户和组。另外,IdM Trust Controller 不支持使用分布式计算环境/远程过程调用(DCE/RPC)协议解析 IdM 组。因此,AD 用户只能访问 IdM 客户端的 Samba 共享和打印机。

详情请查看在 IdM 域成员中设置 Samba

(JIRA:RHELPLAN-13195)

NVMe/TCP 作为技术预览提供

通过 TCP/IP 网络(NVMe/TCP)访问和共享 Nonvolatile Memory Express(NVMe/TCP)存储及其对应的 nvme-tcp.konvmet-tcp.ko 内核模块已被添加为技术预览。

使用 nvme-clinvmetcli 软件包提供的工具可以管理 NVMe/TCP 作为存储客户端或目标。

NVMe/TCP 目标技术预览仅用于测试目的,目前没有计划提供全面支持。

(BZ#1696451)

8.5. 高可用性和集群

pacemaker podman bundles 作为技术预览

pacemaker 容器捆绑包现在在 Podman 上运行,容器捆绑包功能作为技术预览提供。此功能作为技术预览有一个例外:红帽完全支持将 Pacemaker 捆绑包用于红帽 Openstack。

(BZ#1619620)

作为技术预览的 corosync-qdevice 中的 Heuristics

Heuristics是一组在启动、集群成员资格更改、成功连接到 corosync-qnetd 时本地执行的命令,以及可选的定期执行的命令。当所有命令及时成功完成(返回的错误代码为零),代表 heuristics 通过,否则代表失败。Heuristics 结果发送到 corosync-qnetd,在计算中用来决定哪个分区应该是 quorate。

(BZ#1784200)

新的 fence-agents-heuristics-ping 保护代理

作为技术预览,Pacemaker 现在支持 fence_heuristics_ping 代理。这个代理旨在打开一组实验性保护代理,它们本身没有实际隔离,而是以新的方式利用隔离级别。

如果 heuristics 代理的配置与用于实现实际隔离代理有相同的隔离级别,但在代理之前配置,隔离会在试图进行隔离前,在 heuristics 代理上发出一个 off 操作。如果 heuristics 代理给出了 off 操作的一个负结果,则代表隔离不成功,从而导致 Pacemaker 隔离跳过对实现隔离的代理发出 off 动作的步骤。heuristics 代理可以利用这个行为来防止实际上进行隔离的代理在特定情况下隔离节点。

用户可能希望使用这个代理,特别是在双节点集群中,如果节点可以预先知道无法正确接管该服务,则节点可以隔离这个代理。例如,如果节点在网络连接链接出现问题,使服务无法访问客户端,则节点接管服务可能不真实。在这种情况下,向路由器的 ping 可能会探测到这个情况。

(BZ#1775847)

在资源移动后自动删除位置约束作为技术预览提供

执行 pcs resource move 命令时,这会向资源添加一个约束,以防止其在当前运行的节点上运行。pcs resource move 命令的新 --autodelete 选项现已作为技术预览提供。当您指定这个选项时,命令创建的位置约束会在资源移动后自动删除。

(BZ#1847102)

8.6. 身份管理

身份管理 JSON-RPC API 作为技术预览

一个 API 可用于 Identity Management(IdM)。要查看 API,IdM 还提供了一个 API 浏览器作为技术预览。

在以前的版本中,IdM API 被改进来启用多个 API 命令版本。这些增强可能会以不兼容的方式改变命令的行为。用户现在可以继续使用已有的工具和脚本,即使 IdM API 发生了变化。这可启用:

  • 管理员要在服务器中使用之前或更高版本的 IdM,而不是在管理客户端中使用。
  • 开发人员可以使用 IdM 调用的特定版本,即使 IdM 版本在服务器上发生了变化。

在所有情况下,与服务器进行通信是可能的,无论是否一方使用,例如,一个新的版本会为这个功能引进新的选项。

有关使用 API 的详细信息,请参阅使用身份管理 API 与 IdM 服务器通信(TECHNOLOGY PREVIEW)

(BZ#1664719)

DNSSEC 在 IdM 中作为技术预览提供

带有集成 DNS 的身份管理(IdM)服务器现在支持 DNS 安全扩展(DNSSEC),这是一组增强 DNS 协议安全性的 DNS 扩展。托管在 IdM 服务器上的 DNS 区可以使用 DNSSEC 自动签名。加密密钥是自动生成和轮转的。

建议那些决定使用 DNSSEC 保护 DNS 区的用户读取并遵循这些文档:

请注意,集成了 DNSSEC 的 IdM 服务器验证从其他 DNS 服务器获取的 DNS 答案。这可能会影响未按照推荐的命名方法配置的 DNS 区域可用性。

(BZ#1664718)

ACME 作为技术预览提供

自动证书管理环境(ACME)服务现在作为技术预览在 Identity Management(IdM)中提供。ACME 是一个用于自动标识符验证和证书颁发的协议。它的目标是通过缩短证书生命周期并避免证书生命周期管理中的手动过程来提高安全性。

在 RHEL 中,ACME 服务使用红帽认证系统(RHCS)PKI ACME 响应程序。RHCS ACME 子系统自动部署到 IdM 部署中的每个证书颁发机构(CA)服务器上,但只有管理员启用它之后,它才会为请求提供服务。RHCS 在发布 ACME 证书时使用 acmeIPAServerCert 配置文件。签发的证书的有效期为 90 天。启用或禁用 ACME 服务会影响整个 IdM 部署。

重要

建议仅在所有服务器都运行 RHEL 8.4 或以上版本的 IdM 部署中启用 ACME。早期的 RHEL 版本不包括 ACME 服务,这可能会在混合版本部署中引起问题。例如,没有 ACME 的 CA 服务器可能会导致客户端连接失败,因为它使用不同的 DNS Subject Alternative Name(SAN)。

警告

目前,RHCS 不会删除过期的证书。由于 ACME 证书在 90 天后过期,因此过期的证书可能会累积,这会影响性能。

  • 要在整个 IdM 部署中启用 ACME,请使用 ipa-acme-manage enable 命令:

    # ipa-acme-manage enable
    The ipa-acme-manage command was successful
  • 要在整个 IdM 部署中禁用 ACME,请使用 ipa-acme-manage disable 命令:

    # ipa-acme-manage disable
    The ipa-acme-manage command was successful
  • 要检查是否安装了 ACME 服务,以及它是否启用或禁用了,请使用 ipa-acme-manage status 命令:

    # ipa-acme-manage status
    ACME is enabled
    The ipa-acme-manage command was successful

(JIRA:RHELPLAN-58596)

8.7. Desktop

GNOME 用于 64 位 ARM 架构,作为一个技术预览

GNOME 桌面环境现在可作为技术预览用于 64 位 ARM 架构。这可让管理员使用 VNC 会话从图形用户界面(GUI)远程配置和管理服务器。

因此,在 64 位 ARM 架构中提供了新的管理应用程序。例如:Disk Usage Analyzer (baobab), 防火墙配置 (firewall-config), Red Hat Subscription Manager (subscription-manager),或 Firefox web 浏览器。使用 Firefox,管理员可以远程地连接到本地 Cockpit 守护进程。

(JIRA:RHELPLAN-27394, BZ#1667225, BZ#1667516, BZ#1724302

IBM Z 上的 GNOME 桌面作为技术预览提供

GNOME 桌面,包括 Firefox 网页浏览器,现在在 IBM Z 构架中作为技术预览提供。现在,您可以使用 VNC 连接到运行 GNOME 的远程图形会话来配置和管理您的 IBM Z 服务器。

(JIRA:RHELPLAN-27737)

8.8. 图形基础结构

VNC 远程控制台作为 64 位 ARM 架构的一个技术预览提供

在 64 位 ARM 架构中,虚拟网络计算(VNC)远程控制台可作为技术预览使用。请注意,在 64 位 ARM 架构中,目前图形堆栈的其它部分没有被验证。

(BZ#1698565)

8.9. Red Hat Enterprise Linux 系统角色

HA 集群 RHEL 系统角色作为技术预览提供

High Availability Cluster(HA Cluster)角色现在作为技术预览提供。目前,有以下显著配置可用:

  • 配置节点、隔离设备、资源、资源组和资源克隆,包括 meta 属性和资源操作
  • 配置集群属性
  • 配置多链接集群
  • 配置自定义集群名称和节点名称
  • 配置集群在引导时是否自动启动
  • 配置基本 corosync 集群和 pacemaker 集群属性、stonith 和资源。

ha_cluster 系统角色目前不支持限制。在手动配置限制后运行角色将删除约束,以及角色不支持的任何配置。

ha_cluster 系统角色目前不支持 SBD。

(BZ#1893743, BZ#1978726)

8.10. 虚拟化

用于 KVM 虚拟机的 AMD SEV 和 SEV-ES

作为技术预览,RHEL 8 为使用 KVM 虚拟机的 AMD EPYC 主机提供安全加密虚拟化(SEV)功能。如果在虚拟机(VM)上启用,SEV 会加密虚拟机的内存来保护虚拟机被主机访问。这提高了虚拟机的安全性。

另外,增强的 Encrypted State 版本 SEV-ES)也作为技术预览提供。SEV-ES 在虚拟机停止运行时加密所有 CPU 注册内容。这可防止主机修改虚拟机的 CPU 注册或读取它们中的任何信息。

请注意,SEV 和 SEV-ES 仅适用于第 2 代 AMD EPYC CPU(代号 Rome)或更新版本。另请注意,RHEL 8 包括 SEV 和 SEV-ES 加密,但不包括 SEV 和 SEV-ES 安全认证。

(BZ#1501618, BZ#1501607, JIRA:RHELPLAN-7677)

Intel vGPU

作为技术预览,现在可以将物理 Intel GPU 设备划分为多个虚拟设备(称为 mediated devices)。然后可将这些 mediated devices 分配给多个虚拟机(VM)作为虚拟 GPU。因此,这些虚拟机共享单个物理 Intel GPU 的性能。

请注意,只有所选 Intel GPU 与 vGPU 功能兼容。

另外,也可以启用由 Intel vGPU 操作的 VNC 控制台。通过启用它,用户可以连接到虚拟机的 VNC 控制台,并查看由 Intel vGPU 托管的虚拟机桌面。但是,目前这仅适用于 RHEL 客户机操作系统。

(BZ#1528684)

创建嵌套虚拟机

对于在 Intel、AMD64 和使用 RHEL 8 的 IBM Z 系统主机上运行的 KVM 虚拟机,嵌套的 KVM 虚拟化是作为技术预览提供的。使用此功能,在物理 RHEL 8 主机上运行的 RHEL 7 或 RHEL 8 虚拟机可作为虚拟机监控程序,并托管自己的虚拟机。

(JIRA:RHELPLAN-14047、JIRA:RHELPLAN-24437)

选择 Intel 网络适配器现在支持 Hyper-V 的 RHEL 客户端中的 SR-IOV

作为技术预览,在 Hyper-V hypervisor 中运行的 Red Hat Enterprise Linux 客户机操作系统现在可以为 ixgbevfiavf 驱动程序支持的 Intel 网络适配器使用单根 I/O 虚拟化(SR-IOV)功能。此功能在满足以下条件时启用:

  • 对网络接口控制器(NIC)启用了 SR-IOV 支持
  • 对虚拟 NIC 启用了 SR-IOV 支持
  • 对虚拟交换机启用 SR-IOV 支持
  • NIC 中的虚拟功能(VF)附加到虚拟机

目前,Microsoft Windows Server 2019 和 2016 支持该功能。

(BZ#1348508)

ESXi hypervisor 和 SEV-ES 作为 RHEL 虚拟机的一个技术预览提供

作为技术预览,在 RHEL 8.4 及之后的版本中,您可以在 VMware 的 ESXi hypervisor、7.0.2 及更新的版本上启用 AMD Secure Encrypted Virtualization-Encrypted State(SEV-ES)以防止 RHEL 虚拟机(VM)。

(BZ#1904496)

使用 virtiofs 在主机和虚拟机之间共享文件

作为技术预览,RHEL 8 现在提供 virtio 文件系统(virtiofs)。使用 virtiofs,您可以在主机系统及其虚拟机(VM)之间高效地共享文件。

(BZ#1741615)

KVM 虚拟化可用于 RHEL 8 Hyper-V 虚拟机

作为技术预览,现在可将嵌套的 KVM 虚拟化用于 Microsoft Hyper-V hypervisor。因此,您可以在运行在 Hyper-V 主机的 RHEL 8 虚拟机中创建虚拟机。

请注意,目前这个功能仅适用于 Intel 和 AMD 系统。另外,在一些情况下,Hyper-V 中不默认启用嵌套虚拟化。要启用它,请参阅以下文档:

https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization

(BZ#1519039)

8.11. 容器

Toolbox 作为技术预览提供

在以前的版本中,Toolbox 工具是基于 RHEL CoreOS github.com/coreos/toolbox 的。有了这个版本,Toolbox 已被 github.com/containers/toolbox 替换。

(JIRA:RHELPLAN-77238)

podman-machine 命令不受支持

用于管理虚拟机的 podman-machine 命令仅作为技术预览提供。相反,请从命令行直接运行 Podman。

(JIRA:RHELDOCS-16861)

第 9 章 过时的功能

这部分提供在 Red Hat Enterprise Linux 8 中弃用 的功能概述。

弃用的功能可能在以后的主要发行本中不被支持,因此不建议在新的部署中使用。有关特定主要发行本中已弃用功能的最新列表,请参考最新版本的发行文档。

在 Red Hat Enterprise Linux 8 中,已弃用的功能的支持状态保持不变。有关支持长度的详情,请查看 Red Hat Enterprise Linux 生命周期Red Hat Enterprise Linux 应用程序流生命周期

对于当前或将来的主发行版本中的新部署,我们不推荐使用已弃用的硬件组件。硬件驱动程序更新仅限于安全和关键修复。红帽建议尽快替换这个硬件。

一个软件包可以被弃用,我们不推荐在以后使用。在某些情况下,软件包可从产品中删除。然后,产品文档可识别提供类似、完全相同或者更高级功能的最新软件包,并提供进一步建议。

有关 RHEL 7 中存在,但已从 RHEL 8 中删除的功能信息,请参阅 使用 RHEL 8 的注意事项

9.1. 安装程序和镜像创建

弃用了一些 Kickstart 命令和选项

在 RHEL 8 Kickstart 文件中使用以下命令和选项将会在日志中打印警告信息:

  • authauthconfig
  • device
  • deviceprobe
  • dmraid
  • install
  • lilo
  • lilocheck
  • mouse
  • multipath
  • bootloader --upgrade
  • ignoredisk --interactive
  • partition --active
  • reboot --kexec

如果只列出具体选项,则基础命令及其它选项仍可用且没有弃用。

有关 Kickstart 中的详情和相关更改,请参阅使用 RHEL 8 的参考事项文档中的 Kickstart 更改部分。

(BZ#1642765)

ignoredisk Kickstart 命令的 --interactive 选项已被弃用

在以后的 Red Hat Enterprise Linux 版本中使用 --interactive 选项会导致严重安装错误。建议您修改 Kickstart 文件删除该选项。

(BZ#1637872)

Kickstart autostep 命令已弃用

autostep 命令已弃用。有关这个命令的相关部分已从 RHEL 8 文档中删除。

(BZ#1904251)

Image Builder 的 lorax-composer 后端在 RHEL 8 中已弃用

Image Builder 的 lorax-composer 后端被视为已弃用。它只会为 Red Hat Enterprise Linux 8 生命周期的剩余部分接收所选的修复,并将在以后的主发行版本中被忽略。  红帽建议您卸载 lorax-composer ,而安装 osbuild-composer 后端。

如需了解更多详细信息,请参阅生成自定义的 RHEL 系统镜像

(BZ#1893767)

9.2. 软件管理

rpmbuild --sign 已弃用

在这个版本中,rpmbuild --sign 命令已过时。在以后的 Red Hat Enterprise Linux 版本中使用这个命令可能会导致错误。建议您使用 rpmsign 命令替代。

(BZ#1688849)

9.3. Shell 和命令行工具

OpenEXR 组件已弃用

OpenEXR 组件已弃用。因此,对 EXR 镜像格式的支持已从 imagecodecs 模块中去掉了。

(BZ#1886310)

dump 软件包中的 dump 工具已弃用

用于文件系统备份的 dump 工具已弃用,在 RHEL 9 中将不再提供。

在 RHEL 9 中,红帽建议根据使用类型使用 baculatardd 备份工具,这对 ext2、ext3 和 ext4 文件系统提供了完整和安全的备份。

请注意,dump 软件包中的 restore 工具仍可用,在 RHEL 9 中也被支持,并作为 restore 软件包提供。

(BZ#1997366)

RHEL 8 systemd 不再支持 hidepid=n 挂载选项

挂载选项 hidepid=n,其控制谁可以访问 /proc/[pid] 目录中的信息,与 RHEL 8 提供的 systemd 基础架构不兼容。

另外,使用这个选项可能会导致 systemd 启动的某些服务生成 SELinux AVC 拒绝信息,并阻止其他操作完成。

如需更多信息,请参阅相关的 使用 RHEL7 和 RHEL8 推荐的"hidepid=2"挂载 /proc ?

(BZ#2038929)

9.4. 安全性

NSS SEED 密码已弃用

Mozilla Network Security Services (NSS) 库将不支持在以后的版本中使用 SEED 密码的 TLS 密码组合。为确保在 NSS 取消支持时依赖 SEED 密码的部署平稳过渡,红帽推荐对其它密码套件的支持。

请注意,在 RHEL 中,SEED 密码已经被默认禁用。

(BZ#1817533)

TLS 1.0 和 TLS 1.1 已弃用

TLS 1.0 和 TLS 1.1 协议在 DEFAULT 系统范围的加密策略级别被禁用。如果需要使用启用的协议,如 Firefox 网页浏览器中的视频检查程序,把系统范围的加密策略切换到 LEGACY 级别:

# update-crypto-policies --set LEGACY

如需更多信息,请参阅红帽客户门户网站中的 RHEL 8 中的 强加密默认值和弱加密算法 知识库中的文章以及 update-crypto-policies(8)手册页。

(BZ#1660839)

在 RHEL 8 中弃用 DSA

数字签名算法(DSA)在 Red Hat Enterprise Linux 8 中被视为已弃用。依赖于 DSA 密钥的身份验证机制在默认配置中不起作用。请注意,即使使用系统范围的 LEGACY 加密策略级别中,OpenSSH 客户端都不接受 DSA 主机密钥。

(BZ#1646541)

NSS中弃用了SSL2 Client Hello

传输层安全(TLS)协议版本 1.2 及更早版本允许以向后兼容安全套接字层(SSL)协议版本 2 的方式与 客户端 Hello 消息进行协商。网络安全服务(NSS)库中对这个功能的支持已被弃用,默认是禁用的。

需要这个功能支持的应用程序需要使用新的 SSL_ENABLE_V2_compatible_HELLO API 启用它。以后的 Red Hat Enterprise Linux 8 版本中可以完全删除对这个功能的支持。

(BZ#1645153)

TPM 1.2 已被弃用

Trusted Platform Module (TPM) 安全加密处理器标准版本在 2016 年更新至 2.0 版本。TPM 2.0 比 TPM 1.2 提供了很多改进,它和之前的版本不向后兼容。在 RHEL 8 中弃用了 TPM 1.2,它可能会在下一个主发行版本中删除。

(BZ#1657927)

crypto-policies 派生的属性现已被弃用

随着自定义策略中 crypto-policies 指令作用域的引入,以下派生属性已被弃用: tls_cipherssh_cipherssh_groupike_protocolsha1_in_dnssec。另外,使用 protocol 属性而不指定范围现也已被弃用。有关推荐的替代品,请参阅 crypto-policies(7) 手册页。

(BZ#2011208)

使用 /etc/selinux/config 运行时禁用 SELinux 现已弃用

使用 /etc/selinux/config 文件中的 SELINUX=disabled 选项禁用 SELinux 已被弃用。在 RHEL 9 中,当您只通过 /etc/selinux/config 禁用 SELinux 时,系统启动时会启用SELinux ,但没有载入任何策略。

如果您的情况确实需要完全禁用 SELinux,红帽建议通过在内核命令行中添加 selinux=0 参数来禁用 SELinux,如在标题为使用SELinux在引导时更改 SELinux模式部分中所述。

BZ#1932222

ipa SELinux 模块从 selinux-policy中删除了

ipa SELinux 模块已从 selinux-policy 软件包中删除,因为不再维护它了。这个功能现在包括在 ipa-selinux 子软件包中。

如果您的场景需要在本地 SELinux 策略中使用 ipa 模块的类型或接口,请安装 ipa-selinux 软件包。

(BZ#1461914)

9.5. 网络

在 RHEL 8 中已弃用网络脚本

网络脚本在 Red Hat Enterprise Linux 8 中已弃用,且不再默认提供。基本安装提供了 ifupifdown 脚本的新版本,它们通过 nmcli 工具调用 NetworkManager 服务。在 Red Hat Enterprise Linux 8 中,要运行 ifupifdown 脚本,NetworkManager 必须正在运行。

请注意, /sbin/ifup-localifdown-pre-localifdown-local 脚本中的自定义命令不会执行。

如果需要这些脚本,您仍可以使用以下命令在系统中安装已弃用的网络脚本:

~]# yum install network-scripts

ifupifdown 脚本链接到已安装的旧网络脚本。

调用旧的网络脚本会显示一个关于它们已过时的警告。

(BZ#1647725)

dropwatch 工具已弃用

dropwatch 工具已弃用。以后的发行版本中不再支持该工具,因此不建议在新部署中使用它。作为此软件包的替代品,红帽建议使用 perf 命令行工具。

有关使用 perf 命令行工具的更多信息,请参阅红帽客户门户网站的 Perf入门 部分或 perf手册页。

(BZ#1929173)

cgdcbxd 软件包已被弃用

控制组数据中心桥接交换守护进程(cgdcbxd)是监控数据中心桥接(DCB)netlink 事件和管理 net_prio 控制组子系统的服务。从 RHEL 8.5 开始,cgdcbxd 软件包被弃用,并将在下一个主要 RHEL 发行版本中删除。

(BZ#2006665)

xinetd 服务已弃用

xinetd 服务已弃用,并将在 RHEL 9 中删除。作为替换,请使用 systemd。详情请查看 如何将 xinetd 服务转换为 systemd

(BZ#2009113)

nmstate API 中弃用了术语 slave

红帽承诺使用适当的语言。有关此计划的详细信息,请参阅 使开源更包括。因此,在 Nmstate API 中弃用了 slaves 术语。使用 nmstatectl 时使用术语 port

(JIRA:RHELDOCS-17641)

9.6. 内核

内核实时补丁现在涵盖所有 RHEL 次要版本

从 RHEL 8.1 开始,已为延长更新支持(EUS)策略涵盖的所选定的 RHEL 次版本提供了内核实时补丁,以修复级别为关键(Critical)和重要(Important)的通用漏洞披露(CVE)。为了容纳最大数量的并发覆盖的内核和用例,对于每个内核的次要版本、主版本和 zStream 版本,每个实时补丁的支持窗口将从 12 个月减少到 6 个月。这意味着,在内核实时补丁发布的那天,它将覆盖过去 6 个月所交付的每个次要版本和计划勘误表内核。例如: 8.4.x 将有一个为期一年的支持窗口,但 8.4.x+1 将只有 6 个月。

有关此功能的更多信息,请参阅 使用内核实时修补应用补丁

有关可用的内核实时补丁的详情,请查看 内核实时补丁生命周期

(BZ#1958250)

使用无磁盘引导为 Real Time 8 安装 RHEL 现已弃用

无磁盘引导允许多个系统通过网络共享一个 root 文件系统。无盘引导是方便的,它在实时工作负载中容易引入网络延迟。在以后的 RHEL for Real Time 8 的更新中,无盘引导功能将不再被支持。

(BZ#1748980)

Linux firewire 子系统及其关联的用户空间组件在 RHEL 8 中已弃用

firewire 子系统提供了接口来使用和维护 IEEE 1394 总线上的任何资源。在 RHEL 9 中,内核 软件包将不再支持 firewire 。请注意,firewire 包含几个由 libavc1394libdc1394libraw1394 软件包提供的用户空间组件。这些软件包也会被弃用。

(BZ#1871863)

rdma_rxe Soft-RoCE 驱动程序已被弃用

软件直接内存通过融合以太网(Soft-RoCE)(也称为 RXE)是模拟远程直接内存访问(RDMA)的功能。在 RHEL 8 中,Soft-RoCE 功能作为一个不受支持的技术预览提供。但是,由于稳定性问题,此功能已被弃用,并将在 RHEL 9 中删除。

(BZ#1878207)

9.7. 文件系统和存储

除了 async 以外的 VDO 写模式都被弃用了

VDO 支持 RHEL 8 中的几种写入模式:

  • sync
  • async
  • async-unsafe
  • auto

从 RHEL 8.4 开始,以下写入模式已弃用:

sync
VDO 层之上的设备无法识别 VDO 是否同步,因此设备无法利用 VDO 同步 模式。
async-unsafe
VDO 添加了这个写入模式来作为降低 async 模式性能的一个临时解决方案,异步模式符合原子性、一致性、隔离性和持久性(ACID)。对于大多数用例,红帽不推荐使用 async-unsafe,也不知道任何依赖它的用户。
auto
这个写入模式只选择其它写入模式之一。当 VDO 只支持单个写入模式时,不再需要它。

这些写入模式将在以后的主 RHEL 发行版本中删除。

推荐的 VDO 写入模式现在是 async的。

如需有关 VDO 写入模式的更多信息,请参阅选择 VDO 写入模式

(JIRA:RHELPLAN-70700)

禁用了 NFSv3 over UDP

默认情况下,NFS 服务器不再默认在 User Datagram Protocol(UDP)套接字上打开或监听。这个变化只影响 NFS 版本 3,因为版本 4 需要传输控制协议(TCP)。

RHEL 8 不再支持通过 UDP 的 NFS。

(BZ#1592011)

cramfs 已被弃用

由于缺少用户,cramfs 内核模块已被弃用。建议使用 squashfs 作为替代解决方案。

(BZ#1794513)

VDO 管理器已被弃用

基于 python 的 VDO 管理软件已被弃用,并将从 RHEL 9 中删除。在 RHEL 9 中,它将被 LVM-VDO 集成替代。因此,建议您使用 lvcreate 命令创建 VDO 卷。

使用 VDO 管理软件创建的现有卷可以使用 lvm2 软件包提供的 /usr/sbin/lvm_import_vdo 脚本来进行转换。有关 LVM-VDO 实现的更多信息,请参阅 LVM 中的 VDO 简介

(BZ#1949163)

elevator 内核命令行参数已弃用

在之前的 RHEL 版本中使用 elevator 内核命令行参数为所有设备设置磁盘调度程序。在 RHEL 8 中,该参数已弃用。

上游 Linux 内核删除了对 elevator 参数的支持,但出于兼容性的原因,在 RHEL 8 中仍提供此支持。

请注意,内核会根据设备类型选择默认磁盘调度程序。这通常是最佳设置。如果您需要不同的调度程序,红帽建议您使用 udev 规则或 Tuned 服务来配置它。匹配所选设备并只为那些设备切换调度程序。

如需更多信息,请参阅设置磁盘调度程序

(BZ#1665295)

LVM mirror 已弃用

LVM mirror segment 类型已弃用。以后的 RHEL 主发行版本中会删除对 mirror 的支持。

红帽建议使用 segment 类型为 raid1 的 LVM RAID 1 设备来替代 mirrorraid1 segment 类型是默认的 RAID 配置类型,它作为推荐的解决方案替换 mirror

要将 mirror 设备转换为 raid1,请参阅 将镜像 LVM 设备转换为 RAID1 逻辑卷

LVM mirror 有几个已知问题。详情请查看 文件系统和存储中的已知问题

(BZ#1827628)

peripety 已被弃用

从 RHEL 8.3 开始,pipety 软件包已弃用。

Peripety 存储事件通知守护进程将系统存储日志解析为结构化的存储事件。它帮助您调查存储问题。

(BZ#1871953)

9.8. 高可用性和集群

支持 clufter 工具的 pcs 命令已被弃用

支持 clufter 工具来分析群集配置格式的 pcs 命令已被弃用。现在,这些命令会显示一个警告信息,提示该命令已弃用,并且与这些命令相关的部分已从 pcs 帮助显示和pcs(8)手册页中删除。

以下命令已被弃用:

  • 用于导入 CMAN / RHEL6 HA 群集配置的 pcs config import-cman
  • pcs config export 用于将集群配置导出到可重新创建同一集群的 pcs 命令列表中

(BZ#1851335)

9.9. 编译器和开发工具

libdwarf 已弃用

libdwarf 库在 RHEL 8 中已弃用。将来的主版本中可能也不支持该程序库。对于打算处理 ELF/DWARF 文件的应用程序,请使用 elfutilslibdw 库。

libdwarf-tools dwarfdump 程序的替代方案是 binutils readelf 程序或elfutilseu-readelf 程序,它们都通过传递 --debug-dump 标志来使用。

(BZ#1920624)

gdb.i686 软件包已弃用

在 RHEL 8.1 中,GNU Debugger(GDB)gdb.i686 的 32 位版本因为另一个软件包中的依赖问题而提供。因为 RHEL 8 不支持 32 位硬件,所以 gdb.i686 软件包从 RHEL 8.4 开始已弃用。GDB的64 位版本gdb.x86_64完全能够调试 32 位应用程序。

如果使用 gdb.i686,请注意以下重要问题:

  • gdb.i686 软件包将不再更新。用户必须安装 gdb.x86_64
  • 如果您安装了 gdb.i686,安装 gdb.x86_64 将导致 dnf 报告 package gdb-8.2-14.el8.x86_64 obsoletes gdb < 8.2-14.el8 provided by gdb-8.2-12.el8.i686。这是预期的。卸载 gdb.i686 或向dnf传递 --allowerasing选项来删除gdb.i686, 并安装 gdb.x8_64
  • 用户将不能够在 64 位系统中安装 gdb.i686 软件包,也就是那些带有 libc.so.6()64 位) 软件包的系统。

(BZ#1853140)

9.10. 身份管理

openssh-ldap 已被弃用

在 Red Hat Enterprise Linux 8 中弃用 openssh-ldap 子软件包,并将在 RHEL 9 中删除。因为 openssh-ldap 子软件包没有被上游维护,红帽建议您使用 SSSD 和 sss_ssh_authorizedkeys 帮助程序,它们与其他 IdM 解决方案更好地集成且更安全。

默认情况下,SSSD ldapipa 供应商会读取用户对象的 sshPublicKey LDAP 属性(如果可用)。请注意,您无法为 ad provider 或 IdM 可信域使用默认的 SSSD 配置从 Active Directory(AD)检索 SSH 公钥,因为 AD 没有存储公钥的默认 LDAP 属性。

要允许 sss_ssh_authorizedkeys 帮助程序从 SSSD 获取密钥,在 sssd.conf 文件的 services 选项中添加 ssh 来启用 ssh 响应程序。详情请查看 sssd.conf(5) 手册页。

要允许 sshd 使用 sss_ssh_authorizedkeys,,添加 AuthorizedKeysCommand/usr/bin/sss_ssh_authorizedkeysAuthorizedKeysCommandUser nobody 选项到 /etc/ssh/sshd_config 文件,如 ss_ssh_authorizedkeys(1) 手册页所述。

(BZ#1871025)

已经删除了 DES 和 3DES 加密类型

由于安全考虑,自 RHEL 7 开始,数据加密标准(DES)算法已被弃用并默认禁用。通过最近重新构建 Kerberos 软件包,已从 RHEL 8 中删除了 single-DES(DES)和 triple-DES(3DES) 加密类型。

如果您已经将服务或用户配置为只使用 DES 或 3DES 加密,您可能会遇到服务中断,例如:

  • Kerberos authentication 错误
  • unknown enctype 加密错误
  • 带有 DES 加密数据库主密钥(K/M)的 KDC 无法启动

执行以下操作准备升级:

  1. 检查您的 KDC 是否使用 DES 或者 3DES 加密,并使用 krb5check 打开源 Python 脚本。请参阅 GitHub 上的 krb5check
  2. 如果您要将 DES 或 3DES 加密用于任何 Kerberos 主体,请使用支持的加密类型重新加密,比如高级加密标准(AES)。有关重新打包的步骤,请参考 MIT Kerberos 文档中的 Retiring DES
  3. 通过在升级前临时设置以下 Kerberos 选项,从 DES 和 3DES 测试测试:

    1. 在 KDC 上的 /var/kerberos/krb5kdc/kdc.conf 中设置 support_enctypes 且不包含 desdes3
    2. 对于每个主机,在 /etc/krb5.conf 以及 /etc/krb5.conf.d 中的任意文件,将 allow_weak_crypto 设为 false。默认为 false。
    3. 对于每个主机,在 /etc/krb5.conf 以及 /etc/krb5.conf.d 中的任何文件中,设置 permitted_enctypesdefault_tgs_enctypesdefault_tkt_enctypes,但不包括 desdes3
  4. 如果您没有遇到上一步中测试 Kerberos 设置的服务中断,请删除并升级它们。升级到最新的 Kerberos 软件包后您不需要这些设置。

(BZ#1877991)

单独使用 ctdb 服务已弃用

从 RHEL 8.4 开始,建议客户仅在满足以下条件时使用 ctdb 集群 Samba 服务:

  • ctdb 服务通过资源代理ctdb作为 pacemaker 资源进行管理。
  • ctdb 服务使用包含由红帽 Gluster 存储产品提供的 GlusterFS 文件系统或 GFS2 文件系统的存储卷。

ctdb 服务的独立用例已被弃用,其不会包含在 Red Hat Enterprise Linux 的下一个主版本中。有关 Samba 支持政策的更多信息,请参阅 RHEL Resilient Storage - ctdb 常规政策的支持政策

(BZ#1916296)

通过 WinSync 与 IdM 的间接 AD 集成已弃用

由于一些功能的限制,不会在 RHEL 8 中对 WinSync 进行积极的开发:

  • WinSync 只支持一个活动目录(AD)域。
  • 密码同步需要在 AD 域控制器上安装额外的软件。

对于具有更好的资源和安全分离的更健壮的解决方案,红帽建议对于与活动目录的间接集成使用 跨林信任 。请参阅 间接集成 文档。

(JIRA:RHELPLAN-100400)

以 PDC 或 BDC 的形式运行 Samba 已被弃用

传统的域控制器模式使管理员能够作为类似 NT4 的主域控制器(PDC)和备份域控制器(BDC)运行 Samba。用于配置这些模式的代码和设置将在以后的 Samba 发行版本中删除。

只要 RHEL 8 中的 Samba 版本提供 PDC 和 BDC 模式,红帽就仅在带有支持 NT4 域的 Windows 版本的现有安装中支持这些模式。红帽建议不要设置新的 Samba NT4 域,因为 Microsoft 操作系统稍后于 Windows 7 和 Windows Server 2008 R2 不支持 NT4 域。

如果您使用 PDC 仅验证 Linux 用户,红帽建议迁移到 RHEL 订阅中包含的 Red Hat Identity Management(IdM)。但是,您无法将 Windows 系统加入到 IdM 域中。请注意,红帽继续支持在后台使用 PDC 功能 IdM。

红帽不支持将 Samba 作为 AD 域控制器(DC)运行。

BZ#1926114

libwbclient 的 SSSD 版本已被删除

libwbclient 软件包的 SSSD 实现在 RHEL 8.4 中已被弃用。因为无法与 Samba 的最新版本一起使用, libwbclient 的 SSSD 实现现已被删除。

(BZ#1947671)

SMB1 协议在 Samba 中已弃用

从 Samba 4.11 开始,不安全的服务器消息块版本 1 (SMB1)协议已弃用,并将在以后的发行版本中删除。

为提高安全性,在 Samba 服务器和客户端工具中默认禁用 SMB1。

Jira:RHELDOCS-16612

9.11. Desktop

libgnome-keyring 库已弃用

libgnome-keyring 库已弃用,现在使用 libsecret 库,因为 libgnome-keyring 没有被上游维护,且不会遵循 RHEL 所需的加密策略。新的 libsecret 库是符合所需安全标准的替换。

(BZ#1607766)

9.12. 图形基础结构

不再支持 AGP 图形卡

Red Hat Enterprise Linux 8 不支持使用图形端口(AGP)总线的图形卡。推荐使用 PCI-Express bus 图形卡替换。

(BZ#1569610)

Motif 已被弃用

Motif 小部件工具包现已弃用。上游 Motif 社区的开发不活跃。

以下 Motif 软件包已被弃用,包括其开发和调试变体:

  • motif
  • motif-static
  • openmotif
  • openmotif21
  • openmotif22

红帽建议使用 GTK 工具包作为替代品。与 Motif 相比,GTK更易于维护,并提供了新功能。

(JIRA:RHELPLAN-98983)

9.13. Web 控制台

Web 控制台不再支持不完整翻译

RHEL web 控制台不再提供翻译少于 50% 的语言支持。如果浏览器要求转换成这种语言,用户界面将为英语。

(BZ#1666722)

9.14. Red Hat Enterprise Linux 系统角色

geoipupdate 软件包已弃用

geoipupdate 软件包需要第三方订阅,同时下载专有内容。因此,geoipupdate 软件包已被弃用,并将在下一个主要 RHEL 版本中删除。

(BZ#1874892)

9.15. 虚拟化

virsh iface-* 命令已被弃用

virsh iface-* 命令(如 virsh iface-startvirsh iface-destroy )现已被弃用,并将在以后的 RHEL 主版本中删除。另外,这些命令会因为配置依赖而经常失败。

因此,建议您不要使用 virsh iface-* 命令来配置和管理主机网络连接。反之,使用 NetworkManager 程序及其相关的管理应用程序,如 nmcli

(BZ#1664592)

virt-manager 已被弃用

虚拟机管理器(也称 virt-manager) 已弃用。RHEL web 控制台(也称为 Cockpit )旨在在以后的版本中成为其替代品。因此,建议您使用 web 控制台使用 GUI 管理虚拟化。但请注意,在 RHEL web 控制台中,virt-manager 中的一些功能可能还不可用。

(JIRA:RHELPLAN-10304)

RHEL 8 不支持虚拟机快照

当前创建虚拟机(VM)快照的机制已经被弃用,因为它无法可靠工作。因此,建议在 RHEL 8 中使用虚拟机快照。

(BZ#1686057)

Cirrus VGA 虚拟 GPU 类型已弃用

随着 Red Hat Enterprise Linux 的主要更新,Cirrus VGA GPU 设备将在 KVM 虚拟机中不再被支持。因此,红帽建议使用 stdvgavirtio-vgaqxl 设备,而不是 Cirrus VGA

(BZ#1651994)

IBM POWER 上的 KVM 已被弃用

在 IBM POWER 硬件中使用 KVM 虚拟化已被弃用。因此,RHEL 8 仍支持 IBM POWER 上的 KVM,但在以后的 RHEL 主发行版本中将不被支持。

(JIRA:RHELPLAN-71200)

使用基于 SHA1 的签名进行 SecureBoot 镜像验证已弃用

在 UEFI(PE/COFF)可执行文件中使用基于 SHA1 的签名执行 SecureBoot 镜像验证已过时。反之,红帽建议使用基于 SHA2 算法或更新版本的签名。

(BZ#1935497)

SPICE 已被弃用

SPICE 远程显示协议已弃用。请注意,RHEL 8 中仍支持 SPICE,但红帽建议您为远程显示流使用备选解决方案:

  • 要访问远程控制台,请使用 VNC 协议。
  • 对于高级远程显示功能,请使用 RDP、HP RGS 或 Mechdyne TGX 等第三方工具。

(BZ#1849563)

9.16. 支持性

-f 选项不再支持 -s split 选项

当通过将文件上传到 Red Hat Secure FTP 的方法来向红帽支持提供文件时,您可以运行 redhat-support-tool addattachment -f 命令。但是,由于基础架构变化,您不能使用 -s 选项将大型文件拆分为多个部分 ,并将它们上传到 Red Hat Secure FTP

(BZ#2013335)

redhat-support-tool diagnose <file_or_directory> 命令已弃用

Red Hat Support Tool 不再支持以前被支持的 redhat-support-tool diagnose <file_or_directory> 命令。redhat-support-tool diagnose 命令继续支持纯文本分析。

(BZ#2019786)

9.17. 容器

基于 Podman varlink 的 API v1.0 已被删除

基于 Podman varlink 的 API v1.0 在之前的 RHEL 8 版本中已弃用。podman v2.0 引入了一个新的 Podman v2.0 RESTful API。Podman v3.0 发行版本中,基于 varlink 的 API v1.0 已被完全删除。

(JIRA:RHELPLAN-45858)

container-tools:1.0 已弃用

container-tools:1.0 模块已弃用,将不再接收安全更新。建议您使用较新支持的稳定模块流,如 container-tools:2.0container-tools:3.0

(JIRA:RHELPLAN-59825)

9.18. 已弃用的软件包

本节列出了已弃用的软件包,可能不会包括在 Red Hat Enterprise Linux 未来的主发行版本中。

有关对 RHEL 7 和 RHEL 8 间软件包的更改,请参阅 采用 RHEL 8 的注意事项 文档中的 对软件包的更改

在 RHEL 8 生命周期结束前,以下软件包已被弃用,但仍然被支持:

  • 389-ds-base-legacy-tools
  • adobe-source-sans-pro-fonts
  • adwaita-qt
  • amanda
  • amanda-client
  • amanda-libs
  • amanda-server
  • ant-contrib
  • antlr3
  • antlr32
  • aopalliance
  • apache-commons-collections
  • apache-commons-compress
  • apache-commons-exec
  • apache-commons-jxpath
  • apache-commons-parent
  • apache-ivy
  • apache-parent
  • apache-resource-bundles
  • apache-sshd
  • apiguardian
  • assertj-core
  • authd
  • auto
  • autoconf213
  • autogen
  • base64coder
  • batik
  • bea-stax
  • bea-stax-api
  • bind-sdb
  • bouncycastle
  • bsh
  • buildnumber-maven-plugin
  • byaccj
  • cal10n
  • cbi-plugins
  • cdparanoia
  • cdparanoia-devel
  • cdparanoia-libs
  • cdrdao
  • cmirror
  • codehaus-parent
  • codemodel
  • compat-exiv2-026
  • compat-guile18
  • compat-libpthread-nonshared
  • compat-openssl10
  • compat-sap-c++-10
  • createrepo_c-devel
  • ctags
  • ctags-etags
  • custodia
  • dbus-c++
  • dbus-c++-devel
  • dbus-c++-glib
  • dbxtool
  • dirsplit
  • dleyna-connector-dbus
  • dleyna-core
  • dleyna-renderer
  • dleyna-server
  • dnssec-trigger
  • dptfxtract
  • drpm
  • drpm-devel
  • dvd+rw-tools
  • dyninst-static
  • eclipse-ecf
  • eclipse-emf
  • eclipse-license
  • ed25519-java
  • ee4j-parent
  • elfutils-devel-static
  • elfutils-libelf-devel-static
  • enca
  • enca-devel
  • environment-modules-compat
  • evince-browser-plugin
  • exec-maven-plugin
  • farstream02
  • felix-osgi-compendium
  • felix-osgi-core
  • felix-osgi-foundation
  • felix-parent
  • file-roller
  • fipscheck
  • fipscheck-devel
  • fipscheck-lib
  • firewire
  • forge-parent
  • fuse-sshfs
  • fusesource-pom
  • future
  • gamin
  • gamin-devel
  • gavl
  • gcc-toolset-10
  • gcc-toolset-10-annobin
  • gcc-toolset-10-binutils
  • gcc-toolset-10-binutils-devel
  • gcc-toolset-10-build
  • gcc-toolset-10-dwz
  • gcc-toolset-10-dyninst
  • gcc-toolset-10-dyninst-devel
  • gcc-toolset-10-elfutils
  • gcc-toolset-10-elfutils-debuginfod-client
  • gcc-toolset-10-elfutils-debuginfod-client-devel
  • gcc-toolset-10-elfutils-devel
  • gcc-toolset-10-elfutils-libelf
  • gcc-toolset-10-elfutils-libelf-devel
  • gcc-toolset-10-elfutils-libs
  • gcc-toolset-10-gcc
  • gcc-toolset-10-gcc-c++
  • gcc-toolset-10-gcc-gdb-plugin
  • gcc-toolset-10-gcc-gfortran
  • gcc-toolset-10-gdb
  • gcc-toolset-10-gdb-doc
  • gcc-toolset-10-gdb-gdbserver
  • gcc-toolset-10-libasan-devel
  • gcc-toolset-10-libatomic-devel
  • gcc-toolset-10-libitm-devel
  • gcc-toolset-10-liblsan-devel
  • gcc-toolset-10-libquadmath-devel
  • gcc-toolset-10-libstdc++-devel
  • gcc-toolset-10-libstdc++-docs
  • gcc-toolset-10-libtsan-devel
  • gcc-toolset-10-libubsan-devel
  • gcc-toolset-10-ltrace
  • gcc-toolset-10-make
  • gcc-toolset-10-make-devel
  • gcc-toolset-10-perftools
  • gcc-toolset-10-runtime
  • gcc-toolset-10-strace
  • gcc-toolset-10-systemtap
  • gcc-toolset-10-systemtap-client
  • gcc-toolset-10-systemtap-devel
  • gcc-toolset-10-systemtap-initscript
  • gcc-toolset-10-systemtap-runtime
  • gcc-toolset-10-systemtap-sdt-devel
  • gcc-toolset-10-systemtap-server
  • gcc-toolset-10-toolchain
  • gcc-toolset-10-valgrind
  • gcc-toolset-10-valgrind-devel
  • gcc-toolset-9
  • gcc-toolset-9-annobin
  • gcc-toolset-9-build
  • gcc-toolset-9-perftools
  • gcc-toolset-9-runtime
  • gcc-toolset-9-toolchain
  • GConf2
  • GConf2-devel
  • genisoimage
  • genwqe-tools
  • genwqe-vpd
  • genwqe-zlib
  • genwqe-zlib-devel
  • geoipupdate
  • geronimo-annotation
  • geronimo-jms
  • geronimo-jpa
  • geronimo-parent-poms
  • gfbgraph
  • gflags
  • gflags-devel
  • glassfish-annotation-api
  • glassfish-el
  • glassfish-fastinfoset
  • glassfish-jaxb-core
  • glassfish-jaxb-txw2
  • glassfish-jsp
  • glassfish-jsp-api
  • glassfish-legal
  • glassfish-master-pom
  • glassfish-servlet-api
  • glew-devel
  • glib2-fam
  • glog
  • glog-devel
  • gmock
  • gmock-devel
  • gnome-boxes
  • gnome-menus-devel
  • gnome-online-miners
  • gnome-shell-extension-disable-screenshield
  • gnome-shell-extension-horizontal-workspaces
  • gnome-shell-extension-no-hot-corner
  • gnome-shell-extension-window-grouper
  • gnome-themes-standard
  • gnupg2-smime
  • gobject-introspection-devel
  • google-gson
  • gphoto2
  • gssntlmssp
  • gtest
  • gtest-devel
  • gtkmm24
  • gtkmm24-devel
  • gtkmm24-docs
  • gtksourceview3
  • gtksourceview3-devel
  • gtkspell
  • gtkspell-devel
  • gtkspell3
  • guile
  • gutenprint-gimp
  • gvfs-afc
  • gvfs-afp
  • gvfs-archive
  • hawtjni
  • highlight-gui
  • hivex-devel
  • 主机名
  • hplip-gui
  • httpcomponents-project
  • icedax
  • icu4j
  • idm-console-framework
  • iptables
  • ipython
  • isl
  • isl-devel
  • isorelax
  • istack-commons-runtime
  • istack-commons-tools
  • iwl3945-firmware
  • iwl4965-firmware
  • iwl6000-firmware
  • jacoco
  • jaf
  • jakarta-oro
  • janino
  • jansi-native
  • jarjar
  • java_cup
  • java-atk-wrapper
  • javacc
  • javacc-maven-plugin
  • javaewah
  • javaparser
  • javapoet
  • javassist
  • jaxen
  • jboss-annotations-1.2-api
  • jboss-interceptors-1.2-api
  • jboss-logmanager
  • jboss-parent
  • jctools
  • jdepend
  • jdependency
  • jdom
  • jdom2
  • jetty
  • jffi
  • jflex
  • jgit
  • jline
  • jnr-netdb
  • jolokia-jvm-agent
  • js-uglify
  • jsch
  • json_simple
  • jss-javadoc
  • jtidy
  • junit5
  • jvnet-parent
  • jzlib
  • kernel-cross-headers
  • ksc
  • ldapjdk-javadoc
  • lensfun
  • lensfun-devel
  • libaec
  • libaec-devel
  • libappindicator-gtk3
  • libappindicator-gtk3-devel
  • libavc1394
  • libblocksruntime
  • libcacard
  • libcacard-devel
  • libcgroup
  • libchamplain
  • libchamplain-devel
  • libchamplain-gtk
  • libcroco
  • libcroco-devel
  • libcxl
  • libcxl-devel
  • libdap
  • libdap-devel
  • libdazzle-devel
  • libdbusmenu
  • libdbusmenu-devel
  • libdbusmenu-doc
  • libdbusmenu-gtk3
  • libdbusmenu-gtk3-devel
  • libdc1394
  • libdnet
  • libdnet-devel
  • libdv
  • libdwarf
  • libdwarf-devel
  • libdwarf-static
  • libdwarf-tools
  • libepubgen-devel
  • libertas-sd8686-firmware
  • libertas-usb8388-firmware
  • libertas-usb8388-olpc-firmware
  • libgdither
  • libGLEW
  • libgovirt
  • libguestfs-benchmarking
  • libguestfs-devel
  • libguestfs-gfs2
  • libguestfs-gobject
  • libguestfs-gobject-devel
  • libguestfs-java
  • libguestfs-java-devel
  • libguestfs-javadoc
  • libguestfs-man-pages-ja
  • libguestfs-man-pages-uk
  • libguestfs-tools
  • libguestfs-tools-c
  • libhugetlbfs
  • libhugetlbfs-devel
  • libhugetlbfs-utils
  • libIDL
  • libIDL-devel
  • libidn
  • libiec61883
  • libindicator-gtk3
  • libindicator-gtk3-devel
  • libiscsi-devel
  • libjose-devel
  • libldb-devel
  • liblogging
  • libluksmeta-devel
  • libmcpp
  • libmemcached
  • libmetalink
  • libmodulemd1
  • libmongocrypt
  • libmtp-devel
  • libmusicbrainz5
  • libmusicbrainz5-devel
  • libnbd-devel
  • liboauth
  • liboauth-devel
  • libpfm-static
  • libpng12
  • libpurple
  • libpurple-devel
  • libraw1394
  • libsass
  • libsass-devel
  • libselinux-python
  • libsqlite3x
  • libtalloc-devel
  • libtar
  • libtdb-devel
  • libtevent-devel
  • libunwind
  • libusal
  • libvarlink
  • libvirt-admin
  • libvirt-bash-completion
  • libvirt-daemon-driver-storage-gluster
  • libvirt-daemon-driver-storage-iscsi-direct
  • libvirt-devel
  • libvirt-docs
  • libvirt-gconfig
  • libvirt-gobject
  • libvirt-lock-sanlock
  • libvncserver
  • libwinpr-devel
  • libwmf
  • libwmf-devel
  • libwmf-lite
  • libXNVCtrl
  • libyami
  • log4j12
  • lorax-composer
  • lua-guestfs
  • lucene
  • mailman
  • mailx
  • make-devel
  • maven-antrun-plugin
  • maven-assembly-plugin
  • maven-clean-plugin
  • maven-dependency-analyzer
  • maven-dependency-plugin
  • maven-doxia
  • maven-doxia-sitetools
  • maven-install-plugin
  • maven-invoker
  • maven-invoker-plugin
  • maven-parent
  • maven-plugins-pom
  • maven-reporting-api
  • maven-reporting-impl
  • maven-scm
  • maven-script-interpreter
  • maven-shade-plugin
  • maven-shared
  • maven-verifier
  • maven2
  • meanwhile
  • mercurial
  • meetis
  • metis-devel
  • mingw32-bzip2
  • mingw32-bzip2-static
  • mingw32-cairo
  • mingw32-expat
  • mingw32-fontconfig
  • mingw32-freetype
  • mingw32-freetype-static
  • mingw32-gstreamer1
  • mingw32-harfbuzz
  • mingw32-harfbuzz-static
  • mingw32-icu
  • mingw32-libjpeg-turbo
  • mingw32-libjpeg-turbo-static
  • mingw32-libpng
  • mingw32-libpng-static
  • mingw32-libtiff
  • mingw32-libtiff-static
  • mingw32-openssl
  • mingw32-readline
  • mingw32-sqlite
  • mingw32-sqlite-static
  • mingw64-adwaita-icon-theme
  • mingw64-bzip2
  • mingw64-bzip2-static
  • mingw64-cairo
  • mingw64-expat
  • mingw64-fontconfig
  • mingw64-freetype
  • mingw64-freetype-static
  • mingw64-gstreamer1
  • mingw64-harfbuzz
  • mingw64-harfbuzz-static
  • mingw64-icu
  • mingw64-libjpeg-turbo
  • mingw64-libjpeg-turbo-static
  • mingw64-libpng
  • mingw64-libpng-static
  • mingw64-libtiff
  • mingw64-libtiff-static
  • mingw64-nettle
  • mingw64-openssl
  • mingw64-readline
  • mingw64-sqlite
  • mingw64-sqlite-static
  • modello
  • mojo-parent
  • mongo-c-driver
  • mousetweaks
  • mozjs52
  • mozjs52-devel
  • mozjs60
  • mozjs60-devel
  • mozvoikko
  • msv-javadoc
  • msv-manual
  • munge-maven-plugin
  • nbd
  • nbdkit-devel
  • nbdkit-example-plugins
  • nbdkit-gzip-plugin
  • ncompress
  • net-tools
  • netcf
  • netcf-devel
  • netcf-libs
  • network-scripts
  • nkf
  • nss_nis
  • nss-pam-ldapd
  • objectweb-asm
  • objectweb-pom
  • ocaml-bisect-ppx
  • ocaml-camlp4
  • ocaml-camlp4-devel
  • ocaml-lwt
  • ocaml-mmap
  • ocaml-ocplib-endian
  • ocaml-ounit
  • ocaml-result
  • ocaml-seq
  • opencv-contrib
  • opencv-core
  • opencv-devel
  • openhpi
  • openhpi-libs
  • OpenIPMI-perl
  • openssh-cavs
  • openssh-ldap
  • openssl-ibmpkcs11
  • opentest4j
  • os-maven-plugin
  • pakchois
  • pandoc
  • paranamer
  • parfait
  • parfait-examples
  • parfait-javadoc
  • pcp-parfait-agent
  • pcp-pmda-rpm
  • pcsc-lite-doc
  • peripety
  • perl-B-Debug
  • perl-B-Lint
  • perl-Class-Factory-Util
  • perl-Class-ISA
  • perl-DateTime-Format-HTTP
  • perl-DateTime-Format-Mail
  • perl-File-CheckTree
  • perl-homedir
  • perl-libxml-perl
  • perl-Locale-Codes
  • perl-Mozilla-LDAP
  • perl-NKF
  • perl-Object-HashBase-tools
  • perl-Package-DeprecationManager
  • perl-Pod-LaTeX
  • perl-Pod-Plainer
  • perl-prefork
  • perl-String-CRC32
  • perl-SUPER
  • perl-Sys-Virt
  • perl-tests
  • perl-YAML-Syck
  • phodav
  • pidgin
  • pidgin-devel
  • pidgin-sipe
  • pinentry-emacs
  • pinentry-gtk
  • pipewire0.2-devel
  • pipewire0.2-libs
  • plexus-ant-factory
  • plexus-bsh-factory
  • plexus-cli
  • plexus-component-api
  • plexus-component-factories-pom
  • plexus-components-pom
  • plexus-i18n
  • plexus-interactive
  • plexus-pom
  • plexus-velocity
  • plymouth-plugin-throbgress
  • powermock
  • ptscotch-mpich
  • ptscotch-mpich-devel
  • ptscotch-mpich-devel-parmetis
  • ptscotch-openmpi
  • ptscotch-openmpi-devel
  • purple-sipe
  • python-nss-doc
  • python-redis
  • python-schedutils
  • python-slip
  • python-varlink
  • python2-mock
  • python3-click
  • python3-cpio
  • python3-custodia
  • python3-flask
  • python3-gevent
  • python3-gobject-base
  • python3-hivex
  • python3-html5lib
  • python3-hypothesis
  • python3-ipatests
  • python3-itsdangerous
  • python3-jwt
  • python3-libguestfs
  • python3-mock
  • python3-networkx-core
  • python3-nose
  • python3-nss
  • python3-openipmi
  • python3-pillow
  • python3-pydbus
  • python3-pymongo
  • python3-pyOpenSSL
  • python3-pytoml
  • python3-reportlab
  • python3-schedutils
  • python3-scons
  • python3-semantic_version
  • python3-syspurpose
  • python3-virtualenv
  • python3-webencodings
  • python3-werkzeug
  • qemu-kvm-block-gluster
  • qemu-kvm-block-iscsi
  • qemu-kvm-tests
  • qpdf
  • qpid-proton
  • qrencode
  • qrencode-devel
  • qrencode-libs
  • qt5-qtcanvas3d
  • qt5-qtcanvas3d-examples
  • rarian
  • rarian-compat
  • re2c
  • redhat-menus
  • redhat-support-lib-python
  • redhat-support-tool
  • reflections
  • regexp
  • relaxngDatatype
  • rhsm-gtk
  • rpm-plugin-prioreset
  • rsyslog-udpspoof
  • ruby-hivex
  • ruby-libguestfs
  • rubygem-abrt
  • rubygem-abrt-doc
  • rubygem-mongo
  • rubygem-mongo-doc
  • samba-pidl
  • samba-test
  • samba-test-libs
  • sane-frontends
  • sanlk-reset
  • scala
  • scotch
  • scotch-devel
  • SDL_sound
  • selinux-policy-minimum
  • sendmail
  • sgabios
  • sgabios-bin
  • shrinkwrap
  • sisu-mojos
  • SLOF
  • sonatype-oss-parent
  • sonatype-plugins-parent
  • sparsehash-devel
  • spec-version-maven-plugin
  • spice
  • spice-client-win-x64
  • spice-client-win-x86
  • spice-glib
  • spice-glib-devel
  • spice-gtk
  • spice-gtk-tools
  • spice-gtk3
  • spice-gtk3-devel
  • spice-gtk3-vala
  • spice-parent
  • spice-protocol
  • spice-qxl-wddm-dod
  • spice-server-devel
  • spice-streaming-agent
  • spice-vdagent-win-x64
  • spice-vdagent-win-x86
  • sssd-libwbclient
  • stax-ex
  • stax2-api
  • stringtemplate
  • stringtemplate4
  • subscription-manager-initial-setup-addon
  • subscription-manager-migration
  • subscription-manager-migration-data
  • subversion-javahl
  • SuperLU
  • SuperLU-devel
  • supermin-devel
  • swig
  • swig-doc
  • swig-gdb
  • system-storage-manager
  • testng
  • timedatex
  • treelayout
  • trousers
  • tycho
  • uglify-js
  • univocity-output-tester
  • univocity-parsers
  • usbguard-notifier
  • usbredir-devel
  • utf8cpp
  • uthash
  • velocity
  • vinagre
  • vino
  • virt-dib
  • virt-p2v-maker
  • vm-dump-metrics-devel
  • weld-parent
  • wodim
  • woodstox-core
  • xdelta
  • xmlgraphics-commons
  • xmlstreambuffer
  • xinetd
  • xorg-x11-apps
  • xorg-x11-drv-qxl
  • xorg-x11-server-Xspice
  • xpp3
  • xsane-gimp
  • xsom
  • xz-java
  • yajl-devel
  • yp-tools
  • ypbind
  • ypserv

9.19. 弃用和不维护的设备

本节列出了继续被支持的设备(驱动程序、适配器)

  • ,直到 RHEL 8 生命周期结束,但可能在这个产品以后的主要发行本中不被支持,不建议在新的部署中使用。对列出的设备的支持不会改变。这些是 弃用的 设备。
  • 可用,但不再在 RHEL 8 中进行常规测试或更新。红帽可自行决定修复严重的 bug,包括安全性 bug。这些设备不应再在生产环境中使用,很可能会在下一个主发行版本中被禁用。这些是 不维护的 设备。

PCI 设备 ID 采用 vendor:device:subvendor:subdevice 的格式。如果没有列出设备 ID,则与相应驱动程序关联的所有设备都会被弃用。要在您的系统中检查硬件的 PCI ID,请运行 lspci -nn 命令。

表 9.1. 弃用的设备

设备 ID驱动设备名称
 

bnx2

QLogic BCM5706/5708/5709/5716 驱动程序

 

hpsa

惠普公司:Smart Array Controller

0x10df:0x0724

lpfc

Emulex Corporation:OneConnect FCoE Initiator (Skyhawk)

0x10df:0xe200

lpfc

Emulex Corporation:LPe15000/LPe16000 Series 8Gb/16Gb Fibre Channel Adapter

0x10df:0xf011

lpfc

Emulex Corporation:Saturn:LightPulse Fibre Channel Host Adapter

0x10df:0xf015

lpfc

Emulex Corporation:Saturn:LightPulse Fibre Channel Host Adapter

0x10df:0xf100

lpfc

Emulex Corporation:LPe12000 Series 8Gb Fibre Channel Adapter

0x10df:0xfc40

lpfc

Emulex Corporation:Saturn-X:LightPulse Fibre Channel Host Adapter

0x10df:0xe220

be2net

Emulex Corporation:OneConnect NIC (Lancer)

0x1000:0x005b

megaraid_sas

Broadcom / LSI:MegaRAID SAS 2208 [Thunderbolt]

0x1000:0x006E

mpt3sas

Broadcom / LSI:SAS2308 PCI-Express Fusion-MPT SAS-2

0x1000:0x0080

mpt3sas

Broadcom / LSI:SAS2208 PCI-Express Fusion-MPT SAS-2

0x1000:0x0081

mpt3sas

Broadcom / LSI:SAS2208 PCI-Express Fusion-MPT SAS-2

0x1000:0x0082

mpt3sas

Broadcom / LSI:SAS2208 PCI-Express Fusion-MPT SAS-2

0x1000:0x0083

mpt3sas

Broadcom / LSI:SAS2208 PCI-Express Fusion-MPT SAS-2

0x1000:0x0084

mpt3sas

Broadcom / LSI:SAS2208 PCI-Express Fusion-MPT SAS-2

0x1000:0x0085

mpt3sas

Broadcom / LSI:SAS2208 PCI-Express Fusion-MPT SAS-2

0x1000:0x0086

mpt3sas

Broadcom / LSI:SAS2308 PCI-Express Fusion-MPT SAS-2

0x1000:0x0087

mpt3sas

Broadcom / LSI:SAS2308 PCI-Express Fusion-MPT SAS-2

 

myri10ge

Myricom 10G 驱动程序(10GbE)

 

netxen_nic

QLogic/NetXen(1/10)GbE 智能以太网驱动程序

0x1077:0x2031

qla2xxx

QLogic Corp.:基于 ISP8324 的 16Gb Fibre Channel to PCI Express Adapter

0x1077:0x2532

qla2xxx

QLogic Corp.:基于 ISP2532 的 8Gb Fibre Channel 到 PCI Express HBA

0x1077:0x8031

qla2xxx

QLogic Corp.:8300 系列 10GbE Converged Network Adapter(FCoE)

 

qla3xxx

QLogic ISP3XXX 网络驱动程序 v2.03.00-k5

0x1924:0x0803

sfc

Solarflare Communications:SFC9020 10G Ethernet Controller

0x1924:0x0813

sfc

Solarflare Communications:SFL9021 10GBASE-T Ethernet Controller

 

Soft-RoCE (rdma_rxe)

 
 

HNS-RoCE

 

表 9.2. 不维护的设备

设备 ID驱动设备名称
 

e1000

Intel® PRO/1000 网络驱动程序

 

mptbase

Fusion MPT SAS 主机驱动程序

 

mptsas

Fusion MPT SAS 主机驱动程序

 

mptscsih

Fusion MPT SCSI 主机驱动程序

 

mptspi

Fusion MPT SAS 主机驱动程序

0x1000:0x0071 [a]

megaraid_sas

Broadcom / LSI:MR SAS HBA 2004

0x1000:0x0073 [a]

megaraid_sas

Broadcom / LSI:MegaRAID SAS 2008 [Falcon]

0x1000:0x0079 [a]

megaraid_sas

Broadcom / LSI:MegaRAID SAS 2108 [Liberator]

[a] 在 RHEL 8.0 中禁用了,由于客户请求,在 RHEL 8.4 中被重新启用了。

第 10 章 已知问题

这部分论述了 Red Hat Enterprise Linux 8.5 中已知的问题。

10.1. 安装程序和镜像创建

如果在仓库刷新完成前尝试使用 CDN 取消注册,则 GUI 安装可能会失败

从 RHEL 8.2 开始,当使用 Content Delivery Network(CDN)注册您的系统并附加订阅时,GUI 安装程序会启动对仓库元数据的刷新。刷新过程不是注册和订阅过程的一部分,因此在 Connect to Red Hat 窗口中启用了 Unregister 按钮。根据网络连接,刷新过程可能需要一分钟以上的时间完成。如果您在刷新过程完成前点 Unregister 按钮,则 GUI 安装可能会失败,因为未注册过程会删除 CDN 仓库文件和安装程序与 CDN 通信所需的证书。

要临时解决这个问题,点 连接到红帽 窗口中的 Register 按钮后在 GUI 安装中完成以下步骤:

  1. 连接到红帽的 窗口中点 完成 返回 安装概述 窗口。
  2. 安装概述 窗口中验证 安装源软件选择状态 信息是否以斜体显示任何处理信息。
  3. 当安装源和软件选择类别准备好后,点 连接到红帽
  4. Unregister 按钮。

执行这些步骤后,您可以在 GUI 安装过程中安全地取消注册系统。

(BZ#1821192)

属于多个机构的用户帐户注册失败

目前,当试图使用属于多个机构的用户帐户注册系统时,注册过程会失败并显示出错信息, You must specify an organization for new units

要临时解决这个问题,您可以:

  • 使用不属于多个机构的不同用户帐户。
  • 使用 GUI 和 Kickstart 安装的的 Connect to Red Hat 中的Activation Key 验证方法。
  • 跳过连接到红帽的注册步骤,并使用 Subscription Manager 在安装后注册您的系统。

(BZ#1822880)

USB CD-ROM 驱动器作为 Anaconda 中的安装源不可用

当源为 USB CD-ROM 驱动器,并且指定了 Kickstart ignoredisk --only-use= 命令时,安装会失败。在这种情况下,Anaconda 无法找到并使用这个源磁盘。

要临时解决这个问题,请使用 harddrive --partition=sdX --dir=/ 命令从 USB CD-ROM 驱动器安装。因此,安装不会失败。

BZ#1914955

authauthconfig Kickstart 命令需要 AppStream 软件仓库

authauthconfig Kickstart 命令在安装过程中需要 authselect-compat 软件包。如果没有这个软件包,如果使用了 authauthconfig,则安装会失败。但根据设计,authselect-compat 软件包只包括在 AppStream 仓库中。

要临时解决这个问题,请确定安装程序可使用 BaseOS 和 AppStream 软件仓库,或者在安装过程中使用 authselect Kickstart 命令。

(BZ#1640697)

reboot --kexecinst.kexec 命令不提供可预测的系统状态

使用 reboot --kexec Kickstart 命令或 inst.kexec 内核引导参数执行 RHEL 安装不会提供与完全重启相同的可预期系统状态。因此,在不重启的情况下切换安装的系统可能会导致无法预计的结果。

请注意,kexec 功能已弃用,并将在以后的 Red Hat Enterprise Linux 版本中删除。

(BZ#1697896)

在安装程序中不默认启用网络访问

几个安装功能需要网络访问,例如:使用 Content Delivery Network(CDN)、NTP 服务器支持和网络安装源注册系统。但默认情况下不启用网络访问,因此在启用网络访问前无法使用这些功能。

要临时解决这个问题,请添加 ip=dhcp 在启动安装时启用网络访问。另外,使用引导选项传递 Kickstart 文件或位于网络中的库也会解决这个问题。因此可以使用基于网络的安装功能。

(BZ#1757877)

带有 iso9660 文件系统的硬盘分区安装失败

您不能在使用 iso9660 文件系统进行分区的系统中安装 RHEL。这是因为将设置为忽略包含 iso9660 文件系统分区的硬盘的更新安装代码。即使在没有使用 DVD 的情况下安装 RHEL,也会发生这种情况。

要解决这个问题,请在 kickstart 文件中添加以下脚本,以在安装开始前格式化磁盘。

注意:在执行临时解决方案前,备份磁盘上可用的数据。erafs 命令对磁盘中的所有现有数据进行格式化。

%pre
wipefs -a /dev/sda
%end

因此,安装可以正常工作,且没有任何错误。

(BZ#1929105)

带有 HASH MMU 模式的 IBM Power 系统无法引导,并显示内存分配失败

具有 HASH 内存分配单元(MMU) 模式的 IBM Power Systems 最多支持 192 个核的 kdump 。因此,如果在超过 192 个核上启用了 kdump,则系统会无法引导,显示内存分配失败。这个限制是因为 HASH MMU 模式下早期引导过程中的 RMA 内存分配。要临时解决这个问题,请使用启用了 fadumpRadix MMU 模式,而不是使用 kdump

(BZ#2028361)

在蓝图和 Kickstart 文件中添加相同的用户名会导致 Edge 镜像安装失败

要安装 RHEL for Edge 镜像,用户必须创建一个蓝图来构建 rhel-edge-container 镜像,并创建一个 Kickstart 文件来安装 RHEL for Edge 镜像。当在蓝图和 Kickstart 文件中添加相同的用户名、密码和 SSH 密钥时,RHEL for Edge 镜像安装会失败。目前,还没有临时解决方案。

BZ#1951964

new osbuild-composer 后端不会在升级时从 lorax-composer 复制 蓝图状态

lorax-composer 后端升级到新的 osbuild-composer 后端的镜像构建器用户,蓝图可能会消失。因此,升级完成后,蓝图不会自动显示。要临时解决这个问题,请执行以下步骤。

先决条件

  • 已安装 composer-cli CLI 工具。

流程

  1. 运行该命令,将之前基于 lorax-composer 的蓝图加载到 new osbuild-composer 后端:

    $ for blueprint in $(find /var/lib/lorax/composer/blueprints/git/workspace/master -name '*.toml'); do composer-cli blueprints push "${blueprint}"; done

因此,相同的蓝图现在包括在 in osbuild-composer 后端。

其它资源

(BZ#1897383)

在 Anaconda 作为应用程序运行的系统中意外 SELinux 策略

当 Anaconda 作为应用程序运行在已安装的系统上(例如,使用 -image anaconda 选项对镜像文件执行另一次安装)时,不禁止系统在安装过程中修改 SELinux 类型和属性。因此,某些 SELinux 策略的元素可能会在运行Anaconda 的系统上发生更改。要临时解决这个问题,请不要在生产环境系统上运行 Anaconda,而在临时虚拟机中执行它。因此,生产系统上的 SELinux 策略没有被修改。作为系统安装过程的一部分运行 anaconda,如从 boot.isodvd.iso 安装不会受此问题的影响。

(BZ#2050140)

10.2. 订阅管理

syspurpose addonssubscription-manager attach --auto 输出没有影响。

在 Red Hat Enterprise Linux 8 中,添加了 syspurpose 命令行工具的四个属性:roleusageservice_level_agreementaddons目前,只有 roleusageservice_level_agreement 会影响到运行 subscription-manager attach --auto 命令的输出。试图为 addons 参数设置值的用户不会观察到对自动附加的订阅有任何影响。

(BZ#1687900)

10.3. 软件管理

如果系统上没有 CodeReady Linux Builder 存储库,libdnf-devel 升级会失败

libdnf-devel 软件包已从 BaseOS 移到 CodeReady Linux Builder 存储库。因此,如果系统上没有 CodeReady Linux Builder 存储库,则升级 libdnf-devel 会失败。

要临时解决这个问题,请启用 CodeReady Linux Builder 存储库,或在升级前删除 libdnf-devel 软件包。

(BZ#1960616)

cr_compress_file_with_stat() 可能会导致内存泄漏

createrepo_c 库具有 API cr_compress_file_with_stat() 函数。这个函数被声明为以 char **dst 作为第二个参数。根据其他参数,cr_compress_file_with_stat() 要么使用 dst 作为输入参数,要么使用它来返回一个分配的字符串。这种无法预测的行为可能会导致内存泄漏,因为它不会通知用户何时释放 dst内容。

要临时解决这个问题,增加了一个新的 API cr_compress_file_with_stat_v2 函数,它只使用 dst 参数作为输入。它被声明为 char *dst。这可防止内存泄漏。

请注意,cr_compress_file_with_stat_v2 函数为临时的,仅存在于 RHEL 8 中。之后,cr_compress_file_with_stat() 将会被修复。

(BZ#1973588)

10.4. Shell 和命令行工具

coreutils 可能会报告误导性的 EPERM 错误代码

GNU Core 工具(coreutils)使用 statx() 系统调用启动了。如果 seccomp 过滤器对未知系统调用返回一个 EPERM 错误代码,则 coreutils 可能会连续报告误导 EPERM 错误码,因为 EPERM 无法从工作的 statx() syscall 返回的实际 Operation not permitted 进行区分。

要临时解决这个问题,请更新 seccomp 过滤器,使其要么允许 statx() 系统调用,要么对其它不知道的系统调用返回 ENOSYS 错误代码。

(BZ#2030661)

10.5. 基础架构服务

FIPS 模式中的 postfix TLS 指纹算法需要改为 SHA-256

默认情况下,在 RHEL 8中,postfix使用带有TLS 的MD5 指纹来进行向后兼容。但是在 FIPS 模式中,MD5 哈希功能不可用,这可能会导致 TLS 在默认 postfix 配置中不正确正常工作。要解决这个问题,在 postfix 配置文件中需要将哈希功能改为 SHA-256。

如需了解更多详细信息,请参阅 Fix postfix TLS in the FIPS mode by switching to SHA-256 instead of MD5

(BZ#1711885)

brltty 软件包与 multilib 不兼容

不可能同时安装 32 位和 64 位版本的 brltty 软件包。您要么安装 32 位(brltty.i686),要么安装 64 位(brltty.x86_64)版本的软件包。建议使用 64 位版本。

(BZ#2008197)

10.6. 安全性

/etc/passwd- 的文件权限与CIS RHEL 8 Benchmark 1.0.0不一致

由于 CIS Benchmark 存在问题,修正 SCAP 规则可以确保 /etc/passwd- backup 文件中的权限被配置为 0644。但是 CIS Red Hat Enterprise Linux 8 Benchmark 1.0.0 需要该文件的文件权限 0600。因此,在修复后, /etc/passwd- 的文件权限与基准数据不一致。

(BZ#1858866)

libselinux-python 只能通过其模块提供

libselinux-python 软件包只包含用于开发 SELinux 应用程序的 Python 2 绑定,它用于向后兼容。因此,通过 dnf install libselinux-python 命令,默认的 RHEL 8 软件仓库不再提供 libselinux-python

要临时解决这个问题,请启用 libselinux-pythonpython27 模块,并使用以下命令安装 libselinux-python 软件包及其相依性软件包:

# dnf module enable libselinux-python
# dnf install libselinux-python

或者,使用它的安装配置集在一个命令中安装 libselinux-python:

# dnf module install libselinux-python:2.8/common

因此,您可以使用相关的模块安装 libselinux-python

(BZ#1666328)

UDICA 仅在使用 --env container=podman 启动时才会处理 UBI 8 容器

Red Hat Universal Base Image 8(UBI 8)容器将 container 环境变量设置为 oci 值,而不是 podman 值。这可以防止 udica 工具分析容器 JavaScript Object Notation(JSON)文件。

要临时解决这个问题,请使用带有 --env container=podman 参数的 podman 命令启动 UBI 8 容器。因此,只有在使用上述临时解决方案时,udica才能为UBI 8 容器生成 SELinux 策略。

(BZ#1763210)

默认日志设置在性能上的负面影响

默认日志环境设置可能会消耗 4 GB 内存甚至更多,当 systemd-journald 使用 rsyslog 运行时,速率限制值的调整会很复杂。

如需更多信息,请参阅 RHEL 默认日志设置对性能的负面影响及环境方案

(JIRA:RHELPLAN-10431)

/etc/selinux/config 中的SELINUX=disabled 无法正常工作

/etc/selinux/config 中使用 SELINUX=disabled 选项禁用 SELinux 会导致内核在启用了 SELinux 的情况下引导,并在稍后的引导过程中切换到禁用模式。这可能导致内存泄漏。

要临时解决这个问题,请在内核命令行中添加 selinux=0 参数来禁用 SELinux,如 使用 SELinux 中的在引导时更改 SELinux 模式部分所述。

(JIRA:RHELPLAN-34199)

crypto-policies 错误地允许 Camellia 密码

RHEL 8 系统范围的加密策略应该在所有策略级别禁用 Camellia 密码,如产品文档中所述。但是 Kerberos 协议默认启用密码。

要临时解决这个问题,请应用 NO-CAMELLIA 子策略:

# update-crypto-policies --set DEFAULT:NO-CAMELLIA

在上一个命令中,如果您已经从 DEFAULT 切换,那么将 DEFAULT 替换为加密级名称。

因此,只有在您通过临时解决方案禁用系统范围的加密策略的所有应用程序中,Camellia 密码才会被正确禁止。

BZ#1919155

使用带有 IKEv2 的多个标记的 IPsec 连接无法正常工作

当 Libreswan 使用 IKEv2 协议时,IPsec 的安全标签对于多个连接无法正常工作。因此,使用标记的 IPsec 的 Libreswan 只能建立第一个连接,但无法正确建立后续连接。要使用多个连接,请使用 IKEv1 协议。

BZ#1934859

通过 OpenSC pkcs15-init 的智能卡配置过程无法正常工作

file_caching 选项在默认的 OpenSC 配置中是启用的,文件缓存功能无法正确处理pkcs15-init 工具中的一些命令。因此,通过 OpenSC 进行智能卡置备过程会失败。

要临时解决这个问题,请在 /etc/opensc.conf 文件中添加以下代码段:

app pkcs15-init {
        framework pkcs15 {
                use_file_caching = false;
        }
}

只有在应用了前面描述的临时解决方案时,通过 pkcs15-init 进行智能卡配置才能正常工作。

BZ#1947025

到带有 SHA-1 签名的服务器的连接无法使用 GnuTLS

GnuTLS 安全通讯库以 insecure 形式拒绝 SHA-1 证书签名。因此,使用 GnuTLS 作为 TLS 后端的应用程序无法建立与提供此类证书的对等的 TLS 连接。这个行为与其他系统加密库不一致。

要临时解决这个问题,请升级服务器以使用 SHA-256 或更强大的哈希签名的证书,或切换到 LEGACY 策略。

(BZ#1628553)

FIPS 模式中的 openssl 只接受特定的 D-H 参数

在 FIPS 模式中,使用 OpenSSL 的 TLS 客户端返回一个bad dh value 错误,并中止与使用手动生成参数的服务器的 TLS 连接。这是因为 OpenSSL 当配置为符合 FIPS 140-2 时,只可用于符合 NIST SP 800-56A rev3 附加 D(RFC 3526 中定义的组 14、15、16、17 和 18,以及 RFC 7919)中定义的组。另,,使用 OpenSSL 的服务器会忽略所有其他参数,并选择类似大小的已知参数。要临时解决这个问题,请只使用兼容的组。

(BZ#1810911)

通过 TCP 连接的 IKE 在自定义 TCP 端口上无法正常工作

tcp-remoteport Libreswan 配置选项无法正常工作。因此,当场景需要指定非默认 TCP 端口时,TCP 连接上的 IKE 无法建立。

(BZ#1989050)

SELinux 审计规则和 SELinux 布尔配置中存在冲突

如果审计规则列表包含一个含有 subj_*obj_* 字段的审计规则,并且 SELinux 布尔值配置发生了变化,那么设置 SELinux 布尔值会导致死锁。因此,系统会停止响应,需要重启才能恢复。要临时解决这个问题,请禁用包含 subj_*obj_* 字段的所有审计规则,或者在修改 SELinux 布尔值前临时禁用这些规则。

随着 RHSA-2021:2168 公告的发布,内核可以正确处理这种情况,不会再死锁。

(BZ#1924230)

systemd 无法从任意路径执行命令

systemd 服务无法从 /home/user/bin 任意路径执行命令,因为 SELinux 策略软件包不包括任何这样的规则。因此,在非系统路径中执行的自定义服务会失败,并最终会在 SELinux 拒绝访问时记录 Access Vector Cache(AVC)拒绝审核信息。要临时解决这个问题,请执行以下操作之一:

  • 使用带有 -c 选项的 shell 脚本执行该命令。例如:

    bash -c command
  • 从常用的命令路径 /bin/sbin/usr/sbin/usr/local/bin/usr/local/sbin 中执行命令。

(BZ#1860443)

某些 SSG 中的规则组可能会失败

由于未定义规则及其依赖项的顺序,基准中SCAP Security Guide (SSG)规则的修复可能会失败。如果需要以特定顺序执行两个或多个规则,例如,当一条规则安装组件和另一个规则配置同一组件时,它们可按错误的顺序运行,并报告错误。要临时解决这个问题,请执行补救两次,第二次运行会修复依赖规则。

(BZ#1750755)

无法使用 Server with GUIWorkstation 软件选择和 CIS 安全配置集进行安装

CIS安全配置集与Server with GUIWorkstation不兼容。因此,无法使用 Server with GUI 软件选择和 CIS 配置集进行 RHEL 8 安装。使用 CIS 配置集进行尝试安装,且这两种软件选择之一都会生成出错信息:

package xorg-x11-server-common has been added to the list of excluded packages, but it can't be removed from the current software selection without breaking the installation.

要临时解决这个问题,请不要在 Server with GUIWorkstation 软件选择中使用 CIS 安全配置集。

(BZ#1843932)

Kickstart 在 RHEL 8 中使用 org_fedora_oscap 而不是 com_redhat_oscap

Kickstart 将 Open Security Content Automation Protocol(OSCAP)Anaconda 附加组件作为 org_fedora_oscap 而不是 com_redhat_oscap 来 引用,这可能会导致混淆。这样做可以保持与 Red Hat Enterprise Linux 7 的向后兼容性。

(BZ#1665082)

usbguard-notifier 将太多错误消息记录到日志中

usbguard-notifier 服务没有用于连接到 usbguard-daemon IPC 接口的进程间通信(IPC)权限。因此,usbguard-notifier 无法连接到接口,并将对应的错误消息写入 Journal。由于 usbguard-notifier 使用 --wait 选项启动,因此确保 usbguard-notifier 尝试在连接失败后每秒连接 IPC 接口,因此日志会很快包含太多消息。

要临时解决这个问题,允许运行 usbguard-notifier 的用户或组连接到 IPC 接口。例如,以下错误消息包含 GNOME 显示管理器(GDM)的 UID 和 GID 值:

IPC connection denied: uid=42 gid=42 pid=8382, where uid and gid 42 = gdm

要为 gdm 用户授予缺少的权限,请使用 usbguard 命令并重启 usbguard 守护进程:

# usbguard add-user gdm --group --devices listen
# systemctl restart usbguard

在授予了缺少的权限后,日志中不再会出现错误消息。

(BZ#2000000)

某些 rsyslog 优先级字符串无法正常工作

对于允许对加密进行精细控制的 imtcpGnuTLS 优先级字符串的支持并不完整。因此,以下优先级字符串无法在 rsyslog 中正常工作:

NONE:+VERS-ALL:-VERS-TLS1.3:+MAC-ALL:+DHE-RSA:+AES-256-GCM:+SIGN-RSA-SHA384:+COMP-ALL:+GROUP-ALL

要临时解决这个问题,请只使用正确的优先级字符串:

NONE:+VERS-ALL:-VERS-TLS1.3:+MAC-ALL:+ECDHE-RSA:+AES-128-CBC:+SIGN-RSA-SHA1:+COMP-ALL:+GROUP-ALL

因此,当前的配置必须仅限于可正常工作的字符串。

(BZ#1679512)

10.7. 网络

nm-cloud-setup 服务从接口中删除了手动配置的辅助 IP 地址

根据从云环境收到的信息,nm-cloud-setup 服务会配置网络接口。禁用 nm-cloud-setup 以手动配置接口。然而,在某些情况下,主机上的其他服务也可以配置接口。例如,这些服务可以添加辅助 IP 地址。为了避免 nm-cloud-setup 删除辅助 IP 地址:

  1. 停止并禁用 nm-cloud-setup 服务和计时器:

    # systemctl disable --now nm-cloud-setup.service nm-cloud-setup.timer
  2. 显示可用的连接配置文件:

    # nmcli connection show
  3. 激活受影响的连接配置文件:

    # nmcli connection up "<profile_name>"

因此,该服务不再从接口中删除手动配置的辅助 IP 地址。

(BZ#2132754)

NetworkManager 不支持以特定顺序激活绑定和团队端口

NetworkManager 按接口名称的字母顺序激活接口。但是,如果接口在启动过程中稍后出现,例如,由于内核需要更多时间发现它,NetworkManager 会稍后激活这个接口。NetworkManager 不支持对绑定和团队端口设置优先级。因此,NetworkManager 激活这些设备的端口的顺序始终无法预测。要临时解决这个问题,请编写一个调度程序脚本。

有关此类脚本的示例,请参阅问题单中相应的 注释

(BZ#1920398)

启用了 IPv6_rpfilter 选项的系统的网络吞吐量较低

firewalld.conf 文件中启用了 IPv6_rpfilter 选项的系统目前在高流量场景(如 100-Gbps 连接)中性能欠佳,网络吞吐量较低。要临时解决这个问题,请禁用 IPv6_rpfilter 选项。为此,请在 /etc/firewalld/firewalld.conf 文件中添加以下行:

IPv6_rpfilter=no

因此,系统性能更好,但安全性也有所降低。

(BZ#1871860)

10.8. 内核

重新加载相同的崩溃扩展可能会导致分段错误

当您加载已加载的崩溃扩展文件的副本时,可能会触发分段错误。目前,crash 工具会检测原始文件是否已被加载。因此,由于两个完全相同的文件在 crash 工具中并存,因此会发生命名空间冲突,这会触发 crash 工具,从而导致分段错误。

您可以通过只加载 crash 扩展文件一次来临时解决此问题。因此,在描述的场景中不再会出现分段错误。

(BZ#1906482)

在内存热插拔操作后,vmcore 捕获失败

执行内存热插拔操作后,会更新包含内存布局信息的设备树。因此,makedumpfile 实用程序会尝试访问不存在的物理地址。如果以下条件都满足,就会出现问题:

  • IBM Power System 的 little-endian 变体运行 RHEL 8。
  • 在系统中启用了 kdump 或者 fadump 服务。

因此,如果在内存 hot-plug 或 hot-unplug 操作后触发了内核崩溃,捕获内核将无法保存 vmcore

要临时解决这个问题,在 hot-plug 或 hot-unplug 后重启 kdump 服务:

# systemctl restart kdump.service

因此,vmcore 在上述场景中被成功保存。

(BZ#1793389)

在 RHEL 8 上,调试内核无法在崩溃捕获环境中引导

由于 调试内核的内存密集型特性,当调试内核在使用,且触发了内核 panic 时会出现问题。因此,调试内核无法作为捕获内核引导,而是生成一个堆栈追踪。要临时解决这个问题,请根据需要增大崩溃内核内存。因此,调试内核会在崩溃捕获环境中成功引导。

(BZ#1659609)

在引导时分配崩溃内核内存失败

在某些 Ampere Altra 系统上,当 BIOS 设置中禁用了 32 位区域时,在引导过程中分配崩溃内核内存会失败。因此,kdump 服务无法启动。这是因为 4 GB 以下的内存碎片导致,没有足够大的碎片来包含崩溃内核内存。

要临时解决这个问题,请在 BIOS 中启用 32 位内存区域,如下所示:

  1. 在您的系统中打开 BIOS 设置。
  2. 打开 Chipset 菜单。
  3. Memory Configuration 下,启用 SSlave 32-bit 选项。

因此,在 32 位区域中的崩溃内核内存分配会成功,kdump 服务可以按预期工作。

(BZ#1940674)

kdump 在一些使用默认崩溃内核内存的 KVM 虚拟机上失败

在使用 kdump 的默认内存量来捕获内核崩溃转储时,有些 KVM 虚拟机 kdump 会失败。因此,崩溃内核会显示以下错误:

/bin/sh: error while loading shared libraries: libtinfo.so.6: cannot open shared object file: No such file or directory

要临时解决这个问题,请至少增加 32M 的 crashkernel= 选项,以满足 kdump 的大小要求。例如,最终值必须是当前值和 32M 的总和。

对于 crashkernel=auto 参数:

  1. 检查当前内存大小,并将大小增加到 32M,如下所示:

    echo $(($(cat /sys/kernel/kexec_crash_size)/1048576+32))M
  2. 将内核 crashkernel 参数配置为 crashkernel=x,其中 x 是增大的大小。

(BZ#2004000)

QAT 管理器没有为 LKCF 保留备用设备

Intel® QuickAssist Technology (QAT)管理器(qatmgr)是一个用户空间进程,默认情况下会使用系统中的所有 QAT 设备。因此,没有为 Linux 内核加密框架(LKCF)保留任何 QAT 设备。不需要临时解决这种情况,因为此行为是预期的,大多数用户都将使用来自用户空间的加速。

(BZ#1920086)

内核 ACPI 驱动程序报告无法访问 PCIe ECAM 内存区域

固件提供的高级配置和电源接口(ACPI)表没有在 PCI 总线设备中定义内存区域。因此,在系统引导时会出现以下警告信息:

[    2.817152] acpi PNP0A08:00: [Firmware Bug]: ECAM area [mem 0x30000000-0x31ffffff] not reserved in ACPI namespace
[    2.827911] acpi PNP0A08:00: ECAM at [mem 0x30000000-0x31ffffff] for [bus 00-1f]

但是,内核仍然可以访问 0x30000000-0x31ffff 内存区域,并可以正确地将该内存区域分配给 PCI 增强配置访问机制(ECAM)。您可以通过以下输出通过 256 字节偏移访问 PCIe 配置空间来验证 PCI 是正常工作的:

03:00.0 Non-Volatile memory controller: Sandisk Corp WD Black 2018/PC SN720 NVMe SSD (prog-if 02 [NVM Express])
 ...
        Capabilities: [900 v1] L1 PM Substates
                L1SubCap: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2+ ASPM_L1.1- L1_PM_Substates+
                          PortCommonModeRestoreTime=255us PortTPowerOnTime=10us
                L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
                           T_CommonMode=0us LTR1.2_Threshold=0ns
                L1SubCtl2: T_PwrOn=10us

因此,您可以忽略警告信息。

有关此问题的详情请参考 "Firmware Bug:ECAM area mem 0x30000000-0x31ffffff not reserved in ACPI namespace" appears during system boot

(BZ#1868526)

tuned-adm profile powerave 命令会导致系统变得无响应

执行 tuned-adm profile powersave 命令会导致使用旧的Thunderx(CN88x)处理器的Penguin Valkyrie 2000 2-socket 系统处于无响应状态。因此,需要重启系统以便恢复工作。要临时解决这个问题,如果您的系统符合上述说明,请避免使用 powersave 配置集。

(BZ#1609288)

使用 irqpoll 会导致 vmcore 生成失败

由于在 Amazon Web Services (AWS)云平台上运行的 64 位 ARM 架构上的 nvme 驱动程序存在问题,从而导致在第一个内核提供 irqpoll 内核命令行参数时 vmcore 生成失败。因此,在内核崩溃时,不会在 /var/crash/ 目录中转储 vmcore 文件。要临时解决这个问题:

  1. irqpoll 附加到/etc/sysconfig/kdump 文件中的KDUMP_COMMANDLINE_REMOVE

    KDUMP_COMMANDLINE_REMOVE="hugepages hugepagesz slub_debug quiet log_buf_len swiotlb"
  2. /etc/sysconfig/kdump 文件中的 KDUMP_COMMANDLINE_APPEND 中删除 irqpoll

    KDUMP_COMMANDLINE_APPEND="irqpoll nr_cpus=1 reset_devices cgroup_disable=memory udev.children-max=2 panic=10 swiotlb=noforce novmcoredd"
  3. 重启 kdump 服务:

    systemctl restart kdump

因此,第一个内核会正确引导,在内核崩溃时可以捕获 vmcore 文件。

请注意,kdump 服务可能会使用大量崩溃内核内存转储 vmcore 文件。确定捕获内核有足够的内存可用于 kdump 服务。

有关这个已知问题的详情,请查看文章 irqpoll 内核命令行参数可能会导致 vmcore 生成失败

(BZ#1654962)

HP NMI 监视器并不总是生成崩溃转储

在某些情况下,HP NMI watchdog 的 hpwdt 驱动无法声明一个由 HPE watchdog timer 生成的不可屏蔽中断(NMI),因为 NMI 被 perfmon 驱动所消耗。

缺少的 NMI 是由以下两个条件之一引发的:

  1. Integrated Lights-Out (iLO) 服务器管理软件中的 Generate NMI 按钮。这个按钮由用户触发。
  2. hpwdt watchdog。默认过期会向服务器发送一个 NMI。

在系统无响应时通常会出现这两个序列。在一般情况下,用于这两种情况的 NMI 处理程序调用 kernel panic() 功能,如果配置了, kdump 服务会生成 vmcore 文件。

由于缺少 NMI,没有调用 kernel panic() 且不收集 vmcore

第一种情况(1.),如果系统不响应,它会一直处于这个状态。要临时解决这种情况,请使用虚拟 Power 按钮来重置或者启用服务器。

在第二个示例中(2.),缺少的 NMI 之后会在 9 秒后被自动系统恢复(ASR)重置。

HPE Gen9 服务器行以单位数字显示这个问题。Gen10 频率更小。

(BZ#1602962)

将虚拟功能附加到虚拟机时连接会失败

使用传奇 ionic设备驱动程序的 Pensando 网卡会默默地接受 VLAN 标签配置请求,并在将网络虚拟功能(VF)附加到虚拟机(VM)上时尝试配置网络连接。这些网络连接会失败,因为卡的固件还没有支持这个功能。

(BZ#1930576)

OPEN MPI 库可能会使用默认 PML 的触发程序运行时失败

在 OPEN 消息密码界面(OPEN MPI)实现 4.0.x 系列中,Unified communicating X(UCX)是默认的点到点通信器(PML)。OPEN MPI 4.0.x 系列的后续版本弃用了 openib Byte Transfer Layer(BTL)。

但是,当OPEN MPI 在 同构 集群(与硬件和软件配置相同)上运行时,UCX 仍然使用openib BTL进行 MPI 单边操作。因此,这可能会导致触发器执行错误。要临时解决这个问题:

  • 使用以下参数运行 mpirun 命令:
-mca btl openib -mca pml ucx -x UCX_NET_DEVICES=mlx5_ib0

其中,

  • -mca btl openib 参数禁用 openib BTL
  • -mca pml ucx 参数将 OPEN MPI 配置为使用 ucx PML。
  • x UCX_NET_DEVICES= 参数限制 UCX 使用指定的设备

OPEN MPI 在使用 异构 集群(不同硬件和软件配置)中运行时,使用 UCX 作为默认的 PML。因此,这可能会导致 OPEN MPI 任务在运行时出现错误的性能、不响应性行为或崩溃问题。要临时解决这个问题,将 UCX 优先级设置为:

  • 使用以下参数运行 mpirun 命令:
-mca pml_ucx_priority 5

因此,OPEN MPI 库可以选择使用 UCX 的可替代传输层。

(BZ#1866402)

Solarflare 无法创建最大数量的虚拟函数(VF)

因为资源不足,Solarflare NIC 无法创建最大数量的 VF 。您可以检查 PCIe 设备可以在 /sys/bus/pci/devices/PCI_ID/sriov_totalvfs 文件中创建的 VF 的最大数量。要临时解决这个问题,您可以将 VF 的数量或 VF MSI 中断值调整为较低的值,可以在启动时从 Solarflare Boot Manager 调整或使用 Solarflare sfboot 工具调整。默认的 VF MSI 中断值为 8

  • 要使用 sfboot 调整 VF MSI 中断值:
# sfboot vf-msix-limit=2
注意

调整 VF MSI 中断值会影响 VF 性能。

有关调整的参数的更多信息,请参阅 Solarflare 服务器适配器用户指南

(BZ#1971506)

10.9. 硬件启用

默认的 7 4 1 7 printk 值有时会导致系统暂时无响应

默认的 7 4 1 7 printk 值可以更好地调试内核的活动。但是,当与串口控制台搭配使用时,这个 printk 设置可能会导致大量 I/O,从而导致 RHEL 系统暂时变得不响应。为了解决这个问题,添加了一个新的 optimize-serial-console TuneD 配置集,它把默认的 printk 值减为 4 4 1 7。用户可以按照以下方法追踪其系统:

# tuned-adm profile throughput-performance optimize-serial-console

重启后会保留一个较低的 printk 值,这可以降低系统挂起的可能性。

请注意,这个设置更改的代价是丢失额外的调试信息。

(JIRA:RHELPLAN-28940)

10.10. 文件系统和存储

LVM writecache 的限制

writecache LVM 缓存方法有以下限制,这些限制不会出现在 cache 方法中:

  • 使用 pvmove 命令时您无法命名 writecache 逻辑卷。
  • 您不能将带有 writecache 的逻辑卷与精简池或 VDO 结合使用。

以下限制也适用于 cache 方法:

  • 您不能在将 cachewritecache 附加到逻辑卷时重新定义大小。

(JIRA:RHELPLAN-27987、BZ#1798631、BZ#1808012)

保存一个 LUKS 卷的 LVM mirror 设备有时将变为无响应

在某些情况下,保存 LUKS 卷的片段类型的 mirror LVM 设备可能会变得无响应。无响应设备会拒绝所有 I/O 操作。

要解决这个问题,红帽建议在有弹性软件定义的存储之上使用带 raid1 的片段类型的 LVM RAID 1 设备而不是镜像( mirror )。

raid1 segment 类型是默认的 RAID 配置类型,它作为推荐的解决方案替换 mirror

要将 mirror 设备转换为 raid1,请参阅将镜像 LVM 设备转换为 RAID1 设备

(BZ#1730502)

无法将 /boot 文件系统放在 LVM 中

您不能将 /boot 文件系统放在 LVM 逻辑卷中。这种限制的原因如下:

  • 在 EFI 系统中,EFI 系统分区 通常充当 /boot 文件系统。uEFI 标准要求有特定的 GPT 分区类型和具体文件系统类型。
  • RHEL 8 在系统引导条目中使用 Boot Loader 规格 (BLS)。这个规格要求 /boot 文件系统可由平台固件可读。在 EFI 系统中,平台固件只能读取 uEFI 标准定义的 /boot 配置。
  • 在 GRUB 2 引导装载程序中不支持 LVM 逻辑卷。红帽没有计划进行改进,因为如 uEFI 和 BLS 的标准,这个功能的使用情况正在下降。

红帽不计划在 LVM 中支持 /boot。反之,红帽提供了管理系统快照和回滚的工具,这些工具不需要将 /boot 文件系统放在 LVM 逻辑卷中。

(BZ#1496229)

LVM 不再允许使用混合块大小创建卷组

LVM 工具(如 vgcreatevgextend)不再允许您创建有不同逻辑块大小的物理卷(PV)的卷组(VG)。LVM 启用了这个更改,因为如果您使用不同块大小的 PV 扩展了基本逻辑卷(LV),文件系统将无法挂载。

要重新创建带有混合块大小的 VG,在 lvm.conf 文件中设置 allow_mixed_block_sizes=1 选项。

(BZ#1768536)

GRUB 在引导期间初始失败后重试访问磁盘

有时,存储区域网络(SAN)无法确认 openread 磁盘调用。在以前的版本中,用于进入 grub_rescue 提示符的 GRUB 工具会导致引导失败。有了这个更新,GRUB 会在初始调用打开并读取磁盘失败后尝试访问磁盘最多 20 次。如果 GRUB 工具在这些尝试后仍无法打开或读取磁盘,它将进入 grub_rescue 模式。

(BZ#1987087)

XFS 配额警告经常被触发

使用配额计时器会导致配额警告的触发过于频繁,这导致软配额的强制执行的速度比应该执行的速度更快。要临时解决这个问题,请不要使用软配额,这会防止触发警告。因此,警告信息量将不再强制软配额限制,会尊重配置的超时时间。

(BZ#2059262)

10.11. 动态编程语言、网页和数据库服务器

在启用 OQGraph 插件时,MariaDB 10.5 不会对删除不存在的表发出警告

OQGraph 存储引擎插件加载到 MariaDB 10.5 服务器 时,MariaDB 不会对删除不存在的表发出警告。特别是,当用户尝试使用DROP TABLEDROP TABLE IF EXISTSSQL命令删除不存在的表时,MariaDB不会返回错误信息,也不会记录警告。

请注意,OQGraph 插件由 mariadb-oqgraph-engine 软件包提供,该软件包默认情况下不会安装。

BZ#1944653

PAM 插件版本 1.0 在 MariaDB中无法正常工作

MariaDB 10.3 提供了可插拔验证模块(PAM)插件版本1.0 。MariaDB 10.5 提供插件版本 1.0 和 2.0,版本 2.0 是默认版本。

MariaDB PAM 插件版本 1.0 在 RHEL 8 中无法正常工作。要临时解决这个问题,请使用 mariadb:10.5 模块流提供的 PAM 插件版本 2.0。

BZ#1942330

当有 32 位应用程序调用 getpwnam() 时,可能会失败

当 NIS 用户使用32 位应用程序调用 getpwnam() 函数时,如果没有 nss_nis.i686 软件包,则调用会失败。要临时解决这个问题,使用 yum install nss_nis.i686 手动安装缺少的软件包。

(BZ#1803161)

OpenLDAP 库之间的符号冲突可能会导致 httpd中的崩溃

当 OpenLDAP 提供的 libldaplibldap_r 库被加载并在单个进程中使用时,这些库之间可能会出现符号冲突。因此,如果 httpd 配置也加载 mod_securitymod_auth_openidc 模块,则使用 PHP ldap 扩展的 Apache httpd 子进程可能会意外终止。

从因为RHEL 8.3 更新到 Apache Portable Runtime(APR)库,您可以通过设置 APR_DEEPBIND 环境变量来临时解决这个问题,该变量在载入 httpd 模块时,允许使用 RTLD_DEEPBIND 动态链接器选项。当 APR_DEEPBIND 环境变量启用时,在加载冲突库的 httpd 配置中不再崩溃。

(BZ#1819607)

10.12. 编译器和开发工具

在同一个输入流中多次使用 CryptBlocks 会导致加密不正确

启用 Go FIPS 模式时,AES CBC CryptBlocks 会错误地重新初始化初始化向量。因此,在输入流中多次使用 CryptBlocks 会错误地加密文件。要临时解决这个问题,请不要在 aes-cbc 接口中重新初始化 IV 。此操作允许正确加密文件。

(BZ#1972825)

10.13. Identity Management

Windows Server 2008 R2 及更早版本不再被支持

在 RHEL 8.4 及之后的版本中,身份管理(IdM)不支持对带有运行 Windows Server 2008 R2 或更早版本的活动目录域的活动目录建立信任。RHEL IdM 现在在建立信任关系时需要 SMB 加密,这只在 Windows Server 2012 或更高版本中提供。

(BZ#1971061)

cert-fix 程序与 --agent-uid pkidbuser 选项一同使用会破坏证书系统

使用带有 --agent-uid pkidbuser 选项的 cert-fix 工具可破坏证书系统的 LDAP 配置。因此,,证系统可能会变得不稳定,需要手动步骤才能恢复该系统。

(BZ#1729215)

FreeRADIUS 会默默地截断大于 249 个字符的 Tunnel-Password

如果 Tunnel-Password 大于 249 个字符,则 FreeRADIUS 服务会默默地截断它。这可能导致无法预期的,与其它系统不兼容的密码。

要临时解决这个问题,请选择 249 个字符或更少的密码。

(BZ#1723362)

IdM 主机上的 /var/log/lastlog 稀疏文件可能会导致性能问题

在 IdM 安装过程中,从总计 10,000 个可能范围内会随机选择并分配一个 200,000 UID 范围。当您决定以后合并两个独立的 IdM 域时,以这种方法选择一个随机范围可显著降低冲突 ID 的可能性。

但是,大的UID可能会给 /var/log/lastlog 文件带来问题。例如,如果 UID 为 1280000008 的用户登录到 IdM 客户端,则本地的 /var/log/lastlog 文件大小会增加到近 400 GB。虽然实际文件是稀疏的,且没有使用所有空间,但某些应用程序默认不是为识别稀疏文件而设计的,且可能需要一个特定的选项来处理这些文件。例如,如果设置比较复杂,备份和复制应用程序无法正确处理稀疏文件,则该文件会像大小为 400 GB 一样被复制。这个行为可能会导致性能问题。

要临时解决这个问题:

  • 如果是标准软件包,请参考其文档来识别处理稀疏文件的选项。
  • 如果是自定义应用程序,请确保它能够正确管理稀疏文件,如 /var/log/lastlog

(JIRA:RHELPLAN-59111)

FIPS 模式不支持使用共享 secret 建立跨林信任

在 FIPS 模式中使用共享 secret 建立跨林信任会失败,因为 NTLMSSP 身份验证不兼容 FIPS。要临时解决这个问题,在启用了 FIPS 模式的 IdM 域和 AD 域间建立信任时,使用 Active Directory(AD)管理帐户进行身份验证。

BZ#1924707

FreeRADIUS 服务器无法在 FIPS 模式下运行

默认情况下,在 FIPS 模式下,OpenSSL 禁止使用 MD5 摘要算法。由于 RADIUS 协议需要 MD5 来在 RADIUS 客户端和 RADIUS 服务器之间加密 secret,因此这会导致 FreeRADIUS 服务器在 FIPS 模式下失败。

要临时解决这个问题,请遵循以下步骤:

流程

  1. radiusd 服务创建环境变量 RADIUS_MD5_FIPS_OVERRIDE

    systemctl edit radiusd
    
    [Service]
    Environment=RADIUS_MD5_FIPS_OVERRIDE=1
  2. 要应用这些更改,请重新加载 systemd 配置,并启动 radiusd 服务:

    # systemctl daemon-reload
    # systemctl start radiusd
  3. 要在调试模式下运行 FreeRADIUS:

    # RADIUS_MD5_FIPS_OVERRIDE=1 radiusd -X

请注意,虽然 FreeRADIUS 可以在 FIPS 模式下运行,但这并不意味着它符合 FIPS ,因为它在 FIPS 模式下使用弱密码和功能。

有关在 FIPS 模式下配置 FreeRADIUS 身份验证的更多信息,请参阅 在 FIPS 模式下如何配置 FreeRADIUS 身份验证

(BZ#1958979)

将 Samba 作为打印服务器运行时需要的操作

有了这个更新,samba 软件包不再创建 /var/spool/samba/ 目录。如果您将 Samba 用作打印服务器,并将 [printers] 共享中的 /var/spool/samba/ 用于假脱机打印作业,则SELinux 会阻止 Samba 用户在此目录中创建文件。因此,打印作业失败,auditd 服务会在 /var/log/audit/audit.log 中记录一跳 denied 消息。要在将您的系统更新至 RHEL 8.5 后避免这个问题:

  1. /etc/samba/smb.conf 文件中搜索 [printers] 共享。
  2. 如果共享定义包含 path = /var/spool/samba/,请更新设置,并将 path 参数设为 /var/tmp/
  3. 重启 smbd 服务:

    # systemctl restart smbd

如果您在 RHEL 8.5 上新安装的 Samba,则不需要任何操作。RHEL 8.5 上的 samba-common 软件包提供的默认 /etc/samba/smb.conf 文件已经使用 /var/tmp/ 目录来假脱机打印作业。

(BZ#2009213)

NSS 中启用的密码的 default 关键字无法与其他密码一起使用

在目录服务器中,您可以使用 default 关键字来指向网络安全服务(NSS)中启用的默认密码。但是,如果您要使用命令行或 Web 控制台来启用默认的密码和附加密码,目录服务器将无法解析 default 关键字。因此,服务器只启用额外指定的密码,并记录以下错误:

Security Initialization - SSL alert: Failed to set SSL cipher preference information: invalid ciphers <default,+__cipher_name__>: format is +cipher1,-cipher2... (Netscape Portable Runtime error 0 - no error)

作为临时解决方案,指定 NSS 中默认启用的所有密码,包括您要额外启用的密码。

(BZ#1817505)

将对 ldap_id_use_start_tls 选项使用默认值时潜在的风险

当不使用 TLS 进行身份查找的情况下使用 ldap:// 时,可能会对攻击向量构成风险。特别是中间人(MITM)攻击,例如,其通过更改 LDAP 搜索中返回的对象的 UID 或 GID 来允许攻击者冒充用户。

目前,用于强制 TLS 的 ldap_id_use_start_tls SSSD 配置选项,默认为 false。确保您的设置可在可信环境中操作,并决定是否可以安全地对 id_provider = ldap 使用未加密的通信。注意 id_provider = adid_provider = ipa 不受影响,因为它们使用 SASL 和 GSSAPI 保护的加密连接。

如果使用未加密的通信是不安全的,请在 /etc/sssd/sssd.conf 文件中将 ldap_id_use_start_tls 选项设为 true 来强制使用 TLS。计划在以后的 RHEL 版本中更改默认行为。

(JIRA:RHELPLAN-155168)

10.14. 桌面

无法从软件仓库中禁用 flatpak 程序库

目前,在 GNOME 软件工具中的软件程序库工具中无法禁用或删除 flatpak 程序库。

(BZ#1668760)

在桌面和应用程序间进行拖放操作无法正常工作

由于 gnome-shell-extensions 软件包中的一个 bug,drag-and-drop 功能目前在桌面和应用程序间无法正常工作。以后的发行版本中将重新添加对这个功能的支持。

(BZ#1717947)

第二代 RHEL 8 虚拟机有时无法在 Hyper-V Server 2016 主机上引导

当使用 RHEL 8 作为在 Microsoft Hyper-V Server 2016 主机上运行的虚拟机(VM)中的客户机操作系统时,虚拟机在某些情况下无法引导,并返回到 GRUB 引导菜单。另外,会在 Hyper-V 事件日志中记录以下错误:

The guest operating system reported that it failed with the following error code: 0x1E

这个错误是由 Hyper-V 主机上的 UEFI 固件错误造成的。要临时解决这个问题,,使用 Hyper-V Server 2019 作为主机。

(BZ#1583445)

Flatpak 的当前限制

您可以使用 Flatpak 软件包管理器安装某些应用程序。但是 Flatpak 目前缺少某些功能或特性。值得注意的是:

  • Flatpak 缺少 CVE 和更改日志功能奇偶校验。为 Flatpak 应用程序使用 GNOME Software 应用程序目前不会提供有关相应软件包或任何 CVE 的信息。
  • 在添加 Red Hat Flatpak remote 仓库时,GPG key 检查会被默认禁用。
  • Flatpak 应用没有独特的图标。在 Gnome Software 中,应用程序会显示 rpmFlatpak 版本。作为临时解决方案,您可以通过点相应图标上的 Show Details 来查找应用程序源。
  • Flatpak 应用程序无法处理 Kerberos 票据。
  • Flatpak 应用程序进行打印的功能当前不可用。
  • 红帽 Flatpak remote 不会被自动添加。要启用它们,请按照产品文档中的说明操作:启用 Red Hat Flatpak remote

(JIRA:RHELPLAN-100230)

10.15. 图形基础结构

多个 HDR 显示在单个 MST 拓扑上可能无法打开

在使用带有 nouveau 驱动程序的 NVIDIA Turing GPU 的系统上,使用DisplayPort 集线器(如笔记本电脑基座),该集线器上插有多个支持HDR的显示器,可能会导致其无法打开。这是因为系统错误地认为 hub 中没有足够的带宽来支持所有显示器。

(BZ#1812577)

radeon 无法正确重置硬件

radeon 内核驱动程序目前没有在 kexec 上下文中正确重置硬件。相反,radeon 无法工作,从而导致剩余的 kdump 服务失败。

要临时解决这个问题,在 kdump 中禁用 radeon,方法是在 /etc/kdump.conf 文件中添加以下行:

dracut_args --omit-drivers "radeon"
force_rebuild 1

重启机器和 kdump。启动 kdump 后,force_rebuild 1 行可能会从配置文件中删除 。

请注意,在这种情况下,kdump 不会提供图形,但 kdump 可成功运行。

(BZ#1694705)

ESXi 中的 GUI 可能会因为视频内存较低而崩溃

VMware ESXi 7.0.1 带有 vCenter Server 7.0.1 的 RHEL 虚拟机上的图形用户界面(GUI)需要一定的视频内存。如果您将多个控制台或高分辨率监控器连接到虚拟机,则 GUI 至少需要 16 MB 视频内存。如果您使用较少的视频内存启动 GUI,则 GUI 可能会意外终止。

要临时解决这个问题,请配置虚拟机监控程序为虚拟机分配至少 16MB 视频内存。因此,虚拟机上的 GUI 不会崩溃。

(BZ#1910358)

VNC Viewer 显示在 IBM Z 中带有 16 位颜色深度的错误颜色

当您连接到带有 16 位色彩深度的 IBM Z 服务器上的 VNC 会话时,VNC Viewer 应用程序会显示错误的颜色。

要临时解决这个问题,请在 VNC 服务器中设置 24 位颜色深度。使用 Xvnc 服务器将 -depth 16 选项替换为 -depth 24 (在 Xvnc 配置中)。

因此,VNC 客户端会显示正确的颜色,但在服务器中使用更多的网络带宽。

(BZ#1886147)

带有 VGA 显示的 Matrox GPU 没有显示输出

如果您使用以下系统配置,您的显示可能不会显示图形输出:

  • Matrox MGA G200 家族中的 GPU
  • 通过 VGA 控制器连接的显示器
  • UEFI 切换到旧模式

因此,您不能在这种配置中使用或安装 RHEL。

要临时解决这个问题,请使用以下步骤:

  1. 将系统启动到引导装载程序菜单。
  2. 在内核命令行中添加 nomodeset 选项。

因此,RHEL 可以被引导并正常显示图形输出,但最大分辨率有限。

(BZ#1953926)

无法使用 sudo 命令运行图形应用程序

当试图以具有更高权限的用户运行图形应用程序时,应用程序无法打开并带有一个出错信息。发生故障的原因是 XwaylandXauthority 文件限制,为使用常规用户凭证进行验证。

要临时解决这个问题,使用 sudo -E 命令以 root 用户运行图形程序。

(BZ#1673073)

ARM 不支持硬件加速

内置图形驱动程序不支持 64 位 ARM 架构中的硬件加速或 Vulkan API。

要启用硬件加速或者 ARM 上的 Vulkan,安装专有 Nvidia 驱动程序。

(JIRA:RHELPLAN-57914)

10.16. 虚拟化

在PowerVM上热插拔 IBMVFC 设备会失败

当在 PowerVM hypervisor上使用装有 RHEL 8 操作系统的虚拟机(VM)时,尝试从正在运行的虚拟机中删除 IBM Power Virtual Fibre Channel(IBMVFC)设备当前会失败。相反,它会显示一个 outstanding translation 错误。

要临时解决这个问题,在虚拟机关闭时删除 IBMVFC 设备。

(BZ#1959020)

当使用ibmvfc 驱动程序时,IBM POWER 主机可能会崩溃

当在 PowerVM 逻辑分区(LPAR)上运行 RHEL 8 时,目前可能会因为 ibmvfc 驱动程序的问题而发生各种错误。因此,在某些情况下主机的内核可能会出现 panic,例如:

  • 使用 Live Partition Mobility(LPM)功能
  • 重置主机适配器
  • 使用 SCSI 错误处理(SCSI EH)功能

(BZ#1961722)

在 IBM POWER 系统中使用 perf kvm record 可能会导致虚拟机崩溃

当在 IBM POWER 硬件的 little-endian 变体中使用 RHEL 8 主机时,使用 perf kvm record 命令为 KVM 虚拟机(VM)收集追踪事件样本会导致虚拟机变得没有响应。在以下情况下发生这种情况:

  • perf工具由非特权用户使用,-p 选项用来标识虚拟机 - 例如 perf kvm record -e trace_cycles -p 12345
  • 虚拟机是使用 virsh shell 启动的。

要临时解决这个问题,请使用带有-i选项的 perf kvm 工具来监控使用 virsh shell 创建的虚拟机。例如:

# perf kvm record -e trace_imc/trace_cycles/  -p <guest pid> -i

请注意,在使用 -i 选项时,子任务不会继承计数器,因此线程不会被监控。

(BZ#1924016)

使用 virtio-blk 将 LUN 设备附加到虚拟机中无法正常工作

q35 机器类型不支持 virtio 1.0 设备,因此 RHEL 8 不支持 virtio 1.0 中弃用的功能。特别是,RHEL 8 主机无法从 virtio-blk 设备发送 SCSI 命令。因此,使用 virtio-blk 控制器时,将物理磁盘作为 LUN 设备附加到虚拟机会失败。

请注意,物理磁盘仍可被传递给客户端操作系统,但应该使用 device='disk' 选项而不是 device='lun' 选项进行配置。

(BZ#1777138)

带有 iommu_platform=on 的虚拟机无法在 IBM POWER 上启动

RHEL 8 目前不支持 IBM POWER 系统上的虚拟机(VM)的 iommu_platform=on 参数。因此,在 IBM POWER 硬件上启动使用这个参数的虚拟机会导致虚拟机在引导过程中变得无响应。

BZ#1910848

带有启用 Hyper-V 的 Windows Server 2016 虚拟机无法引导

目前,无法引导使用 Windows Server 2016 作为客户端操作系统的虚拟机,它启用了 Hyper-V 角色,并使用以下 CPU 模型之一:

  • EPYC-IBPB
  • EPYC

要临时解决这个问题,使用 EPYC-v3 CPU 模型,或者为虚拟机手动启用 xsaves CPU 标记。

(BZ#1942888)

将 POWER9 客户端从 RHEL 7-ALT 主机迁移到 RHEL 8 会失败

目前,将 POWER9 虚拟机从 RHEL 7-ALT 主机系统迁移到 RHEL 8 会变得没有响应,显示Migration status: active状态)。

要临时解决这个问题,在 RHEL 7-ALT 主机上禁用 Transparent Huge Pages(THP),这样可使迁移成功完成。

(BZ#1741436)

使用 virt-customize 有时会导致 guestfs-firstboot 失败

使用 virt-customize 工具修改了虚拟机(VM)磁盘镜像后,guestfs-firstboot 服务在某些情况下会因为 SELinux 权限不正确而失败。这会导致虚拟机启动过程中出现各种问题,如创建用户失败或系统注册失败。

要避免这个问题,请在 virt-customize 命令中添加 --selinux-relabel 选项。

(BZ#1554735)

从 macvtap 虚拟网络中删除转发接口会重置这个网络的所有连接计数

目前,从带有多个转发接口的 macvtap 虚拟网络中删除一个转发接口也会重置网络的其他转发接口的连接状态。因此,实时网络 XML 中的连接信息是不正确的。但请注意,这不会影响虚拟网络的功能。要临时解决这个问题,请重启主机上的 libvirtd 服务。

(BZ#1332758)

带有 SLOF 的虚拟机无法在 netcat 界面中引导

当使用 netcat(nc)接口来访问当前在 Slimline Open Firmware(SLOF)提示符下等待的虚拟机控制台时,用户输入会被忽略,虚拟机仍无响应。要临时解决这个问题,请在连接虚拟机时使用 nc -C 选项,或者使用 telnet 接口。

(BZ#1974622)

在某些情况下,在 RHEL 8 虚拟机上挂载 virtiofs 目录会失败

目前,当使用 virtiofs 功能为虚拟机(VM)提供主机目录时,如果虚拟机使用的是 RHEL 8.4 内核,但 用的是RHEL 8.5 selinux-policy 软件包,那么在虚拟机上挂载目录会失败,并显示"Operation not supported"错误。

要临时解决这个问题,请重新启动虚拟机,并将其引导至虚拟机上的最新可用内核。

(BZ#1995558)

当使用很多 virtio-blk 磁盘时,虚拟机有时无法启动

在虚拟机(VM)中添加大量 virtio-blk 设备可能会耗尽平台中可用的中断向量。如果出现这种情况,虚拟机的客户机操作系统无法引导,并显示 dracut-initqueue[392]:Warning:Could not boot 错误

(BZ#1719687)

当在 AMD EPYC 上使用主机透传模式时,虚拟机不会检测到 SMT CPU 拓扑

当在AMD EPYC 主机上以CPU主机直通模式引导虚拟机(VM)时,不会显示TOPOEXT CPU 功能标志。因此,虚拟机无法检测到每个内核有多个线程的虚拟 CPU 拓扑。要临时解决这个问题,使用 EPYC CPU 模型而不是主机透传引导虚拟机。

(BZ#1740002)

10.17. 云环境中的 RHEL

在 VMware 主机上的 RHEL 8 虚拟机中设置静态 IP 无法正常工作

目前,当在 VMware 主机上使用 RHEL 8 作为虚拟机(VM)的客户机操作系统时,DatasourceOVF 功能无法正常工作。因此,如果您使用 cloud-init 实用程序将虚拟机的网络设置为静态 IP,然后重启虚拟机,则虚拟机的网络将更改为 DHCP。

(BZ#1750862)

kdump 有时不会在 Azure 和 Hyper-V 上启动

在托管在 Microsoft Azure 或 Hyper-V hypervisor 上的 RHEL 8 客户机操作系统中,启动 kdump 内核在某些情况下会在启用执行后通知程序时失败。

要临时解决这个问题,请禁用 crash kexec post notifiers:

# echo N > /sys/module/kernel/parameters/crash_kexec_post_notifiers

(BZ#1865745)

当使用多个客户机磁盘引导 Hyper-V 虚拟机时,SCSI 主机地址有时会改变

目前,当在 Hyper-V hypervisor 上引导 RHEL 8 虚拟机时,主机部分的主机 、Bus、Target、Lun(HBTL)SCSI 地址在某些情况下发生了变化。因此,使用虚拟机中的 HBTL SCSI 识别或者设备节点设置的自动任务无法持续工作。如果虚拟机有多个磁盘,或者磁盘大小不同,会出现这种情况。

要临时解决这个问题,使用以下方法之一修改 kickstart 文件:

方法 1:对 SCSI 设备使用持久性标识符。

您可以使用以下 powershell 脚本来确定具体设备标识符:

# Output what the /dev/disk/by-id/<value> for the specified hyper-v virtual disk.
# Takes a single parameter which is the virtual disk file.
# Note: kickstart syntax works with and without the /dev/ prefix.
param (
    [Parameter(Mandatory=$true)][string]$virtualdisk
)

$what = Get-VHD -Path $virtualdisk
$part = $what.DiskIdentifier.ToLower().split('-')

$p = $part[0]
$s0 = $p[6] + $p[7] + $p[4] + $p[5] + $p[2] + $p[3] + $p[0] + $p[1]

$p = $part[1]
$s1 =  $p[2] + $p[3] + $p[0] + $p[1]

[string]::format("/dev/disk/by-id/wwn-0x60022480{0}{1}{2}", $s0, $s1, $part[4])

您可以在 hyper-v 主机上使用此脚本,如下所示:

PS C:\Users\Public\Documents\Hyper-V\Virtual hard disks> .\by-id.ps1 .\Testing_8\disk_3_8.vhdx
/dev/disk/by-id/wwn-0x60022480e00bc367d7fd902e8bf0d3b4
PS C:\Users\Public\Documents\Hyper-V\Virtual hard disks> .\by-id.ps1 .\Testing_8\disk_3_9.vhdx
/dev/disk/by-id/wwn-0x600224807270e09717645b1890f8a9a2

之后,可在 kickstart 文件中使用磁盘值,如下所示:

part / --fstype=xfs --grow --asprimary --size=8192 --ondisk=/dev/disk/by-id/wwn-0x600224807270e09717645b1890f8a9a2
part /home --fstype="xfs" --grow --ondisk=/dev/disk/by-id/wwn-0x60022480e00bc367d7fd902e8bf0d3b4

因为这些值特定于每个虚拟磁盘,因此需要为每个虚拟机实例进行配置。因此,使用 %include 语法将磁盘信息放在单独的文件中可能会很有用。

方法 2:根据大小设置设备选择。

根据大小配置磁盘选择的 kickstart 文件必须包含类似如下的行:

...

# Disk partitioning information is supplied in a file to kick start
%include /tmp/disks

...

# Partition information is created during install using the %pre section
%pre --interpreter /bin/bash --log /tmp/ks_pre.log

	# Dump whole SCSI/IDE disks out sorted from smallest to largest ouputting
	# just the name
	disks=(`lsblk -n -o NAME -l -b -x SIZE -d -I 8,3`) || exit 1

	# We are assuming we have 3 disks which will be used
	# and we will create some variables to represent
	d0=${disks[0]}
	d1=${disks[1]}
	d2=${disks[2]}

	echo "part /home --fstype="xfs" --ondisk=$d2 --grow" >> /tmp/disks
	echo "part swap --fstype="swap" --ondisk=$d0 --size=4096" >> /tmp/disks
	echo "part / --fstype="xfs" --ondisk=$d1 --grow" >> /tmp/disks
	echo "part /boot --fstype="xfs" --ondisk=$d1 --size=1024" >> /tmp/disks

%end

(BZ#1906870)

10.18. 支持性

redhat-support-tool 无法用于 FUTURE 加密策略

因为客户门户网站 API 中的证书使用的加密密钥不满足 FUTURE 系统范围的加密策略的要求,所以 redhat-support-tool 程序目前无法使用这个策略级别。

要临时解决这个问题,在连接到客户门户网站 API 时使用 DEFAULT 加密策略。

(BZ#1802026)

10.19. 容器

带有 fuse-overlayfs 的无根容器无法识别删除的文件

在 RHEL 8.4 及更早版本中,rootless 镜像和容器是使用 fuse-overlayfs 文件系统创建或存储的。在 RHEL 8.5 及之后的版本中使用此类镜像和容器,对使用内核提供的 overlayfs 实现的非特权用户,以及已删除了 RHEL 8.4 中容器或镜像中文件或目录的用户引入了问题。这个问题不适用于 root 帐户创建的容器。

例如,在使用 fuse-overlayfs 文件系统时,从容器或镜像中删除的文件或目录被标记为使用 whiteout 格式的文件或目录。但是,由于格式的不同,内核 overlayfs 实现无法识别 fuse-overlayfs 创建的 whiteout 格式。因此,任何删除的文件或目录仍会出现。这个问题不适用于 root 帐户创建的容器。

要临时解决这个问题,请使用以下选项之一:

  1. 使用 podman unshare rm -rf $HOME/.local/share/containers/* 命令删除所有非特权用户的容器和镜像。当用户下次运行 Podman 时,会重新创建 $HOME/.local/share/containers 目录,用户需要重新创建其容器。
  2. 继续以无根用户身份运行 podman 命令。第一次在系统上调用 podman 的更新版本,它会扫描 $HOME/.local/share/containers 目录中的所有文件,并检测是否使用 fuse-overlayfs。Podman 记录扫描结果,以便以后它不会重新运行扫描。因此,不会出现删除的文件。

检测 fuse-overlayfs 仍需要的时间取决于需要扫描的容器和镜像中的文件和目录数量。

(JIRA:RHELPLAN-92741)

在较旧的容器镜像中运行 systemd 无法正常工作

在较旧的容器镜像(如 centos:7)中运行 systemd 将无法正常工作:

$ podman run --rm -ti centos:7 /usr/lib/systemd/systemd
 Storing signatures
 Failed to mount cgroup at /sys/fs/cgroup/systemd: Operation not permitted
 [!!!!!!] Failed to mount API filesystems, freezing.

要临时解决这个问题,请使用以下命令:

# mkdir /sys/fs/cgroup/systemd
# mount none -t cgroup -o none,name=systemd /sys/fs/cgroup/systemd
# podman run --runtime /usr/bin/crun --annotation=run.oci.systemd.force_cgroup_v1=/sys/fs/cgroup --rm -ti centos:7 /usr/lib/systemd/systemd

(JIRA:RHELPLAN-96940)

使用 Beta GPG 密钥签名的容器镜像无法拉取

目前,当尝试拉取 RHEL Beta 容器镜像时,podman 会退出并显示错误消息:Error:Source image rejected:None of the signatures were accepted。镜像因为当前构建被配置为不信任 RHEL Beta GPG 密钥而无法拉取。

作为临时解决方案,请确保红帽 Beta GPG 密钥保存在您的本地系统中,并使用针对适当的 beta 命名空间更新 podman image trust set 命令的现有信任范围。

如果您没有本地存储 Beta GPG 密钥,您可以通过运行以下命令来拉取它:

sudo wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta https://www.redhat.com/security/data/f21541eb.txt

要将 Beta GPG 密钥作为信任添加到命名空间中,请使用以下命令之一:

$ sudo podman image trust set -f /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta registry.access.redhat.com/namespace

$ sudo podman image trust set -f /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta registry.redhat.io/namespace

namespace 替换为 ubi9-betarhel9-beta

(BZ#2020301)

第 11 章 国际化

11.1. Red Hat Enterprise Linux 8 国际语言

Red Hat Enterprise Linux 8 支持多种语言的安装,并根据您的需要更改语言。

  • 东亚语言 - 日语、韩语、简体中文和繁体中文。
  • 欧洲语言 - 英语、德语、西班牙语、法语、意大利语、葡萄牙语和俄语。

下表列出了为各种主要语言提供的字体和输入法。

语言默认字体(字体软件包)输入法

English

dejavu-sans-fonts

 

法语

dejavu-sans-fonts

 

德语

dejavu-sans-fonts

 

意大利语

dejavu-sans-fonts

 

俄语

dejavu-sans-fonts

 

西班牙语

dejavu-sans-fonts

 

葡萄牙语

dejavu-sans-fonts

 

简体中文

google-noto-sans-cjk-ttc-fonts, google-noto-serif-cjk-ttc-fonts

ibus-libpinyin, libpinyin

繁体中文

google-noto-sans-cjk-ttc-fonts, google-noto-serif-cjk-ttc-fonts

ibus-libzhuyin, libzhuyin

日语

google-noto-sans-cjk-ttc-fonts, google-noto-serif-cjk-ttc-fonts

ibus-kkc, libkc

韩语

google-noto-sans-cjk-ttc-fonts, google-noto-serif-cjk-ttc-fonts

ibus-hangul, libhangul

11.2. RHEL 8 中国际化的显著变化

RHEL 8 与 RHEL 7 相比,对国际化进行了以下更改:

  • 添加了对 Unicode 11 计算行业标准的支持。
  • 国际化发布在多个软件包中,这样就可以进行较小的内存占用安装。如需更多信息,请参阅 使用 langpacks
  • 很多 glibc 区域已经与 Unicode Common Locale Data Repository(CLDR)同步。

附录 A. 按组件划分的问题单列表

Bugzilla 和 JIRA ID 列在本文档中以便参考。可公开访问的 Bugzilla 程序错误包括到 ticket 的链接。

组件票证

389-ds-base

BZ#1898541, BZ#1951020, BZ#1938239, BZ#1947044, BZ#1626633, BZ#1812286, BZ#1850664, BZ#1944494, BZ#1895460, BZ#1817505

NetworkManager

BZ#1912236, BZ#1899372, BZ#1942331, BZ#1934465, BZ#1548825, BZ#1920398

SLOF

BZ#1910848

accel-config

BZ#1843266

accountsservice

BZ#1812788

anaconda

BZ#1914955, BZ#1931069, BZ#1903786, BZ#1954408, BZ#1821192, BZ#1822880, BZ#1929105, BZ#1897657

ansible-collection-redhat-rhel_mgmt

BZ#1843859

apr

BZ#1819607

bpftrace

BZ#1944716

brltty

BZ#2008197

chrony

BZ#1939295, BZ#1895003

cloud-init

BZ#1957532, BZ#1750862

cmake

BZ#1957947

cockpit

BZ#1666722

container-tools-rhel8-module

BZ#2009153

containers-common

BZ#2020301, BZ#2019901

coreutils

BZ#2030661

corosync-qdevice

BZ#1784200

crash

BZ#1906482

createrepo_c

BZ#1973588

crypto-policies

BZ#1960266, BZ#1876846, BZ#1933016, BZ#1919155, BZ#1660839

distribution

BZ#1953991, BZ#1657927

dotnet6.0

BZ#2022794

dracut

BZ#1929201

dwz

BZ#1948709

dyninst

BZ#1933893, BZ#1957942

edk2

BZ#1741615, BZ#1935497

elfutils

BZ#1933890, BZ#1957225

fence-agents

BZ#1775847

firewalld

BZ#1872702, BZ#1492722, BZ#1871860

freeradius

BZ#1954521, BZ#1977572, BZ#1723362, BZ#1958979

gcc-toolset-11-gdb

BZ#1954332

gcc-toolset-11

BZ#1953094

gcc

BZ#1974402, BZ#1946758, BZ#1946782, BZ#1927516, BZ#1979715

gdb

BZ#1854784, BZ#1853140

glibc

BZ#1934155, BZ#1912670, BZ#1930302

gnome-shell-extensions

BZ#1717947

gnome-shell

BZ#1935261, BZ#1651378

gnome-software

BZ#1668760

gnutls

BZ#1965445, BZ#1956783, BZ#1628553

go-toolset

BZ#1938071

golang

BZ#1979100, BZ#1972825

grafana-container

BZ#1971557

grafana-pcp

BZ#1921190

grafana

BZ#1921191

grub2

BZ#1583445

hwloc

BZ#1917560

ipa

BZ#1924707, BZ#1664719, BZ#1664718

ipmitool

BZ#1951480

kernel

BZ#1944639, BZ#1907271, BZ#1902543, BZ#1959772, BZ#1954363, BZ#1924230, BZ#1954024, BZ#1837389, BZ#1570255, BZ#1938339, BZ#1865745, BZ#1836058, BZ#1906870, BZ#1934033, BZ#1924016, BZ#1942888, BZ#1868526, BZ#1812577, BZ#1694705, BZ#1910358, BZ#1953926, BZ#1730502, BZ#1930576, BZ#1609288, BZ#1793389, BZ#1654962, BZ#1666538, BZ#1602962, BZ#1940674, BZ#1920086, BZ#1971506, BZ#1605216, BZ#1519039, BZ#1627455, BZ#1501618, BZ#1633143, BZ#1814836, BZ#1696451, BZ#1348508, BZ#1839311, BZ#1783396, JIRA:RHELPLAN-57712, BZ#1837187, BZ#1904496, BZ#1660337, BZ#1905243, BZ#1878207, BZ#1665295, BZ#1871863, BZ#1569610, BZ#1794513

kexec-tools

BZ#1922951, BZ#1879558, BZ#1854037, BZ#1931266, BZ#2004000

krb5

BZ#1956388, BZ#1877991

libcomps

BZ#1960616

libgcrypt

BZ#1976137

libgnome-keyring

BZ#1607766

libguestfs

BZ#1554735

libmodulemd

BZ#1894573, BZ#1984402

librepo

BZ#1814383

libreswan

BZ#1958968, BZ#1934058, BZ#1934859, BZ#1989050

libselinux-python-2.8-module

BZ#1666328

libservicelog

BZ#1844430

libvirt

BZ#1664592, BZ#1332758, BZ#1528684

linuxptp

BZ#1895005

llvm-toolset

BZ#1927937

lsvpd

BZ#1844428

lvm2

BZ#1899214, BZ#1496229, BZ#1768536

mariadb-connector-odbc

BZ#1944692

MariaDB

BZ#1944653,BZ#1942330

mesa

BZ#1886147

modulemd-tools

BZ#1924850

mutt

BZ#1912614

net-snmp

BZ#1919714

nfs-utils

BZ#1868087, BZ#1592011

nginx

BZ#1945671

nispor

BZ#1848817

nodejs-16-container

BZ#2001020

nss_nis

BZ#1803161

nss

BZ#1817533, BZ#1645153

opal-prd

BZ#1921665

opencryptoki

BZ#1919223

opencv

BZ#1886310

openmpi

BZ#1866402

opensc

BZ#1947025

openscap

BZ#1959570, BZ#1953092, BZ#1966612

openslp

BZ#1965649

openssl

BZ#1810911

osbuild-composer

BZ#1945238, BZ#1937854, BZ#1915351, BZ#1951964

oscap-anaconda-addon

BZ#1691305, BZ#1674001, BZ#1843932, BZ#1665082

pacemaker

BZ#1948620, BZ#1443666

papi

BZ#1908126

pcp-container

BZ#1974912

pcp

BZ#1922040, BZ#1879350, BZ#1629455

pcs

BZ#1839637, BZ#1872378, BZ#1909901, BZ#1885293, BZ#1290830, BZ#1619620, BZ#1847102, BZ#1851335

pg_repack

BZ#1967193

php

BZ#1944110

pki-core

BZ#1729215

podman

JIRA:RHELPLAN-77542, JIRA:RHELPLAN-77241, BZ#1934480, JIRA:RHELPLAN-77238, JIRA:RHELPLAN-77489, JIRA:RHELPLAN-92741

postfix

BZ#1711885

powertop

BZ#1834722

ppc64-diag

BZ#1779206

pykickstart

BZ#1637872

qatlib

BZ#1920237

qemu-kvm

BZ#1740002, BZ#1719687, BZ#1651994

quota

BZ#1945408

rear

BZ#1983013, BZ#1930662, BZ#1958247, BZ#1988493, BZ#1958222, BZ#1983003, BZ#1747468, BZ#1868421

redhat-release

BZ#1935177

redhat-support-tool

BZ#1802026

restore

BZ#1997366

rhel-system-roles

BZ#1960375, BZ#1866544, BZ#1961858, BZ#1958963, BZ#1938014, BZ#1954747, BZ#1854187, BZ#1757869, BZ#1990947, BZ#1952090, BZ#1994580, BZ#1967335, BZ#1966711, BZ#1962976, BZ#1938016, BZ#1986463, BZ#1970664, BZ#1970642, BZ#1848683, BZ#1938020, BZ#1938023, BZ#1957849, BZ#1959649, BZ#1939711, BZ#1943679, BZ#1882475, BZ#1876315, BZ#1894642, BZ#1989199, BZ#1893743

rpm

BZ#1938928, BZ#1688849

rsyslog

BZ#1891458, BZ#1932795, BZ#1679512, JIRA:RHELPLAN-10431

RT-tests

BZ#1954387

Ruby

BZ#1938942

rust-toolset

BZ#1945805

samba

BZ#1944657, BZ#2009213, JIRA:RHELPLAN-13195, Jira:RHELDOCS-16612

scap-security-guide

BZ#1857179, BZ#1946252, BZ#1955373, BZ#1966577, BZ#1970137, BZ#1993056, BZ#1993197, BZ#1876483, BZ#1955183, BZ#1843913, BZ#1858866, BZ#1750755

selinux-policy

BZ#1994096, BZ#1860443, BZ#1931848, BZ#1947841, BZ#1461914

socat

BZ#1947338

scs

BZ#1928679

spice

BZ#1849563

squid

BZ#1964384

sssd

BZ#1737489, BZ#1879869, BZ#1949149, BZ#1627112, BZ#1947671

systemtap

BZ#1933889, BZ#1957944

tboot

BZ#1947839

tesseract

BZ#1826085

tss2

BZ#1822073

tuned

BZ#1951992

udftools

BZ#1882531

udica

BZ#1763210

usbguard

BZ#2000000

valgrind

BZ#1933891, BZ#1957226

vdo

BZ#1949163

wayland

BZ#1673073

xfsprogs

BZ#1949743

xorg-x11-server

BZ#1698565

其他

BZ#2005277, BZ#1839151, JIRA:RHELPLAN-89566, JIRA:RHELPLAN-92473, JIRA:RHELPLAN-96640, JIRA:RHELPLAN-97145, BZ#1935686, BZ#1986007, JIRA:RHELPLAN-75166, JIRA:RHELPLAN-76515, JIRA:RHELPLAN-57941, JIRA:RHELPLAN-85064, JIRA:RHELPLAN-87877, JIRA:RHELPLAN-75164, BZ#2011448, JIRA:RHELPLAN-99040, JIRA:RHELPLAN-99049, JIRA:RHELPLAN-99043, JIRA:RHELPLAN-99044, JIRA:RHELPLAN-99148, JIRA:RHELPLAN-61867, BZ#2013853, BZ#1957316, JIRA:RHELPLAN-79074, BZ#2019318, JIRA:RHELPLAN-59528, JIRA:RHELPLAN-95056, BZ#1971061, BZ#1959020, BZ#1897383, BZ#1961722, BZ#1777138, BZ#1640697, BZ#1659609, BZ#1687900, BZ#1697896, BZ#1757877, BZ#1741436, JIRA:RHELPLAN-59111, JIRA:RHELPLAN-27987, JIRA:RHELPLAN-28940, JIRA:RHELPLAN-34199, JIRA:RHELPLAN-57914, JIRA:RHELPLAN-96940, BZ#1987087, BZ#1974622, BZ#1995558, BZ#2028361, BZ#1690207, JIRA:RHELPLAN-1212, BZ#1559616, BZ#1889737, BZ#1812552, JIRA:RHELPLAN-14047, BZ#1769727, JIRA:RHELPLAN-27394, JIRA:RHELPLAN-27737, BZ#1906489, JIRA:RHELPLAN-58596, BZ#1642765, JIRA:RHELPLAN-10304, BZ#1646541, BZ#1647725, BZ#1932222, BZ#1686057, BZ#1748980, BZ#1958250, JIRA:RHELPLAN-71200, BZ#1827628, JIRA:RHELPLAN-45858, BZ#1871025, BZ#1871953, BZ#1874892, BZ#1893767, BZ#1916296, JIRA:RHELPLAN-100400, BZ#1926114, BZ#1904251, BZ#2011208, JIRA:RHELPLAN-59825, BZ#1920624, JIRA:RHELPLAN-70700, BZ#1929173, BZ#2006665, JIRA:RHELPLAN-98983, BZ#2013335, BZ#2019786, BZ#2009113, BZ#2038929

附录 B. 修改历史记录

0.3-2

2024 年 5 月 9 日星期四,Brian Angelica (bangelic@redhat.com)

0.3-1

2024 年 5 月 9 日星期四,Gabriela Fialova (gfialova@redhat.com)

0.3-0

2024 年 2 月 29 日星期四, Lucie Vaááková(lvarakova@redhat.com)

0.2-9

2023 年 11 月 10 日星期五, Gabriela Fialová(gfialova@redhat.com)

  • 更新了对 RHEL 文档提供反馈的模块。
0.2-8

2023 年 11 月 7 日星期二, Gabriela Fialová(gfialova@redhat.com)

  • 修复损坏的链接。
0.2-7

2023 年 10 月 13 日星期五, Gabriela Fialová(gfialova@redhat.com)

0.2-6

2023 年 9 月 8 日, Marc Muehlfeld (mmuehlfeld@redhat.com)

0.2-5

Wed Jun 7 2023, Lucie Vařáková (lvarakova@redhat.com)

0.2-4

2023 年 4 月 27 日, Gabriela Fialová(gfialova@redhat.com)

0.2-3

2023 年 4 月 13 日星期四, Gabriela Fialová(gfialova@redhat.com)

  • 修复了 DF 和 KI 中的 2 个坏掉的链接。
0.2-2

2023 年 1 月 30 日星期一, Lucie Vařáková (lvarakova@redhat.com)

0.2-1

2022 年 12 月 8 日星期四, Marc Muehlfeld (mmuehlfeld@redhat.com)

  • 添加了一个已知问题 BZ#2132754 (网络)。
0.2-0

Fri Jul 29, Lucie Vařáková (lvarakova@redhat.com)

  • 添加了 bug 修复 BZ#1661674(文件系统和存储)。
0.1-9

Thu Jun 09, Lucie Vařáková (lmanasko@redhat.com)

  • 添加了已知问题 BZ#2059262 (文件系统和存储)。
  • 添加了程序错误修复 BZ#1940468 (Shells 和命令行工具)。
0.1-8

4 月 29 日 星期五, Lenka Špačková (lspackova@redhat.com)

0.1-7

2022 年 4 月 27 日星期三,Gabriela Fialová(gfialova@redhat.com)

  • 添加了 BZ#2050140 到已知问题(安装程序)。
0.1-6

2022 年 4 月 1 日星期五, Gabriela Fialová(gfialova@redhat.com)

0.1-5

Tue Mar 22, 2022, Lucie Maňásková (lmanasko@redhat.com)

0.1-5

2022 年 3 月 21 日星期一,Jaroslav Klech (jklech@redhat.com)

  • 从已知问题(内核)中删除 BZ#1666538。
0.1-4

2022 年 3 月 17 日星期四, Jaroslav Klech (jklech@redhat.com)

  • 从已知问题(内核)中删除 BZ#1947839。
0.1-3

Tue Feb 15, 2022, Lucie Maňásková (lmanasko@redhat.com)

0.1-2

2022 年 2 月 4 日星期五,Jaroslav Klech(jklech@redhat.com)

  • 更新了已弃用软件包列表。
  • 添加了已弃用的功能 BZ#1871863 (内核)。
  • 添加了已弃用的功能 BZ#2038929 (Shells 和命令行工具)。
0.1-1

2022 年 2 月 3 日星期四,Gabriela Fialová(gfialova@redhat.com)

  • 添加了已弃用的功能 BZ#2009113 (网络)。
  • 添加了已弃用的功能 BZ#1794513 (文件系统和存储)。
0.1-0

2022 年 2 月 1 日星期二,Lucie Maňásková (lmanasko@redhat.com)

  • 添加了已弃用的功能 BZ#1997366 (Shells 和命令行工具)。
  • BZ#1664592 从已知问题改为弃用的功能(虚拟化)。
0.0-9

2022 年 1 月 27 日星期四,Lucie Maňásková (lmanasko@redhat.com)

  • 向已知问题(Shell 和命令行工具)添加了 BZ#2030661
  • 更新了已弃用设备列表。
0.0-8

2022 年 1 月 17 日星期一,Lucie Maňásková (lmanasko@redhat.com)

  • 向新功能(容器)添加了 BZ#2009153
  • 向已知问题(安装程序和镜像创建)添加了 BZ#2028361
  • 更新了已弃用设备列表。
0.0-7

Tue Dec 21 2021, Lenka Špačková (lspackova@redhat.com)

  • 向技术预览 BZ#1605216 和已弃用的功能 BZ#1878207 (内核)添加了有关 Soft-RoCE 驱动程序 rdma_rxe 的信息。
  • ubi8/nodejs-16ubi8/nodejs-16-minimal 容器镜像 BZ#2001020 从技术预览移到完全支持的功能(容器)。
0.0-6

2021 年 12 月16 日星期四, Lenka Špačková (lspackova@redhat.com)

  • nodejs:16 模块流 BZ#1953991 从技术预览移到完全支持的功能(动态编程语言、Web 和数据库服务器)。
0.0-5

Fri Dec 10 2021, Lucie Maňásková (lmanasko@redhat.com)

  • 添加了已弃用的功能 BZ#1827628 (文件系统和存储)。
  • 向已知问题(内核)添加了 BZ#1654962
  • 其他小更新。
0.0-4

Mon Nov 22 2021, Lucie Maňásková (lmanasko@redhat.com)

  • 更新了新功能 BZ#1922951 (内核)。
  • 添加了新功能 BZ#1934480 (容器)。
  • 其他小更新。
0.0-3

Fri Nov 19 2021, Lucie Maňásková (lmanasko@redhat.com)

  • BZ#1959772BZ#1954363 添加到 bug 修复(内核)。
  • 向程序错误修复(身份管理)中添加了 BZ#1977572
  • 向新功能(编译器和开发工具)添加了 BZ#2022794 新功能。
  • 添加了有关更改外部内核参数的信息。
0.0-2

2021 年 11 月 17 日星期三,Prerana Sharma (presharm@redhat.com)

  • 在附录 A 中添加了 BZ#1944716 (bpftrace)。
0.0-1

Wed Nov 10 2021, Lucie Maňásková (lmanasko@redhat.com)

  • 发布 Red Hat Enterprise Linux 8.5 发行注记。
0.0-0

2021 年 10 月 6 日星期三, Lucie Maňásková (lmanasko@redhat.com)

  • 发布 Red Hat Enterprise Linux 8.5 Beta 发行注记。

法律通告

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.