8.1 发行注记

Red Hat Enterprise Linux 8

Red Hat Enterprise Linux 8.1 发行注记

摘要

本发行注记提供了在 Red Hat Enterprise Linux 8.1 和文档中已知问题改进和附加的高级信息,以及重要的程序错误修复、技术预览、已弃用的功能和其他详情。

对红帽文档提供反馈

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

  • 关于特定内容的简单评论,请确定您使用多页 HTML 格式查看文档。用鼠标指针高亮显示您想评论的文本部分。然后点击在高亮文本下面出现的 添加反馈,然后按照显示的步骤操作。
  • 要提交更复杂的反馈,请创建一个 Bugzilla ticket:

    1. 进入 Bugzilla 网站。
    2. 在 Component 中选择 Documentation
    3. Description 中输入您要提供的信息。包括文档相关部分的链接。
    4. Submit Bug

第 1 章 概述

安装程序和镜像创建

用户现在可以在 Kickstart 安装过程中禁用模块。

详情请查看 第 6.1.1 节 “安装程序和镜像创建”

Red Hat Enterprise Linux 系统角色

RHEL 系统角色添加了一个新的 storage 角色。

详情请查看 第 6.1.17 节 “Red Hat Enterprise Linux 系统角色”

基础架构服务

RHEL 8.1 引入了一个新的路由协议堆栈, FRR替换了。 Quagga 用于以前的 RHEL 版本。FRR 提供基于 TCP/IP 的路由服务,并支持多个 IPv4 和 IPv6 路由协议。

The Tuned 系统调优工具已更新至 2.12 版本,它添加了对拒绝 CPU 列表的支持。

The chrony 套件已更新至版本 3.5,它添加了对系统时钟与 RHEL 8.1 内核中硬件时间戳进行更准确的同步的支持。

如需更多信息,请参阅 第 6.1.4 节 “基础架构服务”

安全性

RHEL 8.1 引入了一个新工具,用于为容器生成 SELinux 策略: udica.使用 udica您可以创建定制的安全策略,更好地控制容器如何访问主机系统资源,如存储、设备和网络。这可让强化容器部署以避免出现安全问题,并简化了规范合规性的实现和维护。

fapolicyd 软件框架根据用户定义的策略引入了一种应用白名单和黑名单。RHEL 8.1 应用程序白名单功能提供了一种最有效的方法,可以防止在系统上运行不受信任和可能的恶意应用程序。

安全合规性套件 OpenSCAP 现在支持 SCAP 1.3 数据流,并提供改进的报告。

如需更多信息,请参阅 第 6.1.5 节 “安全性”

内核

现在,内核的实时补丁 kpatch 可用,您可以在无需重启系统的情况下应用关键和重要的 CVE 修复。

扩展 Berkeley Packet 过滤器(eBPF) 是一个内核内虚拟机,允许在内核空间中执行代码。RHEL 中的多个组件使用 eBPF。在 RHEL 8.1 中,BPF Compiler Collection(BCC) 工具软件包在 AMD 和 Intel 64 位构架中被完全支持,并作为其他构架的技术预览提供。另外,bpftrace 追踪语言和s eXpress Data Path(XDP) 功能也作为技术预览提供。

如需更多信息,请参阅 第 6.1.7 节 “内核”第 6.5.2 节 “内核”

文件系统和存储

LUKS 版本 2(LUKS2)格式现在支持在设备正在使用时重新加密块设备。

如需更多信息,请参阅 第 6.1.9 节 “文件系统和存储”

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

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

  • PHP 7.3
  • Ruby 2.6
  • Node.js 12
  • nginx 1.16

详情请查看 第 6.1.11 节 “动态编程语言、网页和数据库服务器”

编译器工具集

RHEL 8.1 引入了一个新的编译器工具集 GCC Toolset 9,它是一个 Application Stream,打包为 Software Collection,它提供了开发工具的最新版本。

另外,以下编译器工具集已被升级:

  • LLVM 8.0.1
  • Rust Toolset 1.37
  • Go Toolset 1.12.8

如需更多信息,请参阅 第 6.1.12 节 “编译器和开发工具”

Identity Management

身份管理引进了新的命令行工具 - Healthcheck.状况检查 可帮助用户发现可能会影响其 IdM 环境适用性的问题。

详情请查看 第 6.1.13 节 “Identity Management”

身份管理现在支持用于安装和管理的 Ansible 角色和模块。在这个版本中,基于 IdM 的解决方案的安装和配置更容易。

如需更多信息,请参阅 第 6.1.13 节 “Identity Management”

Desktop

GNOME Classic 环境中的工作空间交换器已被修改。交换器现在位于底部栏的右侧,它被设计为一个横向的缩略图。点击相关的缩略图标可以在不同工作区间切换。如需更多信息,请参阅 第 6.1.14 节 “Desktop”

Direct Rendering Manager( DRM)内核图形子系统已更新到上游 Linux 内核版本 5.1。与之前的版本相比,这个版本提供了很多改进,包括对新 GPU 和 APU 以及各种驱动程序更新的支持。详情请查看 第 6.1.14 节 “Desktop”

RHEL 7 原位升级到 RHEL 8

引进了以下主要改进:

  • 添加了对以下架构的原位升级的支持: 64 位 ARM、IBM POWER(little endian)、IBM Z。
  • 现在,可以在 web 控制台中执行预升级系统评估,并使用新的 cockpit-leapp 插件应用自动补救方法。
  • /var 或者 /usr 目录现在可以挂载到一个独立的分区中。
  • 现在支持 UEFI。
  • Leapp 现在从 Supplementary 软件仓库升级软件包。

有关支持的升级路径的详情,请参考 支持的 Red Hat Enterprise Linux 原位升级路径。有关如何执行原位升级的步骤,请参阅 从 RHEL 7 升级到 RHEL 8

如果使用 CentOS Linux 7 或 Oracle Linux 7,您可以在升级到 RHEL 8 之前使用 convert2rhel 实用程序将操作系统转换为 RHEL 7。具体步骤请参阅从基于 RPM 的 Linux 发行版转换到 RHEL

其它资源

红帽客户门户网站 Labs

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

第 2 章 构架

Red Hat Enterprise Linux 8.1 带有内核版本 4.18.0-147,它支持以下构架:

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

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

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

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

新内核参数

perf_v4_pmi = [X86,INTEL]

这个参数禁用 Intel PMU 计数器冻结功能。

该功能仅从 Arch Perfmon v4(Skylake 和更新版本)开始。

格式: <bool>

hv_nopvspin [X86,HYPER_V]
此参数禁用半虚拟跳锁优化,允许管理程序在锁定争用时"隔离"客户机。
ipcmni_extend [KNL]
此参数将唯一 System V IPC 标识符的最大数量从 32,768 扩展至 16,777,216。
kpti = [ARM64]

这个参数控制用户和内核地址空格的页表隔离。

这些选项是:

  • Default: 在需要缓解的内核上启用。
  • 0: force disabled
  • 1: force enabled
mds = [X86,INTEL]

此参数控制 Micro-architectural Data Sampling(MDS)漏洞的缓解方案。

某些 CPU 容易遭受 CPU 内部缓冲区的攻击,在某些情况下可将信息转发到泄漏小工具。在存在安全漏洞的处理器中,缓存侧频道攻击可以利用预测的数据转发,访问到应该无法直接访问到的数据。

这些选项是:

  • full - 在存在安全漏洞的 CPU 上启用 MDS 缓解。
  • full,nosmt - 在存在安全漏洞的 CPU 上启用 MDS 缓解措施并禁用 Simultaneous Multi Threading(SMT)。
  • off - 无条件禁用 MDS 缓解措施。

    不指定这个参数等同于 mds=full

    详情请查看上游内核文档

mitigations = [X86,PPC,S390,ARM64]

此参数控制 CPU 漏洞的可选缓解方案。这是一组策展的、架构独立的选项,每个选项都是现有的特定架构选项的聚合。

这些选项是:

  • off - 禁用所有可选 CPU 缓解方案。这提高了系统性能,但也可能会为用户提供几个 CPU 漏洞。

    等同于:

    • nopti [X86,PPC]
    • kpti=0 [ARM64]
    • nospectre_v1 [X86,PPC]
    • nobp=0 [S390]
    • nospectre_v2 [X86,PPC,S390,ARM64]
    • spectre_v2_user=off [X86]
    • spec_store_bypass_disable=off [X86,PPC]
    • ssbd=force-off [ARM64]
    • l1tf=off [X86]
    • mds=off [X86]
  • auto (默认)- 匹配所有 CPU 漏洞,但让 Simultaneous Multi Threading(SMT)保持启用,即使它存在安全漏洞。这个选项适用于 SMT 在内核升级过程中被禁用,或者有其它方法避免基于 SMT 攻击的用户。

    等同于:

    • (默认行为)
  • auto,nosmt - 缓解所有 CPU 漏洞,根据需要禁用 Simultaneous Multi Threading(SMT)。这个选项适用于始终希望完全缓解的用户,即使它意味着丢失 SMT。

    等同于:

    • l1tf=flush,nosmt [X86]
    • mds=full,nosmt [X86]
novmcoredd [KNL,KDUMP]

这个参数禁用设备转储。

设备转储允许驱动程序将转储数据附加到 vmcore,以便您可以收集驱动程序指定的调试信息。驱动程序可以在没有任何限制的情况下附加数据,此数据存储在内存中,因此可能会产生大量内存压力。

禁用设备转储可帮助保存内存,但驱动程序调试数据将不再可用。

这个参数只有在设置了 CONFIG_PROC_VMCORE_DEVICE_DUMP 内核配置时才可用。

nospectre_v1 [X86]

这个参数禁用对 Spectre 变体 1(跳过绑定检查)的缓解方案。

使用这个选项时,系统中可能会出现数据泄漏。

psi = [KNL]

这个参数启用或禁用压力停滞的信息跟踪。

格式: <bool>

random.trust_cpu={on,off} [KNL]
这个参数启用或禁用信任使用 CPU 的随机数字生成器(如果可用)来完全查看内核的加密随机数字生成器(CRNG)。默认由 CONFIG_RANDOM_TRUST_CPU 内核配置控制。
vm_debug[=options] [KNL]

可用于 CONFIG_DEBUG_VM=y

启用这个参数可能会减慢系统引导速度,特别是在有大量内存的系统中。

所有选项都默认启用,此接口允许有选择地启用或禁用特定的虚拟内存调试功能。

这些选项是:

  • P - 启用页面结构 init 时间投毒。
  • - (短划线)- 禁用上述所有选项。

更新的内核参数

cgroup_no_v1 = [KNL]

此参数在版本 1(v1)中禁用 cgroup 控制器和命名层次结构。

参数类似于 cgroup_disable 内核参数,但只适用于 cgroup v1。黑名单控制器在 cgroup2 中仍然可用。"all"选项将所有控制器和"named"选项列入黑名单,禁用命名挂载。指定"all"和"named"可禁用所有 v1 层次结构。

格式:{ { controller | "all" | "named" } [,{ controller | "all" | "named" }…​] }

crashkernel = size[KMG][@offset[KMG]][KNL]

kexec 系统调用允许 Linux 在 panic 时切换到 'crash 内核'。此参数保留该内核镜像的物理内存区域 [offset, offset + size]。如果省略 @offset,则会自动选择合适的偏移。

[KNL, x86_64] 首先选择 4G 下的区域,并在未指定 @offset 时回退以保留 4G 以上的地区。

如需更多信息,请参阅上游 kdump 文档

l1tf = [X86]

此参数控制受影响 CPU 上 L1 Terminal Fault(L1TF)漏洞的缓解。

这些选项是:

  • off - 禁用虚拟机监控程序缓解措施,且不会发出任何警告。它还会在系统管理程序和裸机上丢弃交换大小和可用 RAM 限制限制。
  • flush - 是默认值。

    详情请查看上游内核文档

nospectre_v2 [X86,PPC_FSL_BOOK3E,ARM64]

此参数禁用 Spectre 变体 2(直接分支预测)漏洞的所有缓解方案。

系统可能会允许使用此参数出现数据泄漏。

pci=option[,option…​] [PCI]

各种 PCI 子系统选项.

这些选项是:

  • force_floating [S390] - 强制使用浮动中断。
  • nomio [S390] - 不使用内存输入/输出(MIO)指令。

新的 /proc/sys/kernel 参数

hyperv_record_panic_msg

这个参数控制 panic 内核信息(kmsg)数据是否向 Hyper-V 报告。

值是:

  • 0 - 不报告 panic kmsg 数据。
  • 1 - 报告 panic kmsg 数据。这是默认的行为。

新的 /proc/sys/net 参数

bpf_jit_limit

此参数对分配给 Berkeley Packet Just-in-Time(BPF JIT)编译器的内存分配实施全局限制,以便在超过非特权 JIT 请求后拒绝它。

bpf_jit_limit 参数包含全局限制的值,以字节为单位。

更新了 /proc/sys/fs 参数

dentry-state

dentry 是动态分配和取消分配的。

用户可以通过读取 /proc/sys/fs/dentry-state 文件检索以下值:

  • nr_dentry - 显示分配的目录项总数(活跃 + 未使用)。
  • nr_unused - 显示未使用但当前使用的 Least 中的目录项数(LRU)列表供以后重复使用。
  • age_limit - 显示内存不足时可重新声明 dcache 条目的年龄(以秒为单位)。
  • want_pages - 当调用了 shrink_dcache_pages() 函数且 dcache 尚未修剪时,则为非零。
  • nr_negative - 显示也没有映射到任何文件的负目录项的数量。相反,它们有助于加快拒绝用户提供的非现有文件。

更新了 /proc/sys/kernel 参数

msg_next_id, sem_next_id, and shm_next_id

备注:

  1. 内核不保证新对象具有所需的 ID。它取决于用户空间,以及如何使用"wrong" ID 处理对象。
  2. 在成功分配进程间通信(IPC)对象分配后,内核将使用非默认值切换回 -1。如果 IPC 对象分配 syscall 失败,如果值未修改或重置为 -1,则该值将被取消定义。

第 4 章 RHEL 8 中的内容发布

4.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 安装文档。有关自动的 Kickstart 安装和其他高级主题,请参阅 执行高级 RHEL 安装文档。

4.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 软件仓库的详情,请查看 软件包清单

4.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 模块提供,默认为 postgresql:10。在系统中只能安装 一 个模块流。不同的容器可以使用不同的版本。

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

4.4. 使用 YUM/DNF 管理软件包

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

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

第 5 章 RHEL 8.1.1 发行版本

红帽在次发行版本(8.Y)之间会每季度提供一次 Red Hat Enterprise Linux 8 的内容。每季度发布的版本使用第三个数字(8.Y.1)进行编号。RHEL 8.1.1 发行版中的新功能如下所述。

5.1. 新特性

新模块流: postgresql:12

RHEL 8.1.1 版本引入了 PostgreSQL 12,它比版本 10 提供了一些新功能和增强。主要变更包括:

  • PostgreSQL 审计扩展 pgaudit,它通过标准 PostgreSQL 日志记录功能提供详细的会话和对象审计日志记录
  • 分区功能的改进,例如支持哈希分区
  • 查询并行的增强
  • 存储的 SQL 程序启用事务管理
  • 各种性能改进
  • 对管理功能的增强
  • 支持 SQL/JSON 路径语言
  • 保存生成的列
  • 非确定性排序
  • 新的身份验证功能,包括在使用 GSSAPI 身份验证或多因素验证时对 TCP/IP 连接进行加密。

请注意,postgresql:12 模块流不提供对 Just-In-Time(JIT)编译的支持(从 PostgreSQL 11 开始上游提供)。

要安装 postgresql:12 流,请使用:

# yum module install postgresql:12

如果要从 RHEL 8 中的较早 postgresql 流升级,请按照切换到更新的流中介绍的步骤进行,然后迁移 PostgreSQL 数据,如 Migrating to a RHEL 8 版本所述。

(JIRA:RHELPLAN-26926)

Rust Toolset rebase 到版本 1.39

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

  • async - .await 语法已添加到 stable Rust。现在,您可以定义 async 功能和块,以及 .await
  • 增强的管道编译将构建时间缩短了优化、干净的一些剪切图形构建 10-20%。
  • by-move 绑定处于 match 表达式的主要模式时,if 保护现在可以引用这些绑定。
  • Trust 应该在编译时检测到内存安全错误,但之前的租借检查器存在限制,并允许未定义的行为和内存不安全。新的 NLL 银行支票可以发现这些问题,并作为迁移步骤引发有关此问题的警告。现在,这些警告是硬错误。
  • 现在,当使用 mem::{uninitialized, zeroed} 函数初始化一些类型时,rust c 编译器提供了一个 lint,如 &TBox<T>
  • 以下功能现在在标准库中 const fn: Vec::newString::newLinkedList::newstr::len[T]::lenstr::as_bytesabswrapping_absoverflowing_abs

要安装 Rust Toolset 模块流,以 root 用户身份运行以下命令:

# yum module install rust-toolset

有关使用方法的详细信息,请参阅使用 Rust Toolset

(BZ#1680096)

新模块: jmc:rhel8

RHEL 8.1.1 引进了 JDK Mission Control(JMC),这是一个用于 HotSpot JVM 的强大配置集程序,作为新的 jmc 模块。JMC 提供一套高级工具,用于对 JDK Flight 记录器收集的大量数据进行高效、详细的分析。工具链使开发人员和管理员可以从本地运行或在生产环境中部署的 Java 应用程序中收集数据。请注意,JMC 需要 JDK 版本 8 或更高版本才能运行。目标 Java 应用程序必须至少使用 OpenJDK 版本 11 运行,以便 JMC 可以访问 JDK Flight Recorder 功能。

jmc:rhel8 模块流有两个配置集:

  • common 配置集,它安装整个 JMC 应用程序
  • core 配置,它只安装核心 Java 库(jmc-core

要安装 jmc:rhel8 模块流的 common 配置集,请使用:

# yum module install jmc:rhel8/common

将配置集名称更改为 core 以只安装 jmc-core 软件包。

(BZ#1716452)

NET Core 3.1 现在包括在 RHEL 8 中

在这个版本中,为 RHEL 8 添加了 .NET Core 3.1 软件开发套件(SDK)和 .NET Core 3.1 Runtime。此外,用于构建 Web 应用程序和服务的 ASP.NET Core 3.1 框架现已可用。

(BZ#1711405)

virtio-win 驱动程序的新安装程序

一个交互式 Windows 安装程序已添加到 virtio-win 软件包中。这样便可以在使用 Microsoft Windows 作为客户机操作系统的虚拟机中轻松而高效地安装半虚拟化 KVM 驱动程序。

(BZ#1745298)

container-tools 已更新

包括 podmanbuildahskopeorunc 工具的 container-tools 模块已更新。容器中的工具现在被构建为启用了 FIPS 模式。另外,这个更新修复了一些程序错误和安全问题。

(BZ#1783277)

conmon 现在位于单独的软件包中

conmon 开放容器计划(OCI)容器运行时监控程序已移到一个单独的 conmon 软件包中。它在 podman 软件包中不再可用。

(BZ#1753209)

第 6 章 RHEL 8.1.0 发行版本

6.1. 新特性

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

6.1.1. 安装程序和镜像创建

现在可以在 Kickstart 安装过程中禁用模块

在这个版本中,用户可以禁用模块来防止从模块安装软件包。要在 Kickstart 安装过程中禁用模块,请使用该命令:

module --name=foo --stream=bar --disable

(BZ#1655523)

现在提供了对蓝图的 repo.git 部分的支持

新的 repo.git 蓝图部分允许用户在其镜像构建中包含额外文件。这些文件必须托管在 git 存储库中,该存储库中可从 lorax-composer 构建服务器访问。

(BZ#1709594)

镜像构建器现在支持为更多云供应商创建镜像

在这个版本中,Image Builder 扩展了 Image Builder 可为其创建镜像的云供应商数量。现在,您可以创建也可以在 Google Cloud 和 Alibaba Cloud 上部署的 RHEL 镜像,并在这些平台上运行自定义实例。

(BZ#1689140)

6.1.2. 软件管理

dnf-utils 已重命名为 yum-utils

在这个版本中,作为 YUM 堆栈一部分的 dnf-utils 软件包被重命名为 yum-utils。出于兼容性的原因,仍然可以使用 dnf-utils 名称安装该软件包,并在升级您的系统时自动替换原始软件包。

(BZ#1722093)

6.1.3. 订阅管理

subscription-manager 现在报告角色、用法和附加组件值

在这个版本中,subscription-manager 可以显示当前机构中每个订阅的 Role、Usage 和 Add-ons 值,这些订阅已注册到客户门户网站或 Satellite。

  • 通过为那些订阅添加角色、使用 和 Add-ons 值来显示可用的订阅:

    # subscription-manager list --available
  • 要显示消耗的订阅,包括额外的角色、使用和附加组件值,请使用:

    # subscription-manager list --consumed

(BZ#1665167)

6.1.4. 基础架构服务

tuned rebase 到版本 2.12

tuned 软件包已升级到上游版本 2.12,它提供很多程序错误修复和增强,特别是:

  • 已删除和重新附加的设备的处理已被修复。
  • 添加了对 CPU 列表求反的支持。
  • 通过从 sysctl 工具切换到特定于 Tuned 的新实现,改进了运行时内核参数配置的性能。

(BZ#1685585)

chrony rebase 到版本 3.5

chrony 软件包已升级到上游版本 3.5,它提供很多程序错误修复和增强,特别是:

  • 添加了对 RHEL 8.1 内核中与硬件时间戳进行更准确的系统时钟同步的支持。
  • 硬件时间戳有显著改进。
  • 可用轮询间隔的范围已扩展。
  • filter 选项已添加到 NTP 源中。

(BZ#1685469)

提供了新的 FRRouting 路由 协议堆栈

在这个版本中, Quagga 被 Free Range Routing(FRRouting FRR)替代,这是一个新的路由协议堆栈。FRR 由 AppStream 软件仓库中的 frr 软件包提供。

FRR 提供基于 TCP/IP 的路由服务,支持多个 IPv4 和 IPv6 路由协议,如 BGPIS-ISOSPF PIMRIP

安装 FRR 时,系统可以充当专用路由器,与内部或外部网络中的其他路由器交换路由信息。

如需更多信息,请参阅 为您的系统设置路由协议

(BZ#1657029)

GNU enscript 现在支持 ISO-8859-15 编码

在这个版本中,在 GNU enscript 程序中添加了对 ISO-8859-15 编码的支持。

(BZ#1664366)

提高了 phc2sys中系统时钟偏移的测量准确性

linuxptp 软件包中的 phc2sys 程序现在支持更精确的方法来测量系统时钟偏移。

(BZ#1677217)

ptp4l 现在支持主动备份模式中的组接口

在这个版本中,在 PTP Boundary/Ordinary Clock(ptp4l)中添加了对主动备份 模式中的组接口的支持。

(BZ#1685467)

现在支持 macvlan 接口中的 PTP 时间同步

在这个版本中,增加了对 Linux 内核中 macvlan 接口的硬件时间戳的支持。现在,macvlan 接口可以使用 Precision Time Protocol (PTP)进行时间同步。

(BZ#1664359)

6.1.5. 安全性

新软件包: fapolicyd

fapolicyd 软件框架引入了一种基于用户定义的策略的应用程序白名单和黑名单。应用白名单功能提供了一种最有效的方法,可以防止在系统上运行不受信任和可能的恶意应用程序。

fapolicyd 框架提供以下组件:

  • fapolicyd 服务
  • fapolicyd 命令行工具
  • yum plugin
  • 规则语言

管理员可以根据路径、散列、MIME 类型或信任任何应用程序定义 allowdeny 执行规则,且有可能进行审计。

请注意,每个 fapolicyd 设置都会影响整个系统性能。性能影响因使用案例而异。应用将速度减慢 open()exec() 系统调用,因此主要影响频繁执行此类系统调用的应用程序。

如需更多信息,请参阅 RHEL 8 安全强化标题中 的配置和管理应用程序白名单 以及 fapolicyd(8)fapolicyd.rules(5)fapolicyd.conf(5) man page 中的内容。

(BZ#1673323)

新软件包: udica

新的 udica 软件包提供了一个为容器生成 SELinux 策略的工具。使用 udica,您可以创建一个定制的安全策略来更好地控制容器如何访问主机系统资源,如存储、设备和网络。这可让强化容器部署以避免出现安全问题,并简化了规范合规性的实现和维护。

如需更多信息,请参阅 RHEL 8 使用 SELinux 标题为容器创建 SELinux 策略部分。

(BZ#1673643)

SELinux 用户空间工具更新至 2.9 版本

libsepollibselinuxlibsemanagepolicycoreutilscheckpolicymcstrans SELinux 用户空间工具已升级到最新的上游版本 2.9,它比之前的版本提供了很多程序错误修复和增强。

(BZ#1672638,BZ#1672642,BZ#1672637,BZ#1672640,BZ#1672635,BZ#1672641)

setools 更新至版本 4.2.2

SETools 工具和库集合已升级到最新的上游版本 4.2.2,它提供以下更改:

  • 从 man page 中删除了源策略引用,因为不再支持载入源策略
  • 修复了别名加载中的性能回归

(BZ#1672631)

selinux-policy rebase 到 3.14.3

selinux-policy 软件包已升级到上游版本 3.14.3,它为允许规则提供了大量程序错误修正和增强。

(BZ#1673107)

新的 SELinux 类型: boltd_t

新的 SELinux 类型 ,boltd_t 限制 boltd,这是用于管理 Thunderbolt 3 设备的系统守护进程。因此,boltd 现在在 SELinux enforcing 模式下作为受限服务运行。

(BZ#1684103)

新的 SELinux 策略类: bpf

引入了一个新的 SELinux 策略类 bpfbpf 类允许用户通过 SElinux 控制 Berkeley Packet Filter (BPF) 流,并允许检查和简单操作扩展 Berkeley Packet Filter (eBPF) 程序以及 SELinux 控制的映射。

(BZ#1673056)

OpenSCAP rebase 到版本 1.3.1

openscap 软件包已升级到上游版本 1.3.1,它提供很多程序错误修复和增强,特别是:

  • 支持 SCAP 1.3 源数据流:评估、XML 架构和验证
  • 定制文件包含在 ARF 结果文件中
  • OVAL 详情总是在 HTML 报告中显示,用户不必提供 --oval-results 选项
  • HTML 报告还显示 OVAL 测试详情,用于使用 OVAL extend_definition 元素从其他 OVAL 定义中包含的 OVAL 测试
  • OVAL 测试 ID 显示在 HTML 报告中
  • 规则 ID 显示在 HTML 指南中

(BZ#1718826)

OpenSCAP 现在支持 SCAP 1.3

OpenSCAP 套件现在支持符合最新版本的 SCAP 标准 - SCAP 1.3 的数据流。现在,您可以使用 SCAP 1.3 数据流,如 scap-security-guide 软件包中包含的流,其方式与 SCAP 1.2 数据流相同,且无额外的可用性限制。

(BZ#1709429)

scap-security-guide rebase 到版本 0.1.46

scap-security-guide 软件包已升级到上游版本 0.1.46,它与之前的版本相比提供了很多程序错误修复和增强,最重要的是:* SCAP 内容符合 SCAP 标准最新版本 SCAP 1.3 * SCAP 内容支持 UBI 镜像

(BZ#1718839)

OpenSSH rebase 到 8.0p1

openssh 软件包已升级到上游版本 8.0p1,它提供很多程序错误修复和增强,最重要的是:

  • ssh-keygen 工具的默认 RSA 密钥大小增加到 3072 位
  • 删除了对 ShowPatchLevel 配置选项的支持
  • 应用大量 GSSAPI 密钥交换代码修复,如修复 Kerberos 清理过程
  • 删除回退到 sshd_net_t SELinux 上下文
  • 添加了对 Match final 块的支持
  • 修复了 ssh-copy-id 命令中的次要问题
  • 修复了与 scp 工具程序(CVE-2019-6111、CVE-20685、C-2019-6109)相关的通用漏洞和风险(CVE-2019-61E)

请注意,这个版本引进了 scp 次要不兼容的问题,以缓解 CVE-2019-6111。如果您的脚本在下载 scp 时依赖于路径的高级 bash 扩展,您可以在连接到可信服务器时使用 -T 交换机临时关闭这些缓解方案。

(BZ#1691045)

libssh 现在符合系统范围 crypto-policies

libssh 客户端和服务器现在分别自动载入 /etc/libssh/libssh_client.config 文件和 /etc/libssh/libssh_server.config。这个配置文件包含系统范围的 crypto-policies 组件为 libssh 后端设置的选项,以及 /etc/ssh/ssh_config/etc/ssh/sshd_config OpenSSH 配置文件中设置的选项。自动载入配置文件时,libssh 现在使用 crypto-policies 设置的系统范围的加密设置。这个变化简化了应用程序对已使用的加密算法集的控制。

(BZ#1610883, BZ#1610884)

提供了保留 FROMHOST 问题单的 rsyslog 选项

这个更新到 rsyslog 服务引进了选项来管理 imudpimtcp 模块的 FROMHOST 属性的字母大小写保留。将 preservecase 值设置为 on 意味着 FROMHOST 属性以区分大小写的方式处理。为了避免破坏现有配置,preservecase 的默认值为 on(对于 imtcp)和 off(对于 imudp

(BZ#1614181)

6.1.6. 网络

现在 VXLAN 和 GENEVE 隧道支持 PMTU 发现和路由重定向

Red Hat Enterprise Linux(RHEL)8.0 中的内核没有处理虚拟可扩展局域网(VXLAN)和通用网络虚拟化封装(GENEVE)隧道的 Internet 控制消息协议(ICMP)和 ICMPv6 消息。因此,在 8.1 之前的 RHEL 发行版本中,Path MTU(PMTU)发现和路由重定向不支持 VXLAN 和 GENEVE 隧道。在这个版本中,内核通过调整 PMTU 并修改转发信息来处理 ICMP "Destination Unreachable" 和 "Redirect Message" 错误消息,以及 ICMPv6 "Packet Too Big" 和 "Destination Unreachable" 错误消息。因此,RHEL 8.1 支持使用 VXLAN 和 GENEVE 隧道进行 PMTU 发现和路由重定向。

(BZ#1652222)

内核中的 XDP 和网络 eBPF 功能中的显著变化

kernel 软件包中的 XDP 和网络 eBPF 功能已升级到上游版本 5.0,它提供很多程序错误修复和增强:

  • eBPF 程序现在可以更好地与 TCP/IP 堆栈交互,执行流程断开,有更广泛的 bpf 帮助程序可用,并可访问新的映射类型。
  • XDP 元数据现在可用于 AF_XDP 套接字。

(BZ#1687459)

新的 PTP_SYS_OFFSET_EXTENDED 控制 ioctl() 可提高测量的 system-PHC ofsets 的准确性

这个增强为 ioctl() 功能增加了 PTP_SYS_OFFSET_EXTENDED 控制,以便更加精确地测量系统精确时间协议(PTP)硬件时钟(PHC)误差。PTP_SYS_OFFSET 控制 chrony 服务用来测量 PHC 和系统时钟间的偏移不够准确。使用新的 PTP_SYS_OFFSET_EXTENDED 控制,驱动程序可以隔离最低位的读取。这提高了测量偏移的准确性。网络驱动程序通常读取多个 PCI 寄存器,并且驱动程序不会读取系统时钟两次读取之间 PHC 时间戳的最低位。

(BZ#1677215)

ipset rebase 到版本 7.1

ipset 软件包已升级到上游版本 7.1,它提供很多程序错误修复和增强:

  • ipset 协议版本 7 引入了 IPSET_CMD_GET_BYNAMEIPSET_CMD_GET_BYINDEX 操作。另外,用户空间组件现在可以检测到内核组件支持的确切兼容性级别。
  • 已修复大量错误,如内存泄漏和无用错误。

(BZ#1649090)

6.1.7. 内核

RHEL 8.1 中的内核版本

Red Hat Enterprise Linux 8.1 带有内核版本 4.18.0-147。

(BZ#1797671)

现在提供了内核的实时补丁

内核的实时补丁 kpatch 提供了在不重启或重启任何进程的情况下对运行的内核进行补丁的机制。将为特定的 RHEL 次要发行流提供实时内核补丁,该政策包括在 延长更新支持(EUS)策略下,以修复关键(Critical) 和重要(Important) CVE。

要为 RHEL 8.1 版本订阅 kpatch 流,请安装 RHEA-2019:3695 公告提供的 kpatch-patch-4_18_0-147 软件包。

如需更多信息,请参阅管理、监控和更新内核中 的内核实时补丁应用 补丁。

(BZ#1763780)

RHEL 8 中的 扩展 Berkeley Packet 过滤器

Extended Berkeley Packet Filter(eBPF) 是一个内核中的虚拟机,允许在可访问有限功能的受限沙箱环境中在内核空间中执行代码。虚拟机执行类特殊的装配代码。然后,代码被加载到内核,并使用即时编译方式转换为原生机器代码。红帽提供的很多组件都使用 eBPF 虚拟机。每个组件处于不同的开发阶段,因此目前并不完全支持所有组件。

在 RHEL 8.1 中,AMD 和 Intel 64 位构架完全支持 BPF Compiler Collection(BCC) 工具软件包。BCC 工具软件包是使用 eBPF 虚拟机的动态内核跟踪工具的集合。

以下 eBPF 组件当前作为技术预览提供:

  • 以下架构中的 BCC 工具软件包:64 位 ARM 架构、IBM Power Systems、Little Endian 和 IBM Z
  • 所有构架上的 BCC
  • bpftrace 追踪语言
  • eXpress 数据路径(XDP)功能

有关技术预览组件的详情,请参考 第 6.5.2 节 “内核”

(BZ#1780124)

Red Hat Enterprise Linux 8 现在支持 early kdump

early kdump 功能允许崩溃内核和 initramfs 加载足够早的负载,以便在早期崩溃时捕获 vmcore 信息。

有关 early kdump 的详情,请查看 /usr/share/doc/kexec-tools/early-kdump-howto.txt 文件。

(BZ#1520209)

RHEL 8 现在支持 ipcmni_extend

在 Red Hat Enterprise Linux 8 中添加了一个新的内核命令行参数 ipcmni_extend。参数将多个唯一的 System V 进程间通信(IPC)标识符从当前最大 32 KB(15 位)扩展到 16 MB(24 位)。因此,应用程序产生大量共享内存片段的用户可以创建更强大的 IPC 标识符,且不超过 32 KB 限制。

请注意,在某些情况下,使用 ipcmni_extend 会产生较小的性能开销,只有在应用程序需要超过 32 KB 唯一 IPC 标识符时才能使用它。

(BZ#1710480)

持久内存初始化代码支持并行初始化

持久内存初始化代码在具有多个持久内存节点的系统上启用并行初始化。并行初始化可显著减少具有大量持久内存的系统上总体内存初始化时间。因此,这些系统现在可以更快地引导。

(BZ#1634343)

TPM 用户空间工具已更新至最后一个版本

tpm2-tools 用户空间工具已更新至版本 2.0。在这个版本中,tpm2-tools 可以修复很多缺陷。

(BZ#1664498)

rngd 守护进程现在可以使用非 root 权限运行

随机数生成器守护进程(rngd)检查随机源提供的数据是否足够随机,然后将数据存储在内核的随机数熵池中。在这个版本中,rngd 能够以非 root 用户权限运行,以增强系统安全性。

(BZ#1692435)

完全支持 ibmvnic 驱动程序

随着 Red Hat Enterprise Linux 8.0 的推出,IBM POWER 架构的 IBM Virtual Network Interface Controller(vNIC)驱动程序作为技术预览提供。vNIC 是一种 PowerVM 虚拟网络技术,可提供企业功能并简化网络管理。ibmvnic这是一个高性能、高效的技术,在与 SR-IOV NIC 结合使用时,可在虚拟 NIC 级别提供带宽控制服务质量(QoS)功能。vNIC 显著降低了虚拟化开销,从而减少了网络虚拟化所需的延迟和服务器资源(包括 CPU 和内存)。

从 Red Hat Enterprise Linux 8.1 开始,IBM POWER9 系统完全支持 ibmvnic 设备驱动程序。

(BZ#1665717)

Intel ® Omni-Path 架构(OPA)主机软件

Red Hat Enterprise Linux 8.1 完全支持 Intel Omni-Path 架构(OPA)主机软件。Intel OPA 为在集群环境中的计算和 I/O 节点之间的高性能数据传输(高带宽、高消息率、低延迟)提供主机 Fabric Interface(HFI)硬件初始化和设置。

有关安装 Intel Omni-Path 架构文档的说明,请参阅:https://cdrdv2.intel.com/v1/dl/getContent/616368

(BZ#1766186)

UBSan 在 RHEL 8 的 debug 内核中启用

Undefined Behavior Sanitizer (UBSan)实用程序在运行时公开 C 代码语言的未定义行为缺陷。现在,在 debug 内核中启用了这个工具,因为编译器的行为在某些情况下与开发人员的预期不同。特别是对于编译器优化的情况(其中微小),可能会引发模糊错误。因此,启用 UBSan 运行 debug 内核可让系统轻松检测到此类错误。

(BZ#1571628)

fadump 基础架构现在支持在 RHEL 8 中重新注册

添加了对在任何内存热添加/删除操作更新崩溃内存范围后重新注册(取消注册和注册)固件辅助转储(fadump)基础架构的支持。这个功能旨在防止系统在取消注册并在 udev 事件中从用户空间注册 fadump 时出现潜在的问题。

(BZ#1710288)

RHEL for Real Time 8 中引入了 determine_maximum_mpps.sh 脚本

引进了 determine_maximum_mpps.sh 脚本来帮助使用 queuelat 测试程序。脚本执行 queuelat 以确定机器可以处理每秒的最大数据包数。

(BZ#1686494)

kernel-rt 源树现在与最新的 RHEL 8 树匹配

kernel-rt 源已升级为基于最新的 Red Hat Enterprise Linux 内核源树,它提供了与之前版本相比的一些程序错误修复和增强。

(BZ#1678887)

ssdd 测试已添加到 RHEL for Real Time 8 中

添加了 ssdd 测试,以启用追踪子系统的压力测试。该测试运行多个追踪线程,以验证追踪系统中的锁定是否正确。

(BZ#1666351)

6.1.8. 硬件启用

完全支持 Optane DC Persistent Memory 技术的内存模式

Intel Optane DC 持久内存存储设备提供数据中心级别的持久内存技术,这可以显著提高事务吞吐量。

要使用内存模式技术,您的系统不需要任何特殊驱动程序或特定认证。内存模式对操作系统是透明的。

(BZ#1718422)

IBM Z 现在支持系统引导签名验证

安全引导允许系统固件检查用于签署内核空间代码的加密密钥的真实性。因此,该功能提高了安全性,因为只能执行来自可信供应商的代码。

请注意,IBM z15 需要使用安全引导机制。

(BZ#1659399)

6.1.9. 文件系统和存储

支持 Data Integrity Field/Data Integrity Extension(DIF/DIX)

只有在硬件厂商已验证,并完全支持在 RHEL 中的特定主机总线适配器(HBA)和存储阵列,则支持 DIF/DIX。

在以下配置中不支持 DIF/DIX:

  • 不支持在引导设备中使用。
  • 在虚拟客户机中不支持。
  • 当启用了 DIF/DIX 时,红帽不支持使用 Automatic Storage Management 库(ASMLib)。

在涉及应用程序之前(包括应用程序)的不同层的存储设备上启用或禁用 DIF/DIX。在存储设备中激活 DIF 的方法取决于设备。

有关 DIF/DIX 功能的详情,请参考 什么是 DIF/DIX

(BZ#1649493)

Optane DC 内存系统现在支持 EDAC 报告

在以前的版本中,如果内存地址在 NVDIMM 模块内,EDAC 不会被报告内存修正/不正确的事件。在这个版本中,EDAC 可以使用正确的 memory 模块信息正确报告事件。

(BZ#1571534)

VDO Ansible 模块已移到 Ansible 软件包

在以前的版本中,VDO Ansible 模块由 vdo RPM 软件包提供。从这个发行版本开始,该模块由 ansible 软件包提供。

VDO Ansible 模块文件的原始位置是:

/usr/share/doc/vdo/examples/ansible/vdo.py

文件的新位置为:

/usr/lib/python3.6/site-packages/ansible/modules/system/vdo.py

vdo 软件包继续分发 Ansible playbook。

如需有关 Ansible 的更多信息,请参阅 http://docs.ansible.com/

(BZ#1669534)

现在完全支持 Aero 适配器

以下 Aero 适配器(之前作为技术预览提供)现已获得全面支持:

  • PCI ID 0x1000:0x00e2 和 0x1000:0x00e6,由 mpt3sas 驱动程序控制
  • PCI ID 0x1000:Ox10e5 和 0x1000:0x10e6,由 megaraid_sas 驱动程序控制

(BZ#1663281)

LUKS2 现在支持在线重新加密

Linux 统一密钥设置版本 2(LUKS2)格式现在支持在设备正在使用时重新加密加密设备。例如:您不必卸载该设备中的文件系统来执行以下任务:

  • 更改卷密钥
  • 更改加密算法

加密非加密设备时,您仍然必须卸载文件系统,但现在加密速度明显加快。您可以在简短初始化加密后重新挂载文件系统。

另外,LUK2 再加密现在更具弹性。您可以在重新加密过程中选择几个优先的性能或数据保护的选项。

若要执行 LUKS2 重新加密,可使用 cryptsetup reencrypt 子命令。红帽不再建议为 LUKS2 格式使用 cryptsetup-reencrypt 工具。

请注意,LUKS1 格式不支持在线重新加密,cryptsetup reencrypt 子命令与 LUKS1 不兼容。要加密或重新加密 LUKS1 设备,请使用 cryptsetup-reencrypt 工具。

如需有关磁盘加密的更多信息,请参阅使用 LUKS 加密块设备

(BZ#1676622)

RHEL 8 提供了 ext4 的新功能

在 RHEL8 中,以下是 ext4 的新完全支持功能:

  • 非默认功能:

    • project
    • quota
    • mmp
  • 非默认挂载选项:

    • bsddf|minixdf
    • grpid|bsdgroups and nogrpid|sysvgroups
    • resgid=n and resuid=n
    • errors={continue|remount-ro|panic}
    • commit=nrsec
    • max_batch_time=usec
    • min_batch_time=usec
    • grpquota|noquota|quota|usrquota
    • prjquota
    • dax
    • lazytime|nolazytime
    • discard|nodiscard
    • init_itable|noinit_itable
    • jqfmt={vfsold|vfsv0|vfsv1}
    • usrjquota=aquota.user|grpjquota=aquota.group

有关功能和挂载选项的详情请参考 ext4 man page。Red Hat 可能无法完全支持其他 ext4 功能、挂载选项或两者的组合。如果您的特殊工作负载需要一个在红帽版本中未获得完全支持的功能或挂载选项,请联系红帽支持,以评估它是否包含在我们支持列表中。

(BZ#1741531)

NVMe over RDMA 现在支持 IBM Coral 系统的目标模式中的 Infiniband

在 RHEL 8.1 中,RDMA 上的 NVMe 现在支持 IBM Coral 系统的目标模式中的 Infiniband,并在卡中添加单个 NVMe PCIe 作为目标。

(BZ#1721683)

6.1.10. 高可用性和集群

Pacemaker 现在将 concurrent-fencing 集群属性默认设置为 true

如果需要同时隔离多个群集节点,且它们使用不同的配置的隔离设备,Pacemaker 现在将同时执行隔离,而不是像以前一样进行序列化。当必须隔离多个节点时,这可能会导致在大型集群中大幅加快恢复。

(BZ#1715426)

扩展共享逻辑卷不再需要在每个集群节点上刷新

在这个版本中,在一个集群节点中运行 lvextend 命令后,扩展共享逻辑卷不再需要在每个集群节点中刷新。有关扩展 GFS2 文件系统大小的完整步骤,请参阅 增大 GFS2 文件系统

(BZ#1649086)

支持的 RHEL HA 集群的最大大小从 16 个增加到 32 个节点

在这个版本中,红帽支持部署多达 32 个完整集群节点的集群。

(BZ#1693491)

添加、更改和删除 corosync 链接的命令已添加到 pcs

Kronosnet(knet)协议现在允许您在正在运行的集群中添加和删除 knet 链接。要支持这个功能,pcs 命令现在提供了添加、更改和删除 knet 链接的命令,并更改现有集群中的 upd/udpu 链接。有关在现有集群中添加和修改链接的详情,请参阅 在现有集群中添加和修改链接。(BZ#1667058)

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

新模块流: php:7.3

RHEL 8.1 引入了 PHP 7.3,它提供了许多新功能和增强功能。主要变更包括:

  • 增强且更灵活的 heredocnowdoc 语法
  • PCRE 扩展升级至 PCRE2
  • 改进了多字节字符串处理
  • 支持 LDAP 控制
  • 改进了 FastCGI 进程管理器(FPM)日志
  • 几个弃用和向后不兼容的更改

如需更多信息,请参阅 从 PHP 7.2.x 迁移到 PHP 7.3.x

请注意,RHEL 8 版本 PHP 7.3 不支持 Argon2 密码哈希算法。

要安装 php:7.3 流,请使用:

# yum module install php:7.3

如果要从 php:7.2 流升级,请参阅切换到更新的流

(BZ#1653109)

新模块流: ruby:2.6

现在提供了一个新的模块流 ruby:2.6Ruby 2.6.3包括在 RHEL 8.1 中,与 RHEL 8.0 中发布的版本 2.5 相比,提供了大量新功能、增强功能、错误和安全修复以及性能改进。

主要改进包括:

  • 现在允许使用非ASCII 大写字母开始使用恒定名称。
  • 添加了对无限范围的支持。
  • 提供了一个新的 Binding#source_location 方法。
  • $SAFE 现在是一个进程全局状态,它可以重新设置为 0

改进的性能:

  • Proc#callblock.call 进程已被优化。
  • 增加了一个新的垃圾收集器管理堆 Transient堆(theap)。
  • 引进了针对个别架构的本机工程实施。

另外,ruby:2.5 流提供的 Ruby 2.5 已升级到 2.5.5 版本,它提供一些程序错误修复和安全修复。

要安装 ruby:2.6 流,请使用:

# yum module install ruby:2.6

如果要从 ruby:2.5 流升级,请参阅切换到更新的流

(BZ#1672575)

新模块流: nodejs:12

RHEL 8.1 引入了 Node.js 12,它比版本 10 提供了很多新功能和增强。主要变更包括:

  • V8 引擎升级到 7.4 版本
  • 新的默认 HTTP 解析器 llhttp (不再实验)
  • 堆转储生成集成功能
  • 支持 ECMAScript 2015(ES6)模块
  • 改进了对原生模块的支持
  • worker 线程不再需要一个标记
  • 一个新的实验诊断报告功能
  • 提高的性能

要安装 nodejs:12 流,请使用:

# yum module install nodejs:12

如果要从 nodejs:10 流升级,请参阅切换到更新的流

(BZ#1685191)

Judy-devel CRB 中提供

Judy-devel 软件包现在作为 CodeReady Linux Builder 仓库(CRB) 中的 mariadb-devel:10.3 模块的一部分提供。现在,开发人员可以使用 Judy 库构建应用程序。

要安装 Judy-devel 软件包,请首先启用 mariadb-devel:10.3 模块:

# yum module enable mariadb-devel:10.3
# yum install Judy-devel

(BZ#1657053)

FIPS 合规性 Python 3

在这个版本中,在 Python 3 中增加了对 OpenSSL FIPS 模式的支持。特征:

  • 在 FIPS 模式中,blake2sha3shake 哈希使用 OpenSSL 打包程序,且不提供扩展功能(如键、树状哈希或自定义摘要大小)。
  • 在 FIPS 模式中,hmac.HMAC 类只能使用 OpenSSL 打包程序或使用 OpenSSL 哈希名称作为 digestmod 参数进行实例化。必须指定参数(而不是默认为 md5 算法)。

请注意,哈希功能支持 usedforsecurity 参数,该参数允许在 OpenSSL FIPS 模式中使用不安全的哈希。用户负责确保符合任何相关标准。

(BZ#1731424)

FIPS 合规性更改 python3-wheel

这个 python3-wheel 软件包更新删除了用来签名和验证与 FIPS 不兼容数据的内置实现。

(BZ#1731526)

新模块流: nginx:1.16

nginx 1.16 web 和代理服务器现在提供很多新功能以及版本 1.14 增强。例如:

  • 大量与 SSL 相关的更新(从变量加载 SSL 证书和 secret 密钥,ssl_certificatessl_certificate_key 指令中的变量支持,新的 ssl_early_data 指令)
  • 新的 keepalive相关指令
  • 用于分布式负载均衡的新 random 指令
  • 新参数和对现有指令的改进( listen 指令的端口范围,limit_req 指令的新 delay 参数,启用两阶段速率限制)
  • 新的 $upstream_bytes_sent 变量
  • 用户数据报协议(UDP)代理的改进

其他显著变化包括:

  • nginx:1.16 流中,nginx 软件包不需要 nginx-all-modules 软件包,因此必须明确安装 nginx 模块。当您将 nginx 作为模块安装时,nginx-all-modules 软件包作为 common 配置集的一部分安装,这是默认配置集。
  • ssl 指令已弃用,而是使用 listen 指令的 ssl 参数。
  • nginx 现在在配置测试过程中检测到缺少的 SSL 证书。
  • 当在 listen 指令中使用主机名时,nginx 现在为主机名解析到的所有地址创建侦听套接字。

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

# yum module install nginx:1.16

如果要从 nginx:1.14 流升级,请参阅切换到更新的流

(BZ#1690292)

perl-IO-Socket-SSL rebase 到版本 2.066

perl-IO-Socket-SSL 软件包已升级到 2.066 版本,它提供一些程序错误修正和增强,例如:

  • 改进了对 TLS 1.3 的支持,特别是会话重用和客户端端的自动后握身份验证
  • 添加了对多个曲线、自动设置曲线、部分信任链以及支持同一域中 RSA 和 ECDSA 证书的支持

(BZ#1632600)

perl-Net-SSLeay rebase 到版本 1.88

perl-Net-SSLeay 软件包已升级到 1.88 版本,它提供多个程序错误修复和增强。主要变更包括:

  • 提高了与 OpenSSL 1.1.1 的兼容性,例如操作证书和 X509 存储堆栈,以及选择 elliptic curves 和 groups
  • 改进了与 TLS 1.3 的兼容性,例如,会话重用和后握身份验证
  • 修复了 cb_data_advanced_put() 子例程中的内存泄漏问题。

(BZ#1632597)

6.1.12. 编译器和开发工具

GCC Toolset 9 可用

Red Hat Enterprise Linux 8.1 引入了 GCC Toolset 9,应用程序流包含更新的开发工具版本。

GCC 工具集 9 提供以下工具和版本:

工具版本

GCC

9.1.1

GDB

8.3

Valgrind

3.15.0

SystemTap

4.1

Dyninst

10.1.0

binutils

2.32

elfutils

0.176

dwz

0.12

make

4.2.1

strace

5.1

ltrace

0.7.91

annobin

8.79

GCC Toolset 9 以 AppStream 仓库中的 Software Collection 的形式作为 Application Stream 提供。GCC 工具集是与适用于 RHEL 7 的红帽开发人员工具集 类似的一组工具。

安装 GCC Toolset 9:

# yum install gcc-toolset-9

要从 GCC Toolset 9 运行工具:

$ scl enable gcc-toolset-9 tool

要运行 shell 会话,GCC Toolset 9 的工具版本优先于这些工具的系统版本:

$ scl enable gcc-toolset-9 bash

有关使用方法的详细信息,请参阅使用 GCC Toolset

(BZ#1685482)

升级的编译器工具集

使用 RHEL 8.1 升级了以下编译器工具集,作为 Application Streams 分发:

  • clang 和 LLVM Toolset 提供 LLVM 编译器基础架构框架、用于 C 和 C++ 语言的 Clang 编译器、LLDB 调试器和相关工具,用于代码分析,到版本 8.0.1
  • Russt Toolset,向版本 1.37 提供 Rust 编程语言编译器 rustccargo 构建工具和依赖关系管理器以及所需的库。
  • Go Toolset,它为版本 1.12.8 提供 Go(golang)编程语言工具和库。

(BZ#1731502, BZ#1691975, BZ#1680091, BZ#1677819, BZ#1681643)

SystemTap rebase 到版本 4.1

SystemTap 工具已更新至上游版本 4.1。主要改进包括:

  • eBPF 运行时后端可以处理脚本语言的更多功能,如字符串变量和丰富的格式化打印。
  • 转换器的性能显著提高。
  • 现在,可以使用 DWARF4 debuginfo 结构提取优化 C 代码中的更多数据类型。

(BZ#1675740)

DHAT 工具的通用版本

Red Hat Enterprise Linux 8.1 引进了 DHAT 工具的通用版本。它基于 valgrind 工具版本 3.15.0。

您可以在以下 valgrind 工具功能中找到更改/改进:

  • 使用 --tool=dhat 而不是 --tool=exp-dhat,
  • --show-top-n--sort-by 选项已被删除,因为 dhat 工具现在会在程序结束后打印最小数据。
  • 新查看器 dh_view.html,它是一个 JavaScript 程序m,包含配置集结果。短消息说明了如何在运行结束后查看结果.
  • 查看器的文档位于 /usr/libexec/valgrind/dh_view.html
  • DHAT 工具的文档位于: /usr/share/doc/valgrind/html/dh-manual.html,
  • 对 amd64(x86_64)的支持:添加了 RDRANDF16C insn 设置扩展。
  • cachegrind 中,cg_annotate 命令具有一个新选项 --show-percs,它会输出所有事件数旁的百分比。
  • callgrind 中,callgrind_annotate 命令具有一个新选项 --show-percs,它会输出所有事件数旁的百分比。
  • massif--read-inline-info 的默认值现在是 yes
  • memcheck 选项 --xtree-leak=yes 中,输出泄漏的结果为 xtree 格式,它会自动激活 --show-leak-kinds=all
  • 新选项 --show-error-list=no|yes 显示检测到的错误列表,并在运行结束时显示所用的抑制。在以前的版本中,用户可以为 valgrind 命令指定 -v 选项,该命令会显示许多可能令人困惑的信息。选项 -s 等同于选项 --show-error-list=yes

(BZ#1683715)

elfutils rebase 到版本 0.176

elfutils 软件包已更新至上游版本 0.176。这个版本会提供各种程序错误修复,并解决以下漏洞:

主要改进包括:

  • libdw 库使用 dwelf_elf_begin() 功能扩展,它是处理压缩文件的 elf_begin() 变体。
  • eu-strip 工具中添加了新的 --reloc-debug-sections-only 选项,用于在没有其它条带的情况下解决在 debug 部分间的所有简单重新定位问题。在某些情况下,这个功能只与 ET_REL 文件相关。

(BZ#1683705)

中的额外内存分配检查 glibc

应用程序内存损坏是应用和安全缺陷的领先原因。早期检测此类损坏,与检测成本保持平衡,可为应用开发人员带来显著的好处。

为改进检测,额外六个内存损坏检查已添加到 GNU C 库(glibc)中的 malloc 元数据中,这是 RHEL 中 C 核心库。这些额外的检查是以极低的成本为运行时性能添加的。

(BZ#1651283)

GDB 可以访问更多的 POWER8 寄存器

在这个版本中,GNU debugger(GDB)及其远程 stub gdbserver 可以访问 IBM 的 POWER8 处理器行的以下附加寄存器和注册集合:

  • PPR
  • DSCR
  • TAR
  • EBB/PMU
  • HTM

(BZ#1187581)

binutils disassembler 可以处理 NFP 二进制文件

来自 binutils 软件包的 disassembler 工具已扩展,以处理 Netronome Flow Processor(NFP)硬件系列的二进制文件。需要此功能才能在 bpftool Berkeley Packet Filter(BPF)代码编译器中启用更多功能。

(BZ#1644391)

IBM Z 架构现在支持部分可写 GOT 部分

现在可以通过生成部分可写全局偏移表(GOT)部分来强化使用加载器"平面绑定"功能的 IBM Z 二进制文件。这些二进制文件需要读写 GOT,但并非所有条目都可写入。在这个版本中,对潜在攻击的条目提供保护。

(BZ#1525406)

binutils 现在支持 IBM Z 的 Arch13 处理器

在这个版本中,在 IBM Z 构架中的 binutils 软件包中添加了对 Arch13 处理器的扩展的支持。现在,可以使用 IBM Z 上的 arch13 启用 CPU 中的功能构建内核。

(BZ#1659437)

Dyninst rebase 到版本 10.1.0

Dyninst 工具库已更新至上游版本 10.1.0。主要变更包括:

  • Dyninst 支持 Linux PowerPC Little Endian(ppcle)和 64 位 ARM(aarch64)架构。
  • 通过使用并行代码分析改进了启动时间。

(BZ#1648441)

日本 Reiwa 时代的日期格式化更新

GNU C 库现在为 Reiwa 时代提供正确的日语名称格式,自 2019 年 5 月 1 日起生效。时间处理 API 数据已被更新,包括 strftimestrptime 功能使用的数据。所有 API 将正确打印 Reiwa 时代,包括何时将 strftime 与其中一个时代转换指定符一起使用,如 %EC%EY%Ey

(BZ#1577438)

Performance Co-Pilot 被 rebase 到版本 4.3.2

在 RHEL 8.1 中,Performance Co-Pilot(PCP)工具已更新至上游版本 4.3.2。主要改进包括:

  • 添加了新的指标 - Linux 内核熵、压力停滞信息、Nvidia GPU 统计信息等。
  • pcp-dstatpcp-atopperfevent PMDA 等工具已更新,以报告新的指标。
  • 高性能 PCP 与 Grafana 集成的 pmseriespmproxy 工具已被更新。

这个版本对库、无线协议和磁盘 PCP 归档格式向后兼容。

(BZ#1685302)

6.1.13. Identity Management

IdM 现在支持 Ansible 角色和模块进行安装和管理

在这个版本中引进了 ansible-freeipa 软件包,它为 Identity Management(IdM)部署和管理提供了 Ansible 角色和模块。您可以使用 Ansible 角色安装和卸载 IdM 服务器、副本和客户端。您可以使用 Ansible 模块来管理 IdM 组、拓扑和用户。还提供 playbook 示例。

这个版本简化了基于 IdM 的解决方案的安装和配置。

(JIRA:RHELPLAN-2542)

测试 IdM 部署的整体适配性的新工具: Healthcheck

这个版本在 Identity Management(IdM)中引入了 Healthcheck 工具。该工具提供测试来验证当前 IdM 服务器是否已正确配置和运行。

目前涵盖的主要区域包括:* 证书配置和过期日期 * Replication topology * Replication topology * AD Trust configuration * Service status * 重要配置文件的文件权限 * Filesystem space

Healthcheck 工具可在命令行界面(CLI)中找到。

(JIRA:RHELPLAN-13066)

IdM 现在支持在服务器离线时续订过期的系统证书

在这个版本中,管理员可以在 Identity Management(IdM)离线时续订过期的系统证书。当系统证书过期时,IdM 无法启动。新的 ipa-cert-fix 命令替换了为手动设置日期进行续订过程的临时解决方案。因此,在上述情景中,停机时间和支持成本降低。

(JIRA:RHELPLAN-13074)

Identity Management 支持与 Windows Server 2019 信任

在使用身份管理时,您现在可以对 Windows Server 2019 运行的 Active Directory 机构建立一个受支持的林信任。支持的林和域功能级别保持不变,支持最高等级 Windows Server 2016。

(JIRA:RHELPLAN-15036)

samba rebase 到版本 4.10.4

samba 软件包升级至上游版本 4.10.4,它提供了大量的程序错误修复和增强:

  • Samba 4.10 完全支持 Python 3。请注意,将来的 Samba 版本将不支持 Python 2。
  • JavaScript Object Notation(JSON)日志记录功能现在记录 Windows 事件 ID 和日志记录类型用于验证消息。
  • 当 Samba 访问 GlusterFS 卷时,用户空间(FUSE)模块中新的 vfs_glusterfs_fuse 文件系统可以提高性能。要启用这个模块,请在 /etc/samba/smb.conf 文件中共享的 vfs_objects 参数中添加 glusterfs_fuse。请注意,vfs_glusterfs_fuse 没有替换现有的 vfs_glusterfs 模块。
  • 服务器消息块(SMB)客户端 Python 绑定现已弃用,并将在以后的 Samba 发行版本中删除。这只会影响使用 Samba Python 绑定来编写其自身工具的用户。

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

如需了解更多与显著变化相关的信息,请在更新前阅读上游发行注记: https://www.samba.org/samba/history/samba-4.10.0.html

(BZ#1638001)

为 OpenLDAP 更新系统范围证书存储位置

OpenLDAP 可信 CA 的默认位置已更新为使用系统范围的证书存储(/etc/pki/ca-trust/source)而不是 /etc/openldap/certs。进行这个更改是为了简化 CA 信任的设置。

设置 CA 信任不需要额外的设置,除非您有特定于服务的要求。例如:如果您要求 LDAP 客户端连接只信任 LDAP 服务器的证书,则必须像之前一样设置 CA 证书。

(JIRA:RHELPLAN-7109)

引进了新的 ipa-crl-generation 命令以简化 IdM CRL master 的管理

在这个版本中引进了 ipa-crl-generation status/enable/disable 命令。这些命令由 root 用户运行,简化了 IdM 中证书撤销列表(CRL)的工作。在以前的版本中,将 CRL 生成 master 从 IdM CA 服务器移到另一个 IdM CA 服务器是一个冗长、手动和容易出错的步骤。

ipa-crl-generation status 命令检查当前主机是否为 CRL 生成 master。如果当前主机是 IdM CA 服务器,ipa-crl-generation enable 命令使当前主机在 IdM 中成为 CRL 生成 master。ipa-crl-generation disable 命令停止当前主机上的 CRL 生成。

另外,ipa-server-install --uninstall 命令现在包括一个保护性检查主机是否为 CRL 生成 master。这样,IdM 可确保系统管理员不会从拓扑中删除 CRL 生成 master。

(JIRA:RHELPLAN-13068)

OpenID Connect 支持. keycloak-httpd-client-install

keycloak-httpd-client-install 身份提供程序之前只支持使用 mod_auth_mellon 身份验证模块的 SAML(Security Assertion Markup Language)验证。这个 rebase 引入了 mod_auth_openidc 身份验证模块支持,它允许您配置 OpenID Connect 身份验证。

keycloak-httpd-client-install 身份提供商允许通过配置 mod_auth_openidc 将 apache 实例配置为 OpenID Connect 客户端。

(BZ#1553890)

将 IdM 设置为隐藏的副本现在作为技术预览提供

这个增强可让管理员将 Identity Management(IdM)副本设置为隐藏的副本。隐藏的副本是一个 IdM 服务器,它具有所有运行的服务并可用。但是,因为在 DNS 中没有服务的 SRV 记且 LDAP 服务器角色没有启用,它不会被公告到其他客户端或 master。因此,客户端无法使用服务发现来检测隐藏的副本。

隐藏副本主要针对可能会破坏客户端的专用服务设计。例如,IdM 的完整备份需要关闭 master 或副本中的所有 IdM 服务。因为没有客户端使用隐藏的副本,管理员可以在不影响任何客户端的情况下暂时关闭这个主机上的服务。其他用例包括 IdM API 或 LDAP 服务器上的高负载操作,如大量导入或广泛查询。

要安装新隐藏的副本,请使用 ipa-replica-install --hidden-replica 命令。要更改现有副本的状态,使用 ipa server-state 命令。

(BZ#1719767)

SSSD 现在默认强制使用 AD GPOs

SSSD 选项 ad_gpo_access_control 的默认设置现在是 enforcing。在 RHEL 8 中,SSSD 默认根据 Active Directory Group 策略对象(GPO)强制实施访问控制规则。

红帽建议确保在从 RHEL 7 升级到 RHEL 8 前,在 Active Directory 中正确配置 GPO。如果您不想强制 GPO,将 /etc/sssd/sssd.conf 文件中的 ad_gpo_access_control 选项的值改为 permissive

(JIRA:RHELPLAN-51289)

6.1.14. Desktop

修改了 GNOME Classic 中的工作空间交换器

GNOME Classic 环境中的工作空间交换器已被修改。交换器现在位于底部栏的右侧,它被设计为一个横向的缩略图。点击相关的缩略图标可以在不同工作区间切换。或者,也可以使用 Ctrl+Alt+down/向上箭头键 的组合在工作区之间切换。正在使用的工作区的内容在底部条的左侧以窗口列表的形式显示。

在特定工作区中按 Super 键时,您可以看到 窗口选择程序,其中包括在此工作区中打开的所有窗口。但是,之前的 RHEL 版本中可用的以下元素将不会在窗口选择器中显示:

  • dock (屏幕左侧的垂直栏)
  • workspace switcher(屏幕右侧的垂直栏)
  • 搜索条目

对于之前由这些项完成的特定任务,请采用以下方法:

  • 现在,您可以通过以下方式启动应用程序,而不使用 dock

    • 使用顶部栏中的 Applications 菜单
    • 按 [Alt + F2] 组合键显示 Enter a Command 屏幕,并在此屏幕中输入可执行文件的名称。
  • 要在工作区间进行切换,使用右侧底层栏中的 workspace switcher 而不是使用垂直栏的 workspace switcher
  • 如果需要 搜索条目 或垂直 工作区切换器,请使用 GNOME Standard 环境而不是 GNOME Classic。

(BZ#1704360)

6.1.15. 图形基础结构

DRM rebase 到 Linux 内核版本 5.1

Direct Rendering Manager (DRM)内核图形子系统已被 rebase 到上游 Linux 内核版本 5.1,它提供很多程序错误修复和增强。最值得注意的是:

  • mgag200 驱动程序已被更新。该驱动程序继续支持 HPE Proliant Gen10 Systems,该系统使用 Matrox G200 eH3 GPU。更新的驱动程序还支持当前和新的 Dell EMC PowerEdge 服务器。
  • nouveau 驱动程序已被更新,为当前和将来使用 NVIDIA GPU 的联想平台提供硬件启用功能。
  • i915 显示驱动程序已被更新,以持续支持当前和新 Intel GPU。
  • 添加了 A fast AST BMC 显示芯片的错误修复。
  • 添加了对 AMD Raven 2 加速处理单元(APU)的支持。
  • 添加了对 AMD Picasso APU 的支持。
  • 添加了对 AMD Vega GPU 的支持。
  • 添加了对 Intel Amber Lake-Y 和 Intel Comet Lake-U GPU 的支持。

(BZ#1685552)

支持 AMD Picasso 图形卡

在这个版本中引进了 amdgpu 图形驱动程序。现在,RHEL 8 中完全支持 AMD Picasso 图形卡。

(BZ#1685427)

6.1.16. Web 控制台

启用和禁用 SMT

RHEL 8 现在提供了并发多线程(SMT)配置。在 web 控制台中禁用 SMT 可让您缓解一系列 CPU 安全漏洞,例如:

(BZ#1678956)

在 Services 页面中添加搜索框

Services 页面现在有一个搜索框用来过滤服务:

  • 名称
  • 描述
  • 状态

此外,服务状态已合并为一个列表中。页面顶部的切换器按钮已更改为选项卡,以改进 Services 页面的用户体验。

(BZ#1657752)

添加对防火墙区的支持

Networking 页面中的防火墙设置现在支持:

  • 添加和删除区域
  • 在任意区域中添加或删除服务,以及
  • 除了 firewalld 服务外,配置自定义端口。

(BZ#1678473)

为虚拟机配置添加改进

在这个版本中,RHEL 8 web 控制台在 Virtual Machines 页面中包括了许多改进。现在您可以:

  • 管理各种类型的存储池
  • 配置虚拟机自动启动
  • 导入现有的 qcow 镜像
  • 通过 PXE 引导安装虚拟机
  • 更改内存分配
  • 暂停/恢复虚拟机
  • 配置缓存特征(directsync、回写)
  • 更改引导顺序

(BZ#1658847)

6.1.17. Red Hat Enterprise Linux 系统角色

为 RHEL 系统角色添加了新的 storage 角色

storage 角色已添加到由 rhel-system-roles 软件包提供的 RHEL 系统角色中。storage 角色可用于使用 Ansible 管理本地存储。

目前,storage 角色支持以下类型的任务:

  • 在整个磁盘中管理文件系统
  • 管理 LVM 卷组
  • 管理逻辑卷及其文件系统

如需更多信息,请参阅 管理文件系统 以及配置和管理逻辑卷

(BZ#1691966)

6.1.18. 虚拟化

WALinuxAgent rebase 到版本 2.2.38

WALinuxAgent 软件包已升级到上游版本 2.2.38,与之前的版本相比,它提供了一些程序错误修复和增强。

此外,WALinuxAgent 不再与 Python 2 兼容,应用程序依赖于 Python 2。因此,使用 Python 2 编写的应用程序和扩展需要转换为 Python 3,以建立与 WALinuxAgent 的兼容性。

(BZ#1722848)

Windows 自动找到所需的 virtio-win 驱动程序

Windows 现在可以从驱动程序 ISO 中自动找到所需的 virtio-win 驱动程序,而无需用户选择其所在的文件夹。

(BZ#1223668)

KVM 支持 5 级分页

借助红帽企业 Linux 8,KVM 虚拟化支持 5 级分页功能。在选定的主机 CPU 上,这会显著增加主机和虚拟客户机系统可以使用的物理和虚拟地址空间。

(BZ#1526548)

现在使用 ActivClient 驱动程序的 Windows 客户机上支持智能卡共享

在这个版本中,增加了对使用 Windows guest OS 和 ActivClient 驱动程序的虚拟机(VM)中的智能卡共享的支持。这可在这些虚拟机上使用仿真或共享智能卡进行用户登录的智能卡验证。

(BZ#1615840)

添加了新选项 virt-xml

virt-xml 工具现在可以使用以下命令行选项:

  • --no-define - virt-xml 命令对虚拟机(VM)所做的更改不会保存到持久配置中。
  • --start - 在执行请求的更改后启动虚拟机。

通过结合使用这两个选项,用户可以更改虚拟机的配置,并使用新的配置启动虚拟机,而不会使更改持久保留。例如,以下命令将 testguest 虚拟机的引导顺序改为网络以进行下一次引导,并启动引导:

virt-xml testguest  --start --no-define --edit --boot network

(JIRA:RHELPLAN-13960)

KVM 支持的 IBM z14 GA2 CPU

在这个版本中,KVM 支持 IBM z14 GA2 CPU 型号。这样便可以在使用 RHEL 8 作为主机操作系统的 IBM z14 GA2 主机上创建虚拟机,并在客户机中使用 IBM z14 GA2 CPU。

(JIRA:RHELPLAN-13649)

Nvidia NVLink2 现在与 IBM POWER9 上的虚拟机兼容

现在,可将支持 NVLink2 功能的 nvidia VGPU 分配给在 IBM POWER9 系统的 RHEL 8 主机中运行的虚拟机(VM)。这使得这些虚拟机能够充分利用 NVLink2 的性能潜力。

(JIRA:RHELPLAN-12811)

6.2. 新驱动程序

网络驱动程序

  • 支持串行互联网协议(slip.ko.xz)
  • Platform CAN bus driver for Bosch C_CAN controller (c_can_platform.ko.xz)
  • 虚拟 CAN 接口(vcan.ko.xz)
  • Softing DPRAM CAN driver(softing.ko.xz)
  • serial 行 CAN 接口(slcan.ko.xz)
  • EMS Dr.Thomas Wuensche CAN/USB 接口(ems_usb.ko.xz)
  • 用于 esd CAN-USB/2 和 CAN-USB/Micro 接口的 CAN 驱动程序(esd_usb2.ko.xz)
  • 平台总线上用于 SJA1000 的 socket-CAN 驱动程序(sja1000_platform.ko.xz)
  • PLX90xx PCI-bridge 卡的 socket-CAN 驱动程序,带有 SJA1000 芯片(plx_pci.ko.xz)
  • Socket-CAN driver for EMS CPC-PCI/PCIe/104P CAN cards (ems_pci.ko.xz)
  • 用于 KVASER PCAN PCI 卡的 socket-CAN 驱动程序(kvaser_pci.ko.xz)
  • Intel® 2.5G Ethernet Linux Driver (igc.ko.xz)
  • Realtek 802.11ac wireless PCI driver(rtwpci.ko.xz)
  • Realtek 802.11ac 无线核心模块(rtw88.ko.xz)
  • MediaTek MT76 devices support (mt76.ko.xz)
  • MediaTek MT76x0U (USB) support (mt76x0u.ko.xz)
  • MediaTek MT76x2U (USB) support (mt76x2u.ko.xz)

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

  • Virtual Kernel Mode Setting (vkms.ko.xz)
  • Intel GTT(Graphics Translation Table)例程(intel-gtt.ko.xz)
  • 基于 Xen frontend/backend 页面目录的共享缓冲区处理(xen-front-pgdir-shbuf.ko.xz)
  • 音频消息控制的 LED 触发器(ledtrig-audio.ko.xz)
  • Host Wireless Adapter Radio Control Driver (hwa-rc.ko.xz)
  • 网络块设备(nbd.ko.xz)
  • Pericom PI3USB30532 Type-C mux driver(pi3usb30532.ko.xz)
  • Fairchild FUSB302 Type-C Chip Driver (fusb302.ko.xz)
  • TI TPS6598x USB Power Delivery Controller Driver(tps6598x.ko.xz)
  • Intel PCH Thermal driver (intel_pch_thermal.ko.xz)
  • PCIe AER 软件错误注入器(aer_inject.ko.xz)
  • 用于 PCI SR-IOV PF 设备(pci-pf-stub.ko.xz)的简单 stub 驱动程序.
  • mISDN Digital Audio Processing support (mISDN_dsp.ko.xz)
  • ISDN layer 1 for Cologne Chip HFC-4S/8S chips (hfc4s8s_l1.ko.xz)
  • ISDN4Linux:调用支持(dss1_divert.ko.xz)
  • CAPI4Linux: Userspace /dev/capi20 接口(capi.ko.xz)
  • Gigaset 307x 的 USB Driver(bas_gigaset.ko.xz)
  • ISDN4Linux:HYSDN 卡的驱动程序(hysdn.ko.xz)
  • mISDN Digital Audio Processing support (mISDN_dsp.ko.xz)
  • mISDN driver for Winbond w6692 based cards (w6692.ko.xz)
  • 基于 CCD 的 hfc-pci 的卡(hfcpci.ko.xz)的 mISDN 驱动程序
  • mISDN driver for hfc-4s/hfc-8s/hfc-e1 based cards (hfcmulti.ko.xz)
  • mISDN driver for NETJet (netjet.ko.xz)
  • mISDN driver for AVM FRITZ!CARD PCI ISDN cards (avmfritz.ko.xz)

存储驱动程序

  • NVMe over Fabrics TCP host (nvme-tcp.ko.xz)
  • NVMe over Fabrics TCP target (nvmet-tcp.ko.xz)
  • device-mapper writecache target (dm-writecache.ko.xz)

6.3. 更新的驱动程序

网络驱动程序更新

  • QLogic FastLinQ 4xxx Ethernet Driver(qede.ko.xz)更新至 8.37.0.20。
  • QLogic FastLinQ 4xxx Core Module(qed.ko.xz)更新至 8.37.0.20 版本。
  • Broadcom BCM573xx 网络驱动程序(bnxt_en.ko.xz)更新至版本 1.10.0。
  • QLogic BCM57710/57711/57711E/57712/57712_MF/57800/57800_MF/57810/57810_MF/57840/57840_MF Driver(bnx2x.ko.xz)更新至 1.713.36-0 版本。
  • Intel® Gigabit Ethernet Network Driver(igb.ko.xz)已更新至版本 5.6.0-k。
  • Intel® 10 Gigabit Virtual Function Network Driver(ixgbevf.ko.xz)已更新至 4.1.0-k-rh8.1.0 版本。
  • Intel® 10 Gigabit PCI Express Network Driver(ixgbe.ko.xz)已更新至版本 5.1.0-k-rh8.1.0。
  • Intel® Ethernet Switch Host Interface Driver(fm10k.ko.xz)更新至 0.26.1-k 版本。
  • Intel® Ethernet Connection E800 Series Linux Driver(ice.ko.xz)更新至 0.7.4-k 版本。
  • Intel® Ethernet Connection XL710 Network Driver(i40e.ko.xz)更新至 2.8.20-k 版本。
  • Netronome Flow Processor(NFP)driver(nfp.ko.xz)更新至版本 4.18.0-147.el8.x86_64。
  • Elastic Network Adapter(ENA)(ena.ko.xz)更新至 2.0.3K 版本。

图形和杂项驱动程序更新

  • VMware SVGA 设备(vmwgfx.ko.xz)的独立 drm 驱动程序更新至 2.15.0.0 版本。
  • HPE watchdog driver(hpwdt.ko.xz)更新至 2.0.2 版本。

存储驱动程序更新

  • HP Smart Array Controller 版本 3.4.20-170-RH3(hpsa.ko.xz)的驱动程序更新至 3.4.20-170-RH3 版本。
  • LSI MPT Fusion SAS 3.0 Device Driver(mpt3sas.ko.xz)更新至版本 28.100.00.00。
  • Emulex LightPulse Fibre Channel SCSI driver 12.2.0.3(lpfc.ko.xz)更新至版本 0:12.2.0.3。
  • QLogic QEDF 25/40/50/100Gb FCoE Driver(qedf.ko.xz)更新至 8.37.25.20 版本。
  • Cisco FCoE HBA Driver(fnic.ko.xz)更新至 1.6.0.47 版本。
  • QLogic Fibre Channel HBA Driver(qla2xxx.ko.xz)更新至 10.01.00.15.08.1-k1 版本。
  • Microsemi Smart Family Controller 版本 1.2.6-015(smartpqi.ko.xz)的驱动程序更新至 1.2.6-015 版本。
  • QLogic FastLinQ 4xxx iSCSI Module(qedi.ko.xz)更新至 8.33.0.21 版本。
  • Broadcom MegaRAID SAS Driver(megaraid_sas.ko.xz)更新至版本 07.707.51.00-rc1。

6.4. 程序错误修复

这部分论述了 Red Hat Enterprise Linux 8.1 中修复的、对用户有严重影响的错误。

6.4.1. 安装程序和镜像创建

使用 version 或者 inst.version 内核引导参数不再停止安装程序

在以前的版本中,使用 versioninst.version 引导参数从内核命令行引导安装程序可打印版本,如 anaconda 30.25.6,并停止安装程序。

在这个版本中,当安装程序使用内核命令行引导时,versioninst.version 参数会被忽略,因此安装程序不会被停止。

(BZ#1637472)

现在默认安装 xorg-x11-drv-fbdevxorg-x11-drv-vesaxorg-x11-drv-vmware 视频驱动程序

在以前的版本中,带有特定 AMD 加速处理单元的 NVIDIA 图形卡和工作站的工作站在 RHEL 8.0 服务器安装后不会显示图形登录窗口。此问题还影响了依赖 EFI 图形支持(如 Hyper-V)的虚拟机。在这个版本中,会默认安装 xorg-x11-drv-fbdevxorg-x11-drv-vesaxorg-x11-drv-vmware 视频驱动程序,图形登录窗口会在 RHEL 8.0 及之后的服务器安装后显示。

(BZ#1687489)

救援模式在没有显示错误消息的情况下不再失败

在以前的版本中,在没有 Linux 分区的系统中运行救援模式会导致安装程序出现异常失败。在这个版本中,当检测到没有 Linux 分区的系统时,安装程序会显示错误消息"You don't任何 Linux 分区"。

(BZ#1628653)

安装程序现在为镜像安装设置 lvm_metadata_backup Blivet 标记

在以前的版本中,安装程序无法为镜像安装设置 lvm_metadata_backup Blivet 标志。因此,LVM 备份文件位于镜像安装后的 /etc/lvm/ 子目录中。在这个版本中,安装程序设置 lvm_metadata_backup Blivet 标志,因此镜像安装后的 /etc/lvm/ 子目录中没有 LVM 备份文件。

(BZ#1673901)

RHEL 8 安装程序现在处理 RPM 中的字符串

在以前的版本中,当 python3-rpm 库返回字符串时,安装程序会失败,但有一个例外。在这个版本中,安装程序可以处理 RPM 中的字符串。

(BZ#1689909)

inst.repo 内核引导参数现在可以用于具有非根路径的硬盘中的软件仓库

在以前的版本中,如果 inst.repo=hd:<device>:<path> 内核引导参数指向硬盘中的仓库(而不是 ISO 镜像),且使用了非 root(/)路径,则 RHEL 8 安装过程在没有手动干预的情况下无法进行。在这个版本中,安装程序可以为位于硬盘中的存储库传播任何 <path>,以确保安装过程正常进行。

(BZ#1689194)

--changesok 选项现在允许安装程序更改 root 密码

在以前的版本中,在从 Kickstart 文件中安装 Red Hat Enterprise Linux 8 时使用 --changesok 选项不允许安装程序更改 root 密码。在这个版本中,Kickstart 成功传递了 --changesok 选项,因此用户在其 Kickstart 文件中指定 pwpolicy root –changesok 选项现在可以使用 GUI 更改 root 密码,即使 Kickstart 已设置了密码。

(BZ#1584145)

使用 lorax-composer API 时镜像构建不再失败

在以前的版本中,当从订阅的 RHEL 系统中使用 lorax-composer API 时,镜像构建过程总会失败。Anaconda 无法访问存储库,因为主机的订阅证书没有通过。要修复问题,请更新 lorax-composerpykickstartAnaconda 软件包。这允许传递受支持的 CDN 证书。

(BZ#1663950)

6.4.2. Shell 和命令行工具

systemd 在 debug 模式中不再生成不必要的日志消息

当在调试模式中使用 systemd 系统和服务管理器时,systemd 以前会产生不必要的且没有损害性的日志消息:

"Failed to add rule for system call ..."

在这个版本中,systemd 已被修复,不再生成这些不必要的调试信息。

(BZ#1658691)

6.4.3. 安全性

fapolicyd 不再阻止 RHEL 更新

当更新替换了正在运行的应用程序的二进制文件时,内核会通过附加 " (deleted)" 后缀来修改内存中的应用程序二进制路径。在以前的版本中,fapolicyd 文件访问策略守护进程将此类应用程序视为不受信任的应用程序,并阻止它们打开和执行任何其他文件。因此,在应用更新后系统有时无法引导。

RHBA-2020:5241 公告提供后,fapolicyd 会忽略二进制路径中的后缀,以便二进制文件与信任数据库匹配。因此,fapolicyd 可以正确强制实施规则,更新过程可以完成。

(BZ#1897092)

SELinux 不再阻止 Tomcat 发送电子邮件

在以前的版本中,SELinux 策略不允许 tomcat_tpki_tomcat_t 域连接到 SMTP 端口。因此,SELinux 拒绝 Tomcat 服务器上的应用程序发送电子邮件。在这个版本中,该策略允许 Tomcat 域的进程访问 SMTP 端口,SELinux 不再阻止 Tomcat 中的应用程序发送电子邮件。selinux-policy

(BZ#1687798)

lockdev 现在使用 SELinux 正确运行

在以前的版本中,lockdev 工具无法转换到 lockdev_t 上下文,即使定义了 lockdev_t 的 SELinux 策略。因此,当 root 用户使用 lockdev 时,可以在 'unconfined_t' 域中运行。这会在系统中引入漏洞。在这个版本中,定义了转换到 lockdev_tlockdev 现在可以在 enforcing 模式的 SELinux 中使用。

(BZ#1673269)

iotop 现在使用 SELinux 正确运行

在以前的版本中,iotop 工具无法转换到 iotop_t 上下文,即使定义了 iotop_t 的 SELinux 策略。因此,当 root 用户使用 iotop 时,可以在 'unconfined_t' 域中运行。这会在系统中引入漏洞。在这个版本中,定义了转换到 iotop_tiotop 现在可以在 enforcing 模式的 SELinux 中使用。

(BZ#1671241)

SELinux 现在可以正确地处理 NFS 'crossmnt'

当进程访问已用作服务器挂载点的子目录时,带有 crossmnt 选项的 NFS 协议会自动创建内部挂载。在以前的版本中,SELinux 会检查访问 NFS 挂载目录的进程是否有挂载权限,从而导致 AVC 拒绝。在当前版本中,SELinux 权限检查会跳过这些内部挂载。因此,访问在服务器端挂载的 NFS 目录不需要挂载权限。

(BZ#1647723)

重新载入 SELinux 策略不再会导致错误的 ENOMEM 错误

重新加载 SELinux 策略会导致内部安全性上下文查找表变得无响应。因此,当内核在策略重新加载期间遇到新的安全上下文时,操作会失败,并显示一个假的"内存Out 内存"(ENOMEM)错误。在这个版本中,内部安全标识符(SID)查找表已被重新设计,不再冻结。因此,在重新加载 SELinux 策略期间,内核不再返回误导的 ENOMEM 错误。

(BZ#1656787)

未限制的域现在可以使用 smc_socket

在以前的版本中,SELinux 策略没有 smc_socket 类的 allow 规则。因此,SELinux 阻止了对未限制域的 smc_socket 的访问。在这个版本中,allow 规则已添加到 SELinux 策略中。因此,未限制的域可以使用 smc_socket

(BZ#1683642)

Kerberos 清理过程现在与 GSSAPIDelegateCredentials 和默认缓存兼容 krb5.conf

在以前的版本中,当在 krb5.conf 文件中配置 default_ccache_name 选项时,kerberos 凭证不会使用 GSSAPIDelegateCredentialsGSSAPICleanupCredentials 选项进行清理。现在,通过更新源代码来清理描述用例中的凭证缓存解决了这个程序错误。配置后,如果用户配置了凭据缓存,则会在 exit 上清理凭据缓存。

(BZ#1683295)

OpenSSH 现在可以正确地处理带有不匹配标签的密钥的 PKCS #11 URI

在以前的版本中,使用对象部分(密钥标签)指定 PKCS #11 URI 可能会阻止 OpenSSH 在 PKCS #11 中查找相关对象。在这个版本中,如果没有找到匹配的对象,标签将被忽略,并且只有 ID 匹配密钥。现在,OpenSSH 可以使用使用完整 PKCS #11 URI 引用的智能卡中的密钥。

(BZ#1671262)

与 VMware 托管系统的 SSH 连接现在可以正常工作

之前版本的 OpenSSH 套件引入了在 SSH 数据包中更改默认 IP 服务质量(IPQoS)标记,VMware 虚拟化平台无法正确处理这些标记。因此,无法与 VMware 上的系统建立 SSH 连接。在 VMWare Workstation 15 中解决了这个问题,与 VMware 托管系统的 SSH 连接现在可以正常工作。

(BZ#1651763)

curve25519-sha256 现在在 OpenSSH 中默认支持

在以前的版本中,即使 OpenSSH 客户端和服务器与默认策略级别兼容,curve25519-sha256 SSH 密钥交换算法在系统范围的加密策略配置中也缺失。因此,如果使用 curve25519-sha256 的客户端或服务器不受主机支持,则连接可能会失败。这个 crypto-policies 软件包更新修复了这个程序错误,在上述场景中 SSH 连接不再会失败。

(BZ#1678661)

OSPP 和 PCI-DSS 配置集的 Ansible playbook 在出现故障后不再退出

在以前的版本中,因为补救中不正确的排序和其他错误,安全内容自动化协议(OSPP)和支付卡行业数据安全标准(PCI-DSS)配置集的 Ansible 修复会失败。此更新修复了生成的 Ansible 修复 playbook 中的排序和错误,Ansible 修复现在可以正常工作。

(BZ#1741455)

Audit transport=KRB5 现在可以正常工作

在以前的版本中,审计 KRB5 传输模式无法正常工作。因此,使用 Kerberos 对等身份验证进行审计的远程日志无法正常工作。在这个版本中,这个问题已被解决,Audit 远程日志记录现在可以在上述场景中正常工作。

(BZ#1730382)

6.4.4. 网络

内核现在支持 bitmap:ipmachash:ipmachash:mac IP 设置类型中的目的地 MAC 地址

在以前的版本中,bitmap:ipmachash:ipmachash:mac IP 集合类型的内核实施只允许在源 MAC 地址上匹配,而目的地 MAC 地址则可指定,但不会与设置的条目匹配。因此,管理员可以创建在其中一个 IP 设置类型中使用目的地 MAC 地址的 iptables 规则,但与给定规格匹配的数据包实际上不会被分类。在这个版本中,内核比较目的地 MAC 地址,如果指定的分类与数据包的目标 MAC 地址对应,则返回匹配项。因此,与目的地 MAC 地址匹配的规则现在可以正常工作。

(BZ#1649087)

gnome-control-center 应用程序现在支持编辑高级 IPsec 设置

在以前的版本中,gnome-control-center 应用程序只显示 IPsec VPN 连接的高级选项。因此,用户无法更改这些设置。在这个版本中,高级设置中的字段可以被编辑,用户可以保存更改。

(BZ#1697329)

更新了 iptables-extensions(8) man page 中的 TRACE 目标

在以前的版本中,iptables-extensions(8) man page 中的 TRACE 目标描述只涉及 compat 变体,但 Red Hat Enterprise Linux 8 使用 nf_tables 变体。因此,man page 没有引用 xtables-monitor 命令行工具来显示 TRACE 事件。这个 man page 已被更新,现在会提到 xtables-monitor

(BZ#1658734)

改进了 ipset 服务中的错误日志

在以前的版本中,ipset 服务没有在 systemd 日志中报告具有有意义的严重性的配置错误。无效配置条目的严重性级别只为 informational,服务没有报告无法使用的配置的错误。因此,管理员很难识别和排除 ipset 服务配置中的问题。在这个版本中,ipset 会在 systemd 日志中记录配置问题作为一个 warnings;如果服务启动失败,它会在日志中记录一个 error 级别的条目,其中包括更详细的信息。现在,在配置 ipset 服务时进行故障排除更为简单。

(BZ#1683711)

ipset 服务现在会忽略启动过程中无效的配置条目

ipset 服务将配置存储为独立文件中的集合。在以前的版本中,当服务启动时,它会从单个操作中的所有集合中恢复配置,而不过滤可以通过手动编辑集合插入的无效条目。因此,如果单个配置条目无效,服务不会恢复其他不相关的集合。这个问题已被解决。因此,ipset 服务会在恢复操作过程中检测到并删除无效的配置条目,并忽略无效的配置条目。

(BZ#1683713)

ipset list 命令为 hash 设置类型报告一致的内存

当您向 hash 设置类型中添加条目时,ipset 工具必须通过分配额外内存块来为新条目重新定义内存表示大小。在以前的版本中,ipset 只将每个设置的分配大小设置为新块的大小,而不是将值添加到当前的内存中大小。因此,ip list 命令报告内存大小不一致。在这个版本中,ipset 可以正确地计算内存大小。现在,ipset list 命令显示集合的正确内存大小,输出与 hash 设置类型的实际分配内存匹配。

(BZ#1714111)

现在,内核在接收 ICMPv6 Packet Too Big 信息时可以正确地更新 PMTU

在某些情况下,如本地链路地址,多个路由可以匹配源地址。在以前的版本中,当接收 Internet 控制消息协议版本 6(ICMPv6)数据包时,内核不会检查输入接口。因此,路由查找可能会返回与输入接口不匹配的目的地。因此,当收到 ICMPv6 Packet Too Big 消息时,内核可以为不同的输入接口更新路径最大传输单元(PMTU)。在这个版本中,内核会在路由查找过程中检查输入接口。现在,内核会根据源地址更新正确的目的地,PMTU 可以正常工作。

(BZ#1721961)

/etc/hosts.allow/etc/hosts.deny 文件不再包含对删除的过期引用 tcp_wrappers

在以前的版本中,/etc/hosts.allow/etc/hosts.deny 文件包含 tcp_wrappers 软件包的过期信息。这些文件在 RHEL 8 中删除,因为 tcp_wrappers 不再需要它们,所以它被删除。

(BZ#1663556)

6.4.5. 内核

tpm2-abrmd-selinux 现在有正确的依赖关系 selinux-policy-targeted

在以前的版本中,tpm2-abrmd-selinux 软件包依赖于 selinux-policy-base 软件包,而不是 selinux-policy-targeted 软件包。因此,如果系统安装了 selinux-policy-minimum 而不是 selinux-policy-targeted,安装 tpm2-abrmd-selinux 软件包会失败。在这个版本中解决了这个问题,tpm2-abrmd-selinux 可以在上述场景中正确安装。

(BZ#1642000)

所有 /sys/kernel/debug 文件都可以访问

在以前的版本中,"Operation notallow"(EPERM)错误的返回值会一直被设置,直到功能结束,而不考虑错误。因此,任何访问特定 /sys/kernel/debug (debugfs)文件的尝试都会失败,并出现未修改的 EPERM 错误。在这个版本中,EPERM 返回值移到以下块:因此,在上述场景中,可以访问 debugfs 文件且不会出现问题。

(BZ#1686755)

NIC 不再受到 41000 和 45000 FastLinQ 系列的 qede 驱动程序中的一个错误的影响

在以前的版本中,固件升级和调试数据收集操作会失败,因为 41000 和 45000 FastLinQ 系列的 qede 驱动程序存在错误。它使得 NIC 无法使用。主机的重新引导(PCI reset)使 NIC 再次正常运行。

这个问题可能会在以下情况下发生:

  • 在使用 inbox 驱动程序升级 NIC 的固件过程中
  • 在运行 ethtool -d ethx 命令的调试数据收集过程中
  • 运行包含的 sosreport 命令时 ethtool -d ethx.
  • 在发起由收件驱动程序自动调试数据收集期间,如 I/O 超时、Mail Box 命令超时和硬件属性。

为了解决这个问题,红帽通过红帽漏洞公告(RHBA)发布了一个勘误。在 RHBA 发行前,建议您在 https://access.redhat.com/support 中创建问题单来请求支持的修复。

(BZ#1697310)

通用 EDAC GHES 驱动程序现在检测到哪些 DIMM 报告了错误

在以前的版本中,EDAC GHES 驱动程序无法检测到哪个 DIMM 报告了错误。因此,会出现以下出错信息:

DIMM location: not present. DMI handle: 0x<ADDRESS>

现在,该驱动程序已被更新来扫描 DMI (SMBIOS) 表,以检测与桌面管理接口(DMI)处理 0x<ADDRESS> 匹配的特定 DIMM。因此,EDAC GHES 可以正确地检测到哪个特定的 DIMM 报告了硬件错误。

(BZ#1721386)

podman 可以在 RHEL 8 中检查点容器

在以前的版本中,Checkpoint 和 Restore in Userspace(CRIU)软件包的版本已经过时。因此,CRIU 不支持容器检查点和恢复功能,podman 工具无法检查点容器。在运行 podman container checkpoint 命令时,会显示以下出错信息:

'checkpointing a container requires at least CRIU 31100'

在这个版本中,通过升级 CRIU 软件包的版本解决了这个问题。因此,podman 现在支持容器检查点和恢复功能。

(BZ#1689746)

early-kdump 如果在 中使用 add_dracutmodules+=earlykdump 选项,标准 kdump 不再会失败 dracut.conf

在以前的版本中,为 early-kdump 安装的内核版本和 initramfs 内核版本之间会出现不一致的情况。因此,启用 early-kdump 时引导会失败。另外,如果 early-kdump 检测到它包含在标准 kdump initramfs 镜像中,它会强制退出。因此,如果 early-kdump 作为默认的 dracut 模块添加,标准 kdump 服务也会在尝试重新构建 kdump initramfs 时失败。因此,early-kdump 和标准 kdump 都失败。在这个版本中,early-kdump 在安装过程中使用一致的内核名称,只有版本与运行的内核不同。另外,标准 kdump 服务会强制丢弃 early-kdump 以避免镜像生成失败。因此,在上述场景中 early-kdump 和标准 kdump 不再会失败。

(BZ#1662911)

启用的第一个内核现在可以成功转储 vmcore

在以前的版本中,第一个带有活跃安全内存加密(SME)功能的内核中的加密内存会导致 kdump 机制失败。因此,第一个内核无法转储内存的内容(vmcore)。在这个版本中,添加了 ioremap_encrypted() 功能来重新映射加密的内存并修改相关的代码。现在,加密的第一个内核的内存会被正确访问,在上述情况下崩溃工具可以转储和解析 vmcore。

(BZ#1564427)

现在,启用了 SEV 的第一个内核可以成功转储 vmcore

在以前的版本中,第一个带有活跃安全加密虚拟化(SEV)功能的内核中的加密内存会导致 kdump 机制失败。因此,第一个内核无法转储内存的内容(vmcore)。在这个版本中,添加了 ioremap_encrypted() 功能来重新映射加密的内存并修改相关的代码。因此,第一个内核的加密内存现在被正确访问,在上述情况下崩溃工具可以转储和解析 vmcore。

(BZ#1646810)

内核现在为 SWIOTLB 保留更多空间

在以前的版本中,当内核中启用了安全加密虚拟化(SEV)或安全内存加密(SME)功能时,软件输入输出转换查找缓冲区(SWIOTLB)技术必须同时启用,并消耗大量内存。因此,捕获内核无法引导或遇到内存不足错误。在这个版本中,在 SEV/SME 处于活跃状态时为 SWIOTLB 保留额外的崩溃内核内存,解决了这个问题。因此,捕获内核会为 SWIOTLB 保留更多内存,且这个错误不再出现在上述场景中。

(BZ#1728519)

现在,可以在 hwlatdetect 运行时禁用 C-state 转换

要获得实时性能,hwlatdetect 工具需要在测试运行时禁用 CPU 的节能。在这个版本中,hwlatdetect 在测试运行期间关闭 C-state 转换,hwlatdetect 现在可以更精确地检测硬件延迟。

(BZ#1707505)

6.4.6. 硬件启用

现在可以安装 openmpi 软件包

在以前的版本中,基于 opensm 软件包的重基会改变其 soname 机制。因此,由于未解析的依赖关系,无法安装 openmpi 软件包。在这个版本中解决了这个问题。因此,现在可以安装 openmpi 软件包而无需任何问题。

(BZ#1717289)

6.4.7. 文件系统和存储

RHEL 8 安装程序现在使用条目 ID 来设置默认引导条目

在以前的版本中,RHEL 8 安装程序使用第一个引导条目的索引作为默认值,而不是使用条目 ID。因此,添加新引导条目成为默认设置,它首先排序并设置为第一个索引。在这个版本中,安装程序使用条目 ID 来设置默认引导条目,因此不会更改默认条目,即使在默认条目前添加和排序引导条目也是如此。

(BZ#1671047)

现在,当使用 smartpqi 启用,系统可以成功引导

在以前的版本中,当启用 Secure Memory Encryption(SME)功能且根磁盘使用 smartpqi 驱动程序时,系统无法在特定的 AMD 机器中引导。

当引导失败时,系统会在引导日志中显示类似以下内容的信息:

smartpqi 0000:23:00.0: failed to allocate PQI error buffer

这个问题是由 smartpqi 驱动程序造成的,该驱动程序回退到 Software Input Output Translation Lookaside Buffer(SWIOTLB),因为未设置一致的 Direct Memory Access(DMA)掩码。

在这个版本中,可以正确地设置一致的 DMA 掩码。现在,当在使用 smartpqi 驱动程序作为根磁盘的机器中启用了一个机器时,系统会成功引导。

(BZ#1712272)

bnx2fc 卡中创建后 FCoE LUN 不会消失

在以前的版本中,在 bnx2fc 卡中创建 FCoE LUN 后,FCoE LUN 不会被正确附加。因此,在 RHEL 8.0 的 bnx2fc 卡中创建 FCoE LUN 后会消失。在这个版本中,FCoE LUN 会被正确附加。现在,在 bnx2fc 卡中创建 FCoE LUN 后可以发现 FCoE LUN。

(BZ#1685894)

迁移到不同的终端平台后,VDO 卷不再丢失重复数据删除建议

在以前的版本中,当将 VDO 卷移到使用其他 endian 的平台后,通用重复数据删除服务(UDS)索引会丢失所有重复数据删除建议。因此,VDO 无法根据移动卷前存储的数据删除新写入的数据,从而减少空间节省。

在这个版本中,您可以在使用不同端点的平台间移动 VDO 卷,而不丢失重复数据删除建议。

(BZ#1696492)

kdump 服务在大型 IBM POWER 系统中工作

在以前的版本中,RHEL8 kdump 内核没有启动。因此,大型 IBM POWER 系统中的 kdump initrd 文件不会被创建。在这个版本中,添加了 squashfs-tools-4.3-19.el8 组件。在这个版本中,为 squashfs-tools-4.3-19.el8 组件可以从可用池中使用的 CPU 数量(而不是使用所有可用 CPU)增加了一个限制(128)。这解决了资源不足的问题。因此,kdump 服务现在可以在大型 IBM POWER 系统中正常工作。

(BZ#1716278)

现在添加到详细程度调试选项 nfs.conf

在以前的版本中,/etc/nfs.conf 文件和 nfs.conf(5) man page 没有包括以下选项:

  • 详细程度
  • rpc-verbosity

因此,用户不知道这些调试标志的可用性。在这个版本中,这些标记包括在 /etc/nfs.conf 文件的 [gssd] 部分,并包括在 nfs.conf(8) man page 中。

(BZ#1668026)

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

Socket::inet_aton() 现在可以安全地从多个线程中使用

在以前的版本中, Socket::inet_aton() 功能(用于从多个 Perl 线程解析域名)会调用不安全的 gethostbyname() glibc 功能。因此,偶尔会返回不正确的 IPv4 地址,或者 Perl 解释器意外终止。在这个版本中,Socket::inet_aton() 实现已被修改为使用 thread-safe getaddrinfo() glibc 而不是 gethostbyname()。因此,Perl Socket 模块中的 inet_aton() 功能可以从多个线程中安全使用。

(BZ#1699793,BZ#1699958)

6.4.9. 编译器和开发工具

gettext 返回未翻译的文本,即使内存不足

在以前的版本中,文本本地化的 gettext() 功能会在内存不足时返回 NULL 值而不是文本值,从而导致应用程序缺少文本输出或标签。这个程序错误已被解决,现在 gettext() - 在内存不足时返回未经翻译的文本。

(BZ#1663035)

locale 命令现在会在执行过程中遇到错误时警告 LOCPATH 设置

在以前的版本中,当 locale 命令因为无效 LOCPATH 遇到错误时,它不会为 LOCPATH 环境变量提供诊断。现在,locale 命令被设置为警告,当 LOCPATH 在执行过程中遇到错误时,已设置。因此,locale 现在会报告 LOCPATH 以及它遇到的任何底层错误。

(BZ#1701605)

gdb 现在可以在 aarch64 SVE 的 core 文件中读取并正确代表 z 注册

在以前的版本中,gdb 组件无法从带有 aarch64 可扩展向量扩展(SVE)架构的 core 文件中读取 z 寄存器。在这个版本中,gdb 组件可以从 core 文件中读取 z 寄存器。因此,info register 命令成功显示 z 注册内容。

(BZ#1669953)

GCC rebase 到版本 8.3.1

GNU Compiler Collection(GCC)已更新至上游版本 8.3.1。这个版本带来了大量其他程序错误修复。

(BZ#1680182)

6.4.10. Identity Management

FreeRADIUS 现在解析指向 IPv6 地址的主机名

在以前的版本中,在 RHEL 8 的 FreeRADIUS 版本中,ipaddr 工具只支持 IPv4 地址。因此,要让 radiusd 守护进程解析 IPv6 地址,需要在将系统从 RHEL 7 升级到 RHEL 8 后手动更新配置。在这个版本中解决了底层代码的问题,FreeRADIUS 中的 ipaddr 现在也使用 IPv6 地址。

(BZ#1685546)

Nuxwdog 服务不再无法在 HSM 环境中启动 PKI 服务器

在以前的版本中,因为程序漏洞,keyutils 软件包没有作为 pki-core 软件包的依赖项安装。另外,Nuxwdog watchdog 服务无法在使用硬件安全模块(HSM)的环境中启动公钥基础架构(PKI)服务器。这个问题已被解决。因此,所需的 keyutils 软件包现在作为依赖项自动安装,Nuxwdog 在使用 HSM 的环境中启动 PKI 服务器。

(BZ#1695302)

IdM 服务器现在可以在 FIPS 模式中正常工作

在以前的版本中,Tomcat 服务器的 SSL 连接器无法实施。因此,带有安装的证书服务器的 Identity Management(IdM)服务器无法在启用了 FIPS 模式的机器中正常工作。这个问题已通过添加 JSSTrustManagerJSSKeyManager 来解决。因此,IdM 服务器在上述场景中可以正常工作。

请注意,在 RHEL 8 中,有几个程序错误会阻止 IdM 服务器在 FIPS 模式中运行。这个更新只修复了其中一个。

(BZ#1673296)

KCM 凭证缓存现在适合单个凭证缓存中的大量凭证

在以前的版本中,如果 Kerberos 凭据管理器(KCM)包含大量凭证,Kerberos 操作(如 kinit )会失败,因为数据库中条目大小的限制以及这些条目的数量。

在这个版本中,在 sssd.conf 文件的 kcm 部分引入了以下新的配置选项:

  • max_ccaches (integer)
  • max_uid_ccaches (integer)
  • max_ccache_size (integer)

因此,KCM 现在可以在单个 ccache 中处理大量凭证。

有关配置选项的详情请参考 sssd-kcm man page

(BZ#1448094)

当使用 sss ID 映射插件时,Samba 不再拒绝访问

在以前的版本中,当您在使用此配置的域成员中运行 Samba 时,添加使用 sss ID 映射后端到 /etc/samba/smb.conf 文件的配置来共享目录时,ID 映射后端的更改会导致错误。因此,Samba 在某些情况下拒绝访问文件,即使存在用户和组并且 SSSD 知道该文件。这个问题已被解决。因此,在使用 sss 插件时,Samba 不再拒绝访问。

(BZ#1657665)

默认的 SSSD 超时值不再相互冲突

在以前的版本中,默认超时值之间存在冲突。以下选项的默认值已被修改以提高故障切换功能:

  • dns_resolver_op_timeout - 设置为 2s(以前为 6s)
  • dns_resolver_timeout - 设置为 4s(以前为 6s)
  • ldap_opt_timeout - 设置为 8s(以前为 6s)

另外,添加了一个新的 dns_resolver_server_timeout 选项,默认值为 1000 ms,它指定 SSSD 从 DNS 服务器切换到另一个 DNS 服务器的时间超时时间。

(BZ#1382750)

6.4.11. Desktop

systemctl isolate multi-user.target 现在显示控制台提示

当从 GNOME 桌面会话中的 GNOME Terminal 运行 systemctl isolate multi-user.target 命令时,只会显示光标,而不是控制台提示。在这个版本中,gdm 已被修复,控制台提示现在会在描述的情况中如预期显示。

(BZ#1678627)

6.4.12. 图形基础结构

'i915' 显示驱动程序现在支持最多 3 个版本 4K 的显示配置。

在以前的版本中,在 Xorg 会话中使用 'i915' 显示驱动程序时,无法有大于 2 个 4K 的显示配置。在这个版本中,'i915' 驱动程序支持最多 3 个版本4K 的显示配置。

(BZ#1664969)

Linux 客户机初始化 GPU 驱动程序时不再显示错误

在以前的版本中,Linux 客户机在初始化 GPU 驱动程序时返回警告信息。这是因为 Intel Graphics 虚拟化技术 -g(GVT -g)仅模拟客户机的 DisplayPort (DP)接口,并保留 'EDP_PSR_IMR' 和 'EDP_PSR_IIR' 注册为默认内存映射 I/O(MMIO)读/写寄存器。为解决这个问题,处理程序已添加到这些寄存器中,并且不再返回警告。

(BZ#1643980)

6.4.13. Web 控制台

可以使用 session_recording shell 登录到 RHEL web 控制台

在以前的版本中,tlog shell 的用户无法(启用会话记录)登录到 RHEL web 控制台。在这个版本中,这个程序错误已被解决。在安装此更新后,应该恢复将 tlog-rec-session shell 添加到 /etc/shells/ 的以前临时解决方案。

(BZ#1631905)

6.4.14. 虚拟化

到 pcie-to-pci 网桥控制器的热插拔 PCI 设备可以正常工作

在以前的版本中,如果客户机虚拟机配置包含 pcie-to-pci-bridge 控制器,该控制器在启动客户机时未连接端点设备,则无法将新设备的热插拔到该控制器。此更新改进了 PCIe 系统上的热插拔传统 PCI 设备处理方式,防止问题的发生。

(BZ#16444)

启用嵌套虚拟化不再阻止实时迁移

在以前的版本中,嵌套虚拟化功能与实时迁移不兼容。因此,在 RHEL 8 主机上启用嵌套虚拟化会阻止从主机迁移任何虚拟机(VM),并不会将虚拟机状态快照保存到磁盘。这个版本解决了上面描述的问题,受影响的虚拟机现在可以迁移。

(BZ#1689216)

6.4.15. 支持性

redhat-support-tool 现在创建一个 sosreport 归档

在以前的版本中,redhat-support-tool 工具无法创建 sosreport 归档。临时解决方案是单独运行 sosreport 命令,然后输入 redhat-support-tool addattachment -c 命令来上传归档。用户也可以使用客户门户网站中的 Web UI 创建客户问题单并上传 sosreport 归档。

另外,findkerneldebugsbtextractanalyzediagnose 等命令选项无法按预期工作,并将在以后的发行版本中修复。

(BZ#1688274)

6.5. 技术预览

这部分提供了 Red Hat Enterprise Linux 8.1 中所有可用的技术预览列表。

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

6.5.1. 网络

TIPC 有全面支持

透明间进程通信(TIPC)是专门为在松散耦合节点群集内进行有效通信的协议。它作为一个内核模块工作,在 iproute2 软件包中提供了一个 tipc 工具,允许设计人员创建可以快速可靠地与其他应用程序通信的应用程序,而不考虑它们在集群中的位置。现在,RHEL 8 完全支持这个功能。

(BZ#1581898)

用于 tc 的 eBPF 作为技术预览

作为技术预览,流量控制(tc)内核子系统和 tc 工具附加扩展 Berkeley Packet 过滤(eBPF)程序作为数据包分类器,以及用于入口和出站队列规则的操作。这可实现内核网络数据路径内的可编程数据包处理。

(BZ#1699825)

nmstate 作为技术预览提供

nmstate 是主机的网络 API。nmstate 软件包作为技术预览提供库和 nmstatectl 命令行工具以声明性方式管理主机网络设置。网络状态由预定义的 schema 描述。报告当前状态以及对所需状态的更改都符合 schema。

详情请查看 /usr/share/doc/nmstate/README.md 文件以及 /usr/share/doc/nmstate/examples 目录中的示例。

(BZ#1674456)

AF_XDP 作为技术预览提供

Address Family eXpress Data PathAF_XDP)套接字是为处理高性能数据包而设计的。它附带 XDP,并可将编程所选数据包的有效重定向到用户空间应用程序,以便进一步处理。

(BZ#1633143)

XDP 作为技术预览提供

eXpress Data Path(XDP)功能作为技术预览提供。它提供了在内核入口数据路径早期为高性能数据包处理附加扩展 Berkeley Packet Filter(eBPF)程序的方法,从而可以进行高效的可编程数据包分析、过滤和操作。

(BZ#1503672)

KTLS 作为技术预览提供

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

(BZ#1570255)

systemd-resolved 服务现在作为技术预览提供

systemd-resolved 服务为本地应用程序提供名称解析。该服务实现了缓存和验证 DNS stub 解析器、链接本地多播名称解析(LLMNR)以及多播 DNS 解析器和响应程序。

请注意,即使 systemd 软件包提供了 systemd-resolved,这个服务仍是一个不受支持的技术预览。

(BZ#1906489)

6.5.2. 内核

Control Group v2 在 RHEL 8 中作为技术预览提供

控制组 v2 机制是统一的层次结构控制组。控制组 v2 以分层方式组织进程,并以受控和可配置的方式在层次结构中分发系统资源。

与之前的版本不同,控制组 v2 只有一个层次结构。这个单一层次结构使 Linux 内核能够:

  • 根据拥有者的角色对进程进行分类。
  • 解决多个分级冲突策略的问题。

控制组 v2 支持大量控制器:

  • CPU 控制器规定了 CPU 周期的分布。这个控制器实现:

    • 常规调度策略的权重和绝对带宽限制模型。
    • 实时调度策略的绝对带宽分配模型。
  • 内存控制器规定了内存分布。目前,会追踪以下类型的内存用量:

    • Userland memory - 页面缓存和匿名内存。
    • 内核数据结构,如密度和内节点。
    • TCP 套接字缓冲。
  • I/O 控制器规定了 I/O 资源的分配。
  • 回写控制器与 Memory 和 I/O 控制器交互,并且特定于 Control Group v2

以上信息基于链接 :https://www.kernel.org/doc/Documentation/cgroup-v2.txt您可以参照同一链接来获取有关特定控制组 v2 控制器的更多信息。

(BZ#1401552)

kexec fast reboot 作为技术预览

kexec fast reboot 功能仍作为技术预览提供。由于 kexec fast reboot,现在重启速度显著加快。要使用这个功能,请手动加载 kexec 内核,然后重启操作系统。

(BZ#1769727)

eBPF 作为技术预览

Extended Berkeley Packet Filter(eBPF) 是一个内核中的虚拟机,允许在可访问有限功能的受限沙箱环境中在内核空间中执行代码。

虚拟机包含新系统调用 bpf(),它支持生成各种映射类型,同时还允许在特殊的装配类代码中载入程序。然后,代码被加载到内核,并使用即时编译方式转换为原生机器代码。请注意,只有具有 CAP_SYS_ADMIN 能力的用户(如 root 用户)才可以成功使用 bpf() syscall。详情请查看 bpf(2) 手册页。

载入的程序可附加到不同的点(套接字、追踪点、数据包)来接收和处理数据。

红帽提供的很多组件都使用 eBPF 虚拟机。每个组件处于不同的开发阶段,因此目前并不完全支持所有组件。所有组件都作为技术预览提供,除非有特定组件被显示为受支持。

以下显著的 eBPF 组件当前还作为技术预览提供:

  • The BPF Compiler Collection(BCC) 工具软件包,这是一组使用 eBPF 虚拟机的动态内核跟踪实用程序。BCC 工具软件包在以下架构中作为技术预览提供:64 位 ARM 架构、IBM Power Systems、Letle Endian 和 IBM Z。请注意,AMD 和 Intel 64 位架构完全支持 BCC 工具软件包。
  • bpftrace 是一个使用 eBPF 虚拟机的高级追踪语言。
  • eXpress Data Path(XDP)功能,是一种网络技术,它允许使用 eBPF 虚拟机在内核中快速处理数据包。

(BZ#1559616)

6.5.3. 硬件启用

igc 驱动程序作为 RHEL 8 的一个技术预览提供

igc Intel 2.5G 以太网 Linux 有线 LAN 驱动程序现在都可用于 RHEL 8 的所有架构作为技术预览。ethtool 工具还支持 igc 有线 LAN。

(BZ#1495358)

6.5.4. 文件系统和存储

NVMe/TCP 作为技术预览提供

通过 TCP/IP 网络(NVMe/TCP)访问和共享 Nonvolatile Memory Express(NVMe/TCP)存储及其对应的 nvme-tcp.konvmet-tcp.ko 内核模块已被添加为技术预览。

使用 nvme-clinvmetcli 软件包提供的工具可以管理 NVMe/TCP 作为存储客户端或目标。

NVMe/TCP 提供了存储传输选项以及现有的 NVMe over Fabric(NVMe-oF)传输,其中包括远程直接内存访问(RDMA)和光纤通道(NVMe/FC)。

(BZ#1696451)

现在 ext4 和 XFS 作为技术预览提供文件系统 DAX

在 Red Hat Enterprise Linux 8.1 中,文件系统 DAX 作为技术预览提供。DAX 提供了将持久内存直接映射到其地址空间的方法。要使用 DAX,系统必须有某种可用的持久内存,通常使用一个或多个非线内存模块(NVDIMM),且必须在 NVDIMM 上创建支持 DAX 的文件系统。另外,该文件系统必须使用 dax 挂载选项挂载。然后,在 dax 挂载的文件系统中的一个文件 mmap 会把存储直接映射到应用程序的地址空间中。

(BZ#1627455)

OverlayFS

OverlayFS 是一种联合文件系统。它允许您在另一个文件系统上覆盖一个文件系统。更改记录在上面的文件系统中,而较小的文件系统则未修改。这允许多个用户共享文件系统镜像,如容器或 DVD-ROM,基础镜像使用只读介质。详情请查看 Linux 内核文档:https://www.kernel.org/doc/Documentation/filesystems/overlayfs.txt

在大多数情况下,OverlayFS 仍是一个技术预览。因此,当这个技术被激活时,内核会记录警告信息。

与支持的容器引擎(podmancri-obuildah)一同使用时,对 OverlayFS 提供的全面支持包括以下限制:

  • OverlayFS 仅支持作为容器引擎图形驱动程序使用。它只针对容器 COW 内容支持,而不适用于持久性存储。您必须将任何持久性存储放在非OverlayFS 卷中。只有默认容器引擎配置才能使用;即,同一文件系统中有一个覆盖级别、一个较低级别和上级。
  • 目前只支持 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 一起使用的命令:

    • XFS 文件系统必须使用启用 -n ftype=1 选项来创建,以用作覆盖。
    • 使用 rootfs 以及系统安装中创建的任何文件系统,在 Anaconda kickstart 中设置 --mkfsoptions=-n ftype=1 参数。
    • 当在安装后创建新文件系统时,运行 # mkfs -t xfs -n ftype=1 /PATH/TO/DEVICE 命令。
    • 要确定现有文件系统是否有资格用作 overlay,请运行 # xfs_info /PATH/TO/DEVICE | grep ftype 命令查看是否启用了 ftype=1 选项。
  • 使用 OverlayFS 在所有支持的容器引擎中默认启用 SELinux 安全标签。
  • 本发行版本中有几个与 OverlayFS 相关的已知问题。详情请查看 Linux 内核文档中的 非标准行为: https://www.kernel.org/doc/Documentation/filesystems/overlayfs.txt

(BZ#1690207)

Stratis 现在作为技术预览提供

Stratis 是一个新的本地存储管理器。它在存储池的上面为用户提供额外的功能。

Stratis 可让您更轻松地执行存储任务,比如:

  • 管理快照和精简配置
  • 根据需要自动增大文件系统大小
  • 维护文件系统

要管理 Stratis 存储,使用 stratis 工具与 stratisd 后台服务通信。

Stratis 作为技术预览提供。

如需更多信息,请参阅 Stratis 文档:使用 Stratis 管理分层本地存储

(JIRA:RHELPLAN-1212)

现在可以将登录 IdM 主机的 IdM 和 AD 用户在 IdM 域成员中设置的 Samba 服务器作为技术预览在 IdM 域成员中设置

在这个版本中,您可以在 Identity Management(IdM)域成员中设置 Samba 服务器。由同名软件包提供的新 ipa-client-samba 工具为 IdM 添加特定于 Samba 的 Kerberos 服务主体,并准备 IdM 客户端。例如,实用程序创建 /etc/samba/smb.conf 使用 sss ID 映射后端的 ID 映射配置。现在,管理员可以在 IdM 域成员中设置 Samba。

由于 IdM Trust Controller 不支持全局目录服务,AD-enrolled Windows 主机无法在 Windows 中找到 IdM 用户和组。另外,IdM Trust Controller 不支持使用分布式计算环境/远程过程调用(DCE/RPC)协议解析 IdM 组。因此,AD 用户只能访问 IdM 客户端的 Samba 共享和打印机。

详情请查看在 IdM 域成员中设置 Samba

(JIRA:RHELPLAN-13195)

6.5.5. 高可用性和集群

pacemaker podman 捆绑包作为技术预览

pacemaker 容器捆绑包现在在 podman 容器平台上运行,容器捆绑包功能可作为技术预览使用。其中一个功能例外于技术预览:红帽完全支持在 Red Hat Openstack 中使用 Pacemaker 捆绑包。

(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)

6.5.6. 身份管理

身份管理 JSON-RPC API 作为技术预览

一个 API 可用于 Identity Management(IdM)。要查看 API,IdM 还提供了一个 API 浏览器作为技术预览。

在 Red Hat Enterprise Linux 7.3 中,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)

6.5.7. 图形基础结构

VNC 远程控制台作为 64 位 ARM 架构的一个技术预览提供

在 64 位 ARM 架构中,虚拟网络计算(VNC)远程控制台可作为技术预览使用。请注意,在 64 位 ARM 架构中,目前图形堆栈的其它部分没有被验证。

(BZ#1698565)

6.5.8. Red Hat Enterprise Linux 系统角色

RHEL 系统角色的 postfix 角色作为技术预览提供

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

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

postfix 角色作为技术预览提供。

以下角色被完全支持:

  • kdump
  • network
  • selinux
  • storage
  • timesync

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

(BZ#1812552)

rhel-system-roles-sap 作为技术预览提供

rhel-system-roles-sap 为 SAP 提供 Red Hat Enterprise Linux(RHEL)系统角色,可用于自动化 RHEL 系统配置以运行 SAP 工作负载。这些角色通过自动应用基于相关 SAP 备注中最佳实践的优化设置,大大减少了将系统配置为运行 SAP 工作负载的时间。访问只限制为 RHEL for SAP Solutions。如果需要帮助,请联络红帽客户支持团队。

rhel-system-roles-sap 软件包中的以下新角色作为技术预览提供:

  • sap-preconfigure
  • sap-netweaver-preconfigure
  • sap-hana-preconfigure

如需更多信息,请参阅 SAP 的 Red Hat Enterprise Linux 系统角色

注: 计划进行 RHEL 8.1 for SAP Solutions 的验证,以便在 Intel 64 架构和 IBM POWER9 上与 SAP HANA 配合使用。其他 SAP 应用和数据库产品(如 SAP NetWeaver 和 SAP ASE)可以使用 RHEL 8.1 功能。如需了解有关验证的版本和 SAP 支持的最新信息,请查阅 SAP Notes 2369910 和 2235581。

(BZ#1660832)

rhel-system-roles-sap rebase 到版本 1.1.1

RHBA-2019:4258 公告中,rhel-system-roles-sap 软件包已被更新以提供多个程序错误修复。值得注意的是:

  • SAP 系统角色适用于非英语区域的主机
  • kernel.pid_maxsysctl 模块设置
  • nproc 对于 HANA,设置为无限值(请参阅 SAP 注意 2772999 第 9 步)
  • 在软进程限制之前设置硬进程限制
  • 设置进程限制的代码现在的工作方式与角色相同 sap-preconfigure
  • handlers/main.yml 仅对非虚拟系统起作用,并在 uefi 系统中静默忽略
  • 删除了未使用的依赖关系 rhel-system-roles
  • 从中删除 libssh2 sap_hana_preconfigure_packages
  • 添加了进一步检查,以避免在不支持某些 CPU 设置时失败
  • 将所有 true 和 false 转换为小写
  • 更新了最小软件包处理
  • 正确设置主机名和域名
  • 很多次修复

rhel-system-roles-sap 软件包作为技术预览提供。

(BZ#1766622)

6.5.9. 虚拟化

选择 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)

KVM 虚拟化可用于 RHEL 8 Hyper-V 虚拟机

作为技术预览,现在可将嵌套的 KVM 虚拟化用于 Microsoft Hyper-V hypervisor。因此,您可以在运行在 Hyper-V 主机的 RHEL 8 虚拟机中创建虚拟机。

请注意目前,这个功能仅适用于 Intel 系统。另外,在一些情况下,Hyper-V 中不默认启用嵌套虚拟化。要启用它,请参阅以下文档:

https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization

(BZ#1519039)

用于 KVM 虚拟机的 AMD SEV

作为技术预览,RHEL 8 为使用 KVM 管理程序的 AMD EPYC 主机引入了安全加密虚拟化(SEV)功能。如果在虚拟机(VM)上启用,SEV 会加密虚拟机内存,因此主机不能访问虚拟机上的数据。如果主机被恶意软件成功损坏,这可以提高虚拟机的安全性。

请注意,在单一主机上同时可以使用此功能的虚拟机数量是由主机硬件决定的。当前的 AMD EPYC 处理器支持使用 SEV 运行最多 15 个正在运行的虚拟机。

也请注意,对于将 SEV 配置为可以引导的虚拟机,还必须使用硬内存限制配置虚拟机。要做到这一点,请在虚拟机 XML 配置中添加以下内容:

<memtune>
  <hard_limit unit='KiB'>N</hard_limit>
</memtune>

建议 N 的值等于或大于客户机 RAM + 256 MiB。例如:如果为客户端分配 2 GiB RAM,则 N 应该为 2359296 或更高。

(BZ#1501618, BZ#1501607, JIRA:RHELPLAN-7677)

Intel vGPU

作为技术预览,现在可以将物理 Intel GPU 设备划分为多个虚拟设备,称为 mediated devices。然后可将这些 mediated devices 分配给多个虚拟机(VM)作为虚拟 GPU。因此,这些虚拟机共享单个物理 Intel GPU 的性能。

请注意,只有所选 Intel GPU 与 vGPU 功能兼容。另外,为虚拟机分配物理 GPU 使得主机无法使用 GPU,并可能阻止主机的图形显示输出工作。

(BZ#1528684)

IBM POWER 9 上现在可用的嵌套虚拟化

作为技术预览,现在可以使用在 IBM POWER 9 系统上运行的 RHEL 8 主机机器上的嵌套虚拟化功能。嵌套虚拟化使得 KVM 虚拟机(VM)充当虚拟机监控程序,允许在虚拟机内运行虚拟机。

请注意,嵌套虚拟化在 AMD64 和 Intel 64 系统中也是一个技术预览。

另请注意,要使嵌套虚拟化在 IBM POWER 9、主机、客户机和嵌套客户机上工作,目前都需要运行以下操作系统之一:

  • RHEL 8
  • 用于 POWER 9 的 RHEL 7

(BZ#1505999, BZ#1518937)

创建嵌套虚拟机

作为技术预览,在 RHEL 8 中 KVM 虚拟机(VM)提供了嵌套虚拟化。通过此功能,在物理主机上运行的虚拟机可以充当虚拟机监控程序,并托管自己的虚拟机。

请注意,嵌套虚拟化只在 AMD64 和 Intel 64 构架中可用,嵌套的主机必须是 RHEL 7 或 RHEL 8 虚拟机。

(JIRA:RHELPLAN-14047)

6.6. 过时的功能

这部分提供了在 Red Hat Enterprise Linux 8.1 中弃用 的功能概述。

弃用的功能在 Red Hat Enterprise Linux 8 生命周期结束前一直被支持。弃用的功能可能在以后的主要发行本中不被支持,因此不建议在新的部署中使用。有关特定主要发行本中已弃用功能的最新列表,请参考最新版本的发行文档。

对于当前或将来的主发行版本中的新部署,我们不推荐使用已弃用的硬件组件。硬件驱动程序更新仅限于安全和关键修复。红帽建议尽快替换这个硬件。

一个软件包可以被弃用,我们不推荐在以后使用。在某些情况下,软件包可从产品中删除。然后,产品文档可识别提供类似、完全相同或者更高级功能的最新软件包,并提供进一步建议。

有关 RHEL 7 中存在,但已从 RHEL 8 中删除的功能信息,请参阅 使用 RHEL 8 的注意事项

6.6.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 option 会导致严重安装错误。建议您修改 Kickstart 文件删除该选项。

(BZ#1637872)

6.6.2. 软件管理

rpmbuild --sign 命令已弃用

在这个版本中,rpmbuild --sign 命令已弃用。在以后的 Red Hat Enterprise Linux 版本中使用这个命令可能会导致错误。建议您使用 rpmsign 命令替代它。

(BZ#1688849)

6.6.3. 安全性

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) man page。

(BZ#1660839)

在 RHEL 8 中弃用 DSA

数字签名算法(DSA)在 Red Hat Enterprise Linux 8 中被视为已弃用。依赖于 DSA 密钥的身份验证机制在默认配置中不起作用。请注意,即使 LEGACY 系统范围的加密策略级别中,OpenSSH 客户端都不接受 DSA 主机密钥。

(BZ#1646541)

SSL2 Client Hello 已在 NSS 中弃用

传输层安全(TLS)协议版本 1.2 及更早版本允许与 Client Hello 消息进行协商,其格式与安全套接字层(SSL)协议版本 2 后兼容。网络安全服务(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)

6.6.4. 网络

在 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)

6.6.5. 内核

无盘引导已弃用

无磁盘引导允许多个系统通过网络共享根文件系统。虽然方便,但在实时工作负载中容易引入网络延迟。在以后的 RHEL for Real Time 8 更新中,无盘引导将不再被支持。

(BZ#1748980)

6.6.6. 硬件启用

qla3xxx 驱动程序已弃用

在 RHEL 8 中弃用了 qla3xxx 驱动程序。本产品的将来主发行版本可能不支持该驱动程序,因此不建议在新的部署中使用该驱动程序。

(BZ#1658840)

dl2kdnetethocdlci 驱动程序已弃用

RHEL 8 中弃用了 dl2kdnetethocdlci 驱动程序。在以后的主要发行本中,这些驱动程序可能不被支持,因此不建议在新的部署中使用这些驱动程序。

(BZ#1660627)

6.6.7. 文件系统和存储

elevator 内核命令行参数已弃用

在以前的 RHEL 版本中使用 elevator 内核命令行参数为所有设备设置磁盘调度程序。在 RHEL 8 中,该参数已弃用。

上游 Linux 内核删除了对 elevator 参数的支持,但出于兼容性的原因,在 RHEL 8 中仍提供此支持。

请注意,内核会根据设备类型选择默认磁盘调度程序。这通常是最佳设置。如果您需要不同的调度程序,红帽建议您使用 udev 规则或 Tuned 服务来配置它。匹配所选设备并只为那些设备切换调度程序。

如需更多信息,请参阅设置磁盘调度程序

(BZ#1665295)

禁用了 NFSv3 over UDP

默认情况下,NFS 服务器不再默认在 User Datagram Protocol(UDP)套接字上打开或监听。这个变化只影响 NFS 版本 3,因为版本 4 需要传输控制协议(TCP)。

RHEL 8 不再支持通过 UDP 的 NFS。

(BZ#1592011)

6.6.8. Desktop

libgnome-keyring 库已弃用

libgnome-keyring 库已弃用,而是使用 libsecret 库,因为 libgnome-keyring 没有被上游维护,且不会遵循 RHEL 所需的加密策略。新的 libsecret 库是符合所需安全标准的替换。

(BZ#1607766)

6.6.9. 图形基础结构

不再支持 AGP 图形卡

Red Hat Enterprise Linux 8 不支持使用图形端口(AGP)总线的图形卡。推荐使用 PCI-Express bus 图形卡替换。

(BZ#1569610)

6.6.10. Web 控制台

Web 控制台不再支持不完整翻译

RHEL web 控制台不再提供翻译少于 50% 的语言支持。如果浏览器要求转换成这种语言,用户界面将为英语。

(BZ#1666722)

6.6.11. 虚拟化

virt-manager 已被弃用

虚拟机管理器(也称 virt-manager) 已弃用。RHEL 8 web 控制台(也称 Cockpit )旨在在以后的版本中成为它替换。因此,建议您使用 web 控制台使用 GUI 管理虚拟化。但请注意,virt-manager 中的一些功能可能还不能使用 RHEL 8 web 控制台。

(JIRA:RHELPLAN-10304)

RHEL 8 不支持虚拟机快照

当前创建虚拟机(VM)快照的机制已经被弃用,因为它无法可靠工作。因此,建议在 RHEL 8 中使用虚拟机快照。

请注意,一个新的 VM 快照机制正在开发中,并将在以后的 RHEL 8 次要发行本中完全实现。

(BZ#1686057)

Cirrus VGA 虚拟 GPU 类型已弃用

随着 Red Hat Enterprise Linux 的主要更新,Cirrus VGA GPU 设备将在 KVM 虚拟机中不再被支持。因此,,红帽建议您使用 stdvgavirtio-vga 或者 qxl 设备而不是 Cirrus VGA。

(BZ#1651994)

6.6.12. 已弃用的软件包

下列软件包已弃用,可能不会包括在 Red Hat Enterprise Linux 未来的主发行版本中:

  • 389-ds-base-legacy-tools
  • authd
  • custodia
  • hostname
  • libidn
  • net-tools
  • network-scripts
  • nss-pam-ldapd
  • sendmail
  • yp-tools
  • ypbind
  • ypserv

6.7. 已知问题

这部分论述了 Red Hat Enterprise Linux 8 中已知的问题。

6.7.1. 安装程序和镜像创建

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)

Anaconda 安装包括最小资源设置要求的低限制

Anaconda 以最少的资源设置在系统中启动安装,并且不要提供有关成功执行安装所需的资源的先前消息警告。因此,安装可能会失败,输出错误不会为可能的调试和恢复提供清晰的信息。要临时解决这个问题,请确保系统具有安装所需的最少资源设置:2GB 内存在 PPC64(LE)和 1GB on x86_64 上。因此,应该可以成功执行安装。

(BZ#1696609)

使用 reboot --kexec 命令安装失败

当使用包含 reboot --kexec 命令的 Kickstart 文件时,RHEL 8 安装会失败。要避免这个问题,请在 Kickstart 文件中使用 reboot 命令而不是 reboot --kexec

(BZ#1672405)

支持安装程序中的 s390x 安全引导

RHEL 8.1 支持准备引导磁盘,以便在强制使用安全引导的 IBM Z 环境中使用。安装期间使用的服务器和系统管理程序的功能决定了生成的磁盘上格式是否包含安全引导支持。安装期间无法影响磁盘格式。

因此,如果您在一个支持安全引导的环境中安装 RHEL 8.1,则该系统无法在移到没有安全引导支持的环境中引导,因为在有些故障转移场景中会完成此操作。

要临时解决这个问题,您需要配置控制磁盘引导格式的 zipl 工具。zipl 可以将 配置为写入以前的磁盘上格式,即使运行它的环境支持安全引导。安装完 RHEL 8.1 后,以 root 用户身份执行以下步骤:

  1. 编辑配置文件 /etc/zipl.conf
  2. 在标有"defaultboot"的部分中添加包含"secure=0"的行。

    Example contents of the `zipl.conf` file after the change:
    [defaultboot]
    defaultauto
    prompt=1
    timeout=5
    target=/boot
    secure=0
  3. 不带参数运行 zipl 工具

执行这些步骤后,RHEL 8.1 引导磁盘的磁盘上格式将不再包含安全引导支持。因此,可以在缺乏安全引导支持的环境中引导安装。

(BZ#1659400)

RHEL 8 初始设置无法通过 SSH 执行

目前,当使用 SSH 登录到系统时,RHEL 8 初始设置接口不会显示。因此,无法在通过 SSH 管理的 RHEL 8 机器上执行初始设置。要临时解决这个问题,请在主系统控制台(ttyS0)中执行初始设置,然后再使用 SSH 登录。

(BZ#1676439)

secure= 引导选项的默认值没有被设置为 auto

目前,secure= 引导选项的默认值没有被设置为 auto。因此,安全引导功能不可用,因为当前的默认被禁用。要临时解决这个问题,在 /etc/zipl.conf 文件的 [defaultboot] 部分手动设置 secure=auto。因此,可以使用安全引导功能。如需更多信息,请参阅 zipl.conf man page。

(BZ#1750326)

Binary DVD.iso 文件的内容复制到分区中会省略 .treeinfo.discinfo 文件

在本地安装过程中,当将 RHEL 8 Binary DVD.iso 镜像文件复制到分区中时,cp <path>/\* <mounted partition>/dir 命令中的 * 无法复制 .treeinfo.discinfo 文件。成功安装时需要这些文件。因此,BaseOS 和 AppStream 软件仓库不会被加载,anaconda.log 文件中与 debug 相关的日志消息是问题的唯一记录。

要临时解决这个问题,将缺少的 .treeinfo.discinfo 文件复制到分区中。

(BZ#1687747)

Kickstart 安装无法使用自签名 HTTPS 服务器

目前,当在 kickstart 文件中指定安装源并使用 --noverifyssl 选项时,安装程序无法从自签名的 https 服务器安装:

url --url=https://SERVER/PATH --noverifyssl

要临时解决这个问题,请在开始 kickstart 安装时将 inst.noverifyssl 参数附加到内核命令行中。

例如:

inst.ks=<URL> inst.noverifyssl

(BZ#1745064)

6.7.2. 软件管理

yum repolist 首个不可用的存储库以 skip_if_unavailable=false 结束

存储库配置选项 skip_if_unavailable 默认设置为如下:

skip_if_unavailable=false

此设置强制 yum repolist 命令以第一个不可用存储库结束,并显示错误并退出状态 1。因此,yum repolist 不会继续列出可用的存储库。

请注意,可以在每个软件仓库的 *.repo 文件中覆盖此设置。

但是,如果要保留默认设置,您可以使用以下选项 yum repolist 解决这个问题:

--setopt=*.skip_if_unavailable=True

(BZ#1697472)

6.7.3. 订阅管理

syspurpose addonssubscription-manager attach --auto 输出没有影响。

在 Red Hat Enterprise Linux 8 中,为 syspurpose 命令行工具增加了四个属性: roleusageservice_level_agreementaddons。目前,只有 roleusageservice_level_agreement 会影响运行 subscription-manager attach --auto 命令的输出。试图将值设置为 addons 参数的用户不会观察对自动附加的订阅产生的任何影响。

(BZ#1687900)

6.7.4. Shell 和命令行工具

使用 Wayland 协议的应用程序无法转发到远程显示服务器

在 Red Hat Enterprise Linux 8.1 中,大多数应用默认使用 Wayland 协议,而不是 X11 协议。因此,ssh 服务器无法转发使用 Wayland 协议的应用,但能够将使用 X11 协议的应用转发到远程显示服务器。

要临时解决这个问题,请在启动应用程序前设置环境变量 GDK_BACKEND=x11。因此,可以将应用转发到远程显示服务器。

(BZ#1686892)

systemd-resolved.service 无法在引导时启动

systemd-resolved 服务偶尔无法在引导时启动。如果发生这种情况,请在引导完成后手动重启该服务:

# systemctl start systemd-resolved

但是,引导时 systemd-resolved 失败不会影响任何其他服务。

(BZ#1640802)

6.7.5. 基础架构服务

在 dnsmasq 中支持 DNSSEC

dnsmasq 软件包引入了域名系统安全扩展(DNSSEC)支持来验证从 root 服务器接收的主机名信息。

请注意,dnsmasq 中的 DNSSEC 验证与 FIPS 140-2 不兼容。不要在联邦信息处理标准(FIPS)系统上的 dnsmasq 中启用 DNSSEC,并使用兼容验证解析器作为 localhost 上的转发器。

(BZ#1549507)

6.7.6. 安全性

redhat-support-tool 无法使用 FUTURE 加密策略

因为客户门户网站 API 中的证书使用的加密密钥不满足 FUTURE 系统范围的加密策略的要求,所以 redhat-support-tool 工具目前无法使用这个策略级别。要临时解决这个问题,在连接到客户门户网站 API 时使用 DEFAULT 加密策略。

(BZ#1802026)

SELINUX=disabled/etc/selinux/config 中无法正常工作

/etc/selinux/config 中使用 SELINUX=disabled 选项禁用 SELinux 的结果是,内核在引导时首先启用 SELinux,并在后续的引导过程后切换到禁用模式。这可能导致内存泄漏和竞争条件,因此也会导致内核 panic。如果您的实际情况确实需要禁用 SELinux,可以使用一个临时解决方案:在内核命令行中添加 selinux=0 参数来禁用 SELinux,如 使用 SELinux 中的在引导时更改 SELinux 模式部分所述。

(JIRA:RHELPLAN-34199)

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 仅在启动时可以处理 UBI 8 容器 --env container=podman

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)

删除 rpm-plugin-selinux 软件包会导致从系统中删除所有 selinux-policy 软件包

删除 rpm-plugin-selinux 软件包会禁用机器中的 SELinux。它还从系统中删除所有 selinux-policy 软件包。重复安装 rpm-plugin-selinux 软件包后会安装 selinux-policy-minimum SELinux 策略,即使之前系统中存在 selinux-policy-targeted 策略。但是,重复安装不会更新 SELinux 配置文件来考虑策略的改变。因此,即使重新安装 rpm-plugin-selinux 软件包也会禁用 SELinux。

要临时解决这个问题:

  1. 输入 umount /sys/fs/selinux/ 命令。
  2. 手动安装缺少的 selinux-policy-targeted 软件包。
  3. 编辑 /etc/selinux/config 文件,使策略等于 SELINUX=enforcing
  4. 输入 load_policy -i 命令。

因此,SELinux 被启用并运行和以前相同的策略。

(BZ#1641631)

SELinux 会防止 systemd-journal-gatewayd 在由创建的共享内存文件中调用 newfstatat() corosync

SELinux 策略不包含允许 systemd-journal-gatewayd 守护进程访问由 corosync 服务创建的文件的规则。因此,SELinux 拒绝 systemd-journal-gatewayd 在由 corosync 创建的共享内存文件中调用 newfstatat() 功能。

要临时解决这个问题,请使用启用上述场景的 allow 规则创建一个本地策略模块。有关生成 SELinux 策略允许和 dontaudit 规则的详情,请查看 audit2allow(1) man page。由于前面的临时解决方案,systemd-journal-gatewayd 可在由 corosync 使用 enforcing 模式的 SELinux 创建的共享内存文件中调用该功能。

(BZ#1746398)

默认日志设置在性能上的负面影响

默认日志环境设置可能会消耗 4 GB 内存甚至更多,当 systemd-journald 使用 rsyslog 运行时,速率限制值的调整会很复杂。

如需更多信息,请参阅 RHEL 默认日志设置对性能的负面影响及环境方案

(JIRA:RHELPLAN-10431)

Parameter not known rsyslog 输出中的错误并显示 config.enabled

rsyslog 输出中,使用 config.enabled 指令在配置处理错误中出现意外错误。因此,除了 include() 语句外,使用 config.enabled 指令时会显示 parameter not known 错误。

要临时解决这个问题,设置 config.enabled=on 或使用 include() 语句。

(BZ#1659383)

某些 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)

到带有 SHA-1 签名的服务器的连接无法使用 GnuTLS

GnuTLS 安全通讯库以 insecure 形式拒绝 SHA-1 证书签名。因此,使用 GnuTLS 作为 TLS 后端的应用程序无法建立与提供此类证书的对等的 TLS 连接。这个行为与其他系统加密库不一致。要临时解决这个问题,请升级服务器以使用 SHA-256 或更强大的哈希签名的证书,或切换到 LEGACY 策略。

(BZ#1628553)

TLS 1.3 在 FIPS 模式中无法在 NSS 中工作

在使用 FIPS 模式的系统中不支持 TLS 1.3。因此,需要 TLS 1.3 进行的连接在以 FIPS 模式工作的系统中无法正常工作。

要启用连接,请禁用系统的 FIPS 模式,或者启用对 peer 中 TLS 1.2 的支持。

(BZ#1724250)

OpenSSL 错误处理不支持原始 RSA 或 RSA-PSS 签名的 PKCS #11 令牌

OpenSSL 库不会检测 PKCS #11 令牌的与密钥相关的功能。因此,当使用不支持原始 RSA 或 RSA-PSS 签名的令牌创建签名时,建立 TLS 连接会失败。

要临时解决这个问题,请在 /etc/pki/tls/openssl.cnf 文件的 crypto_policy 部分末尾的 .include 行后面添加以下行:

SignatureAlgorithms = RSA+SHA256:RSA+SHA512:RSA+SHA384:ECDSA+SHA256:ECDSA+SHA512:ECDSA+SHA384
MaxProtocol = TLSv1.2

因此,可以在描述的场景中建立 TLS 连接。

(BZ#1685470)

OpenSSL TLS 库不会检测到 PKCS#11 令牌是否支持创建 raw RSARSA-PSS 签名

TLS-1.3 协议需要支持 RSA-PSS 签名。如果 PKCS#11 令牌不支持 raw RSARSA-PSS 签名,则使用 OpenSSL TLS 库的服务器应用程序如果由 PKCS#11 令牌持有,将无法使用 RSA 密钥。因此,TLS 通讯会失败。

要临时解决这个问题,配置服务器或客户端以使用 TLS-1.2 版本作为可用最高 TLS 协议版本。

(BZ#1681178)

OpenSSL 在 TLS 1.3 中的 CertificateRequest 消息中生成格式不正确的 status_request 扩展

如果启用了对 status_request 扩展以及基于客户端证书的身份验证的支持,OpenSSL 服务器会在 CertificateRequest 消息中发送格式不正确的 status_request 扩展。在这种情况下,OpenSSL 无法与与 RFC 8446 协议兼容的实现互操作。因此,可以正确地验证与 OpenSSL 服务器建立连接的 'CertificateRequest' 消息中的扩展的客户端。要临时解决这个问题,在连接两侧禁用对 TLS 1.3 协议的支持,或在 OpenSSL 服务器中禁用对 status_request 的支持。这将阻止服务器发送错误的消息。

(BZ#1749068)

ssh-keyscan 无法以 FIPS 模式检索服务器的 RSA 密钥

在 FIPS 模式中的 RSA 签名禁用了 SHA-1 算法,这样可防止 ssh-keyscan 工具程序获取在那个模式下运行的服务器的 RSA 密钥。

要临时解决这个问题,使用 ECDSA 密钥,或者使用服务器中的 /etc/ssh/ssh_host_rsa_key.pub 文件在本地检索密钥。

(BZ#1744108)

scap-security-guide Audit 规则的 PCI-DSS 修复无法正常工作

scap-security-guide 软件包包含补救以及可导致以下情况之一的检查:

  • 错误修复审计规则
  • 扫描评估包含通过的规则被标记为失败的假正值

因此,在 RHEL 8.1 安装过程中,扫描安装的系统会将一些审计规则报告为失败或错误。

要临时解决这个问题,请按照 RHEL-8.1 临时解决方案文档中的说明使用 scap-security-guide PCI-DSS 配置集文档中的内容进行修复和扫描

(BZ#1754919)

某些 SSG 中的规则组可能会失败

恢复基准中的 SCAP Security Guide (SSG)规则可能会因为未定义规则及其依赖项排序而失败。如果需要以特定顺序执行两个或多个规则,例如,当一条规则安装组件和另一个规则配置同一组件时,它们可按错误的顺序运行,并报告错误。要临时解决这个问题,请执行补救两次,第二次运行会修复依赖规则。

(BZ#1750755)

不提供容器安全和合规性扫描的实用程序

在 Red Hat Enterprise Linux 7 中,oscap-docker 工具可用于扫描基于 Atomic 技术的 Docker 容器。在 Red Hat Enterprise Linux 8 中,Docker 和 Atomic 相关的 OpenSCAP 命令不可用。

要临时解决这个问题,请参阅使用 OpenSCAP 在 RHEL 8 中扫描容器。因此,在 RHEL 8 中,您目前只能使用不受支持且有限的方式进行容器的安全性和合规性扫描。

(BZ#1642373)

OpenSCAP 不提供虚拟机和容器的离线扫描

重构 OpenSCAP 代码库会导致某些 RPM 探测无法在离线模式下扫描虚拟机和容器文件系统。因此,从 openscap-utils 软件包中删除了以下工具: oscap-vmoscap-chroot。另外,openscap-containers 软件包已被完全删除。

(BZ#1618489)

OpenSCAP rpmverifypackage 无法正常工作

rpmverifypackage 探测会调用 chdirchroot 系统调用两次。因此,在使用自定义 Open Vulnerability 和评估语言(OVAL)内容的 OpenSCAP 扫描中使用探测时会出现错误。

要临时解决这个问题,请不要在您的内容中使用 rpmverifypackage_test OVAL 测试,或者只使用 rpmverifypackage_testscap-security-guide 软件包中的内容。

(BZ#1646197)

SCAP Workbench 无法从定制的配置集生成基于结果的补救方法

当尝试使用SCAP Workbench 工具从自定义配置集生成基于结果的补救角色时,会出现以下错误:

Error generating remediation role .../remediation.sh: Exit code of oscap was 1: [output truncated]

要临时解决这个问题,使用 oscap 命令和 --tailoring-file 选项。

(BZ#1640715)

OSCAP Anaconda Addon 不会在文本模式中安装所有软件包

如果安装以文本模式运行,则 OSCAP Anaconda Addon 插件无法修改系统安装程序安装的软件包列表。因此,当使用 Kickstart 指定安全策略配置集且安装以文本模式运行时,安全策略所需的附加软件包不会在安装过程中安装。

要临时解决这个问题,可以使用图形模式运行安装,或者在 Kickstart 文件的 %packages 部分指定安全策略配置集所需的所有软件包。

因此,在没有描述的一个临时解决方案的情况下,安全策略配置集所需的软件包不会在 RHEL 安装过程中安装,且安装的系统与给定的安全策略配置集不兼容。

(BZ#1674001)

OSCAP Anaconda Addon 无法正确处理自定义配置集

OSCAP Anaconda Addon 插件无法以独立文件中自定义的方式正确处理安全配置集。因此,即使您在对应的 Kickstart 部分正确指定了自定义配置集,RHEL 图形安装中也不会提供自定义配置集。

要临时解决这个问题,请遵循 从原始 DS 创建单一 SCAP 数据流中的说明,以及一个定制文件 知识库文章。因此,您可以在 RHEL 图形安装中使用自定义的 SCAP 配置集。

(BZ#1691305)

6.7.7. 网络

arptables 详细输出的格式现在与 RHEL 7 中的工具格式一致

在 RHEL 8 中,iptables-arptables 软件包提供基于 nftablesarptables 工具替换。在以前的版本中,arptables 的详细输出只能使用逗号分开的计数器值,而 RHEL 7 中的 arptables 使用空格和逗号分开了上述输出。因此,如果您使用在 RHEL 7 中创建的用来解析 arptables -v -L 命令输出的脚本,则必须调整这些脚本。这个不兼容已被解决。因此,RHEL 8.1 上的 arptables 现在也使用空格和逗号分开计数器值。

(BZ#1676968)

nftables 不支持多组 IP 设置类型

nftables 数据包过滤框架不支持设置具有串联和间隔的类型。因此,您不能使用多组 IP 设置类型,如 hash:net,port,使用 nftables

要临时解决这个问题,如果您需要多组 IP 设置类型,请将 iptables 框架与 ipset 工具一起使用。

(BZ#1593711)

当禁用 GRO 时,IPsec 网络流量在 IPsec 卸载过程中失败

当在该设备中禁用通用接收 Offload(GRO)时,IPsec 卸载将不会正常工作。如果在一个网络接口中配置了 IPsec 卸载,且在该设备中禁用 GRO,IPsec 网络流量会失败。

要临时解决这个问题,在该设备中启用 GRO。

(BZ#1649647)

6.7.8. 内核

i40iw 模块不会在引导时自动载入

由于许多 i40e NIC 不支持 iWarp,并且 i40iw 模块没有全面支持 suspend/resume,因此此模块默认不会自动加载,以确保暂停/恢复正常工作。要临时解决这个问题,请手动编辑 /lib/udev/rules.d/90-rdma-hw-modules.rules 文件以启用 i40iw 的自动负载。

另请注意,如果同一机器上安装了另一个 RDMA 设备,非i40e RDMA 设备会触发 rdma 服务,它会加载所有已启用的 RDMA 堆栈模块,包括 i40iw 模块。

(BZ#1623712)

使用 fadump 时,网络接口被重命名为 kdump-<interface-name>

当使用固件辅助转储(fadump)捕获 vmcore 并使用 SSH 或 NFS 协议将其保存到远程机器时,如果 <interface-name> 是通用的,例如 *eth# 或 net#,则会将网络接口重命名为 kdump-<interface-name>。这是因为初始 RAM 磁盘(initrd)中的 vmcore 捕获脚本在网络接口名称中添加 kdump- 前缀来保护持久性命名。同样的 initrd 也用于常规引导,因此生产内核的接口名称也会被更改。

(BZ#1745507)

有大量持久内存的系统在引导过程中出现延迟

有大量持久内存的系统需要很长时间才能引导,因为初始化内存是序列化的。因此,如果 /etc/fstab 文件中列出了持久的内存文件系统,系统在等待设备可用时可能会超时。要临时解决这个问题,将 /etc/systemd/system.conf 文件中的 DefaultTimeoutStartSec 选项配置为足够大的值。

(BZ#1666538)

KSM 有时会忽略 NUMA 内存策略

当使用 merge_across_nodes=1 参数启用内核共享内存(KSM)功能时,KSM 会忽略 mbind()功能设置的内存策略,并可能会将某些内存区域的页面合并到 Non-Uniform Memory Access(NUMA)节点,它们与策略不匹配。

要临时解决这个问题,如果通过 QEMU 使用 NUMA 内存绑定,请禁用 KSM,或将 merge_across_nodes 参数设置为 0。因此,为 KVM 虚拟机配置的 NUMA 内存策略可以正常工作。

(BZ#1153521)

启用 fadump 时系统在引导时进入紧急模式

initramfs 方案中启用了 fadump (kdump)或 dracut squash 模块时,系统进入紧急模式,因为 systemd 管理器无法获取挂载信息并将 LV 分区配置为挂载。要临时解决这个问题,请添加以下内核命令行参数 rd.lvm.lv=<VG>/<LV> 以正确发现并挂载失败的 LV 分区。因此,系统将在上述场景中成功引导。

(BZ#1750278)

在 kdump 内核命令行中使用 irqpoll 会导致 vmcore 生成失败

由于在 Amazon Web Services(AWS)云平台上运行的 64 位 ARM 架构中 nvme 驱动程序存在底层问题,如果为第一个内核提供了 irqpoll kdump 命令行参数,vmcore 生成会失败。因此,在内核崩溃后,/var/crash/ 目录中不会转储 vmcore。要临时解决这个问题:

  1. irqpoll 添加到 /etc/sysconfig/kdump 文件中的 KDUMP_COMMANDLINE_REMOVE 键。
  2. 运行 systemctl restart kdump 命令重启 kdump 服务。

因此,第一个内核可以正确引导,在内核崩溃时 vmcore 应该会被捕获。

(BZ#1654962)

Debug 内核无法在 RHEL 8 的崩溃捕获环境中引导

由于 debug 内核的内存需求特性,会在使用 debug 内核并触发内核 panic 时出现问题。因此,调试内核无法作为捕获内核引导,而是生成一个堆栈追踪。要临时解决这个问题,相应地增大崩溃内核内存。因此,debug 内核可以在崩溃捕获环境中成功引导。

(BZ#1659609)

softirq 更改可能会导致 localhost 接口在负载过重时丢弃 UDP 数据包

对 Linux 内核软件中断(softirq)处理进行了更改,以减少拒绝服务(DOS)效果。因此,在 localhost 接口高负载下丢弃 User Datagram Protocol(UDP)数据包时,会出现这样的情况。

要临时解决这个问题,将网络设备积压缓冲的大小增加到值 6000:

echo 6000 > /proc/sys/net/core/netdev_max_backlog

在红帽进行的测试中,这个值足以防止数据包丢失。负载较大的系统可能需要更大的积压值。增加的积压会导致潜在的延迟在 localhost 接口上增加。

结果是增加缓冲区并允许更多数据包等待处理,这降低了丢弃 localhost 数据包的几率。

(BZ#1779337)

6.7.9. 硬件启用

在某些情况下,HP NMI watchdog 不会生成崩溃转储

HP NMI watchdog 的 hpwdt 驱动程序有时无法声明由 HPE watchdog 计时器生成的不可屏蔽中断(NMI),因为 perfmon 驱动程序使用了 NMI。因此, hpwdt 在某些情况下无法调用 panic 来生成崩溃转储。

(BZ#1602962)

在配置了 QL41000 卡的测试系统中安装 RHEL 8.1 会导致内核 panic

当在使用 QL41000 卡配置的测试系统中安装 RHEL 8.1 时,系统无法处理 000000000000003c 卡中的内核 NULL pointer 解引用。因此,这会导致内核 panic 错误。这个问题没有可用的工作。

(BZ#1743456)

cxgb4 驱动程序会在 kdump 内核中崩溃

kdump 内核在试图在 vmcore 文件中保存信息时会崩溃。因此,cxgb4 驱动程序可防止 kdump 内核保存内核以便稍后进行分析。要临时解决这个问题,在 kdump 内核命令行中添加 "novmcoredd" 参数以允许保存核心文件。

(BZ#1708456)

6.7.10. 文件系统和存储

某些 SCSI 驱动程序有时可能会使用过多的内存

某些 SCSI 驱动程序使用的内存比 RHEL 7 中的内存更大。在某些情况下,比如在光纤通道主机总线适配器(HBA)上创建 vPort,内存用量可能会过大,具体取决于系统配置。

内存用量增加是由块层中内存预分配造成的。多队列块设备调度(BLK-MQ)和多队列 SCSI 堆栈(SCSI-MQ)预分配 RHEL 8 中每个 I/O 请求的内存,从而提高了内存用量。

(BZ#1698297)

在 UDS 完成重建前,VDO 无法挂起

当虚拟数据优化器(VDO)卷在未清除系统关闭后启动时,它会重建通用重复数据删除服务(UDS)索引。如果在 UDS 索引重新构建时尝试使用 dmsetup suspend 命令挂起 VDO 卷,则挂起的命令可能会变得无响应。该命令仅在重新构建完成后完成。

仅在带有大型 UDS 索引的 VDO 卷中明显没有响应,这会导致重建需要更长的时间。

(BZ#1737639)

NFS 4.0 补丁可能会导致 open-heavy 工作负载性能降低。

在以前的版本中,存在一个程序错误,在某些情况下,可能会导致 NFS 打开操作覆盖文件已被删除或重命名在服务器中的事实。但是,这个修复可能会在需要很多打开操作的工作负载中造成性能下降。要临时解决这个问题,您可能需要使用 NFS 版本 4.1 或更高版本,这些版本已被改进为客户端在本地、快速和安全地执行开放操作。

(BZ#1748451)

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

nginx 无法从硬件安全令牌加载服务器证书

nginx web 服务器支持直接从 PKCS#11 模块的硬件安全令牌加载 TLS 私钥。但是,目前无法通过 PKCS#11 URI 从硬件安全令牌加载服务器证书。要临时解决这个问题,在文件系统中存储服务器证书

(BZ#1668717)

php-fpmphp-opcache 安装有 PHP 7.2 时,导致 SELinux AVC 拒绝

安装 php-opcache 软件包后,FastCGI 进程管理器(php-fpm)会导致 SELinux AVC 拒绝。要临时解决这个问题,将 /etc/php.d/10-opcache.ini 文件中的默认配置改为:

opcache.huge_code_pages=0

请注意,这个问题只影响 php:7.2 流,而不是 php:7.3 流。

(BZ#1670386)

6.7.12. 编译器和开发工具

ltrace 工具不会报告功能调用

由于改进了对所有 RHEL 组件的二进制强化,ltrace 工具无法检测到来自 RHEL 组件的二进制文件中的功能调用。因此,ltrace 输出为空,因为它不会报告在这些二进制文件中使用任何检测到的调用。目前还没有可用的临时解决方案。

请注意,ltrace 可以正确地报告构建的自定义二进制文件中的调用,而无需相关的强化标记。

(BZ#1618748)

6.7.13. Identity Management

使用 GSSAPI 身份验证时,允许带有过期帐户的 AD 用户登录

SSSD 用于查看帐户是否已过期的 accountExpires 属性默认不会复制到全局目录中。因此,帐户过期的用户在使用 GSSAPI 身份验证时可以登录。要临时解决这个问题,可以通过在 sssd.conf 文件中指定 ad_enable_gc=False 来禁用全局目录支持。使用这个设置时,帐户过期的用户在使用 GSSAPI 身份验证时将被拒绝访问。

请注意,SSSD 在此场景中单独连接到每个 LDAP 服务器,这样可以增加连接数。

(BZ#1081046)

cert-fix 工具与 --agent-uid pkidbuser 选项一起使用会破坏证书系统

使用带有 --agent-uid pkidbuser 选项的 cert-fix 工具可破坏证书系统的 LDAP 配置。因此,,证系统可能会变得不稳定,需要手动步骤才能恢复该系统。

(BZ#1729215)

更改 /etc/nsswitch.conf 需要手动重启

/etc/nsswitch.conf 文件的任何更改(例如运行 authselect select profile_id 命令)都需要重启系统,以便所有相关进程使用 /etc/nsswitch.conf 文件的更新版本。如果无法重启系统,重启将您的系统加入 Active Directory 的服务,这是 System Security Services Daemon (SSSD)或 winbind

(BZ#1657295)

在 IdM 中启用 AD 信任时,没有显示有关所需 DNS 记录的信息

当通过外部 DNS 管理启用对 Red Hat Enterprise Linux Identity Management(IdM)安装中的 Active Directory(AD)信任时,不会显示有关所需 DNS 记录的信息。只有添加所需的 DNS 记录后,林信任才会成功。要临时解决这个问题,请运行 'ipa dns-update-system-records --dry-run' 命令,以获取 IdM 所需的所有 DNS 记录列表。当 IdM 域的外部 DNS 定义所需的 DNS 记录时,有可能建立对 AD 的林信任。

(BZ#1665051)

SSSD 为本地用户返回不正确的 LDAP 组成员资格

如果系统安全服务守护进程(SSSD)从本地文件为用户提供服务,则文件提供商不包含来自其他域的组成员资格。因此,如果本地用户是 LDAP 组的成员,id local_user 命令不会返回用户的 LDAP 组成员资格。要临时解决这个问题,请恢复系统在 /etc/nsswitch.conf 文件中查找用户组成员资格的数据库顺序,将 sss files 替换为 files sss,或者通过添加来禁用隐式 files

enable_files_domain=False

到文件 /etc/sssd/sssd.conf 中的 [sssd] 部分。

因此,id local_user 会为本地用户返回正确的 LDAP 组成员资格。

(BZ#1652562)

在 RHEL 8 中 systemd-user 的默认 PAM 设置已更改,这可能会影响 SSSD 行为

Red Hat Enterprise Linux 8 中更改了可插拔验证模块(PAM)堆栈。例如: systemd 用户会话现在使用 systemd-user PAM 服务启动 PAM 对话。这个服务现在以递归方式包含 system-auth PAM 服务,它可能包括 pam_sss.so 接口。这意味着始终调用 SSSD 访问控制。

请注意为 RHEL 8 系统设计访问控制规则时的更改。例如,您可以在允许的服务列表中添加 systemd-user 服务。

请注意,对于一些访问控制机制,如 IPA HBAC 或 AD GPOs,默认情况下 systemd-user 服务已添加到允许的服务列表中,您不需要进行任何操作。

(BZ#1669407)

SSSD 无法正确处理具有相同优先级的多个证书匹配规则

如果给定证书与多个具有相同优先级的证书匹配规则匹配,系统安全服务守护进程(SSSD)只使用其中一个规则。作为临时解决方案,请使用单个证书匹配规则,该规则 LDAP 过滤器由与 | (或)运算符串联的独立规则的过滤器组成。有关证书匹配规则的示例,请参阅 sss-certamp(5)man page。

(BZ#1447945)

当定义了多个域时,无法使用 auto_private_group = 混合创建专用组

如果定义了多个域,并且第一个域以外的任何域使用混合选项,则专用组无法通过选项 auto_private_group = 混合创建。如果在 sssd.conf`file and is not marked as `MPG_HYBRID 中定义了隐式文件域和 中的 AD 或 LDAP 域,那么 SSSD 无法为具有 uid=gid 的用户创建私有组,并且具有这个 gid 的组在 AD 或 LDAP 中不存在。

sssd_nss 响应程序仅检查第一个域中 auto_private_groups 选项的值。因此,在配置多个域的设置中,在 RHEL 8 中包括默认设置的设置中,auto_private_group 选项无效。

要临时解决这个问题,在 sssd.conf 的 sssd 部分设置 enable_files_domain = false。因此,如果 enable_files_domain 选项被设置为 false,则 sssd 不会在活跃域列表的开头添加 id_provider=files 的域,因此不会出现这个程序错误。

(BZ#1754871)

python-ply 不兼容 FIPS

python-ply 软件包的 YACC 模块使用 MD5 哈希算法来生成 YACC 签名的指纹。但是,FIPS 模式会阻止使用 MD5,只有非安全上下文中才允许这样做。因此,python-ply 不兼容 FIPS。在 FIPS 模式中的系统中,所有调用 ply.yacc.yacc() 都会失败并显示错误消息:

"UnboundLocalError: local variable 'sig' referenced before assignment"

此问题会影响 python-pycparser 以及 python-cffi 的一些用例。要临时解决这个问题,修改 /usr/lib/python3.6/site-packages/ply/yacc.py 文件的第 2966 行,将 sig = md5() 替换为 sig = md5(usedforsecurity=False)。因此,python-ply 可以在 FIPS 模式中使用。

(BZ#1747490)

6.7.14. Desktop

Wayland 会话的限制

在 Red Hat Enterprise Linux 8 中,GNOME 环境和 GNOME 显示管理器(GDM)使用 Wayland 作为默认会话类型,而不是 X11 会话,这些会话与之前的 RHEL 主要版本一起使用。

当前无法使用以下功能,或者在 Wayland 下无法正常工作:

  • Wayland 不支持多GPU设置。
  • X11 配置工具(如 xrandr )因为处理、解决方案、轮转和布局的方法不同而无法在 Wayland 下工作。您可以使用 GNOME 设置配置显示功能。
  • 屏幕记录和远程桌面需要应用程序来支持 Wayland 上的门户 API。某些传统应用程序不支持门户 API。
  • Wayland 上不提供指针可访问性。
  • 没有可用的剪贴板管理器。
  • Wayland 上的 GNOME Shell 忽略了大多数传统 X11 应用发布的键盘粒度。您可以启用 X11 应用程序使用 /org/gnome/mutter/wayland/xwayland-grab-access-rules GSettings 键发布键盘 grabs。默认情况下,Wayland 上的 GNOME Shell 允许以下应用发布键盘 grabs:

    • GNOME Boxes
    • vinagre
    • Xephyr
    • virt-managervirt-viewerremote-viewer
    • vncviewer
  • 客户机虚拟机(VM)中的 Wayland 具有稳定性和性能问题。在虚拟机中运行时,RHEL 会自动回退到 X11 会话。

如果您从使用 X11 GNOME 会话的 RHEL 7 系统升级到 RHEL 8,您的系统将继续使用 X11。使用以下图形驱动程序时,系统还会自动回退到 X11

  • 专有 NVIDIA 驱动程序
  • cirrus 驱动程序
  • mga 驱动程序
  • aspeed 驱动程序

您可以手动禁用 Wayland 的使用:

  • 要在 GDM 中禁用 Wayland,请在 /etc/gdm/custom.conf 文件中设置 WaylandEnable=false 选项。
  • 要在 GNOME 会话中禁用 Wayland,请在输入登录名称后使用登录屏幕上的 cogwheel 菜单来选择旧的 X11 选项。

有关 Wayland 的详情,请参考 https://wayland.freedesktop.org/

(BZ#1797409)

在桌面和应用程序间进行拖放操作无法正常工作

由于 gnome-shell-extensions 软件包中的一个错误,拖放功能目前在桌面和应用程序间无法正常工作。以后的发行版本中将重新添加对这个功能的支持。

(BZ#1717947)

无法从软件仓库中禁用 flatpak 软件仓库

目前,在 GNOME 软件工具中的软件软件仓库工具中无法禁用或删除 flatpak 软件仓库。

(BZ#1668760)

第二代 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)

当使用软件渲染器时,Wayland 上的 GNOME Shell 的执行缓慢

使用软件渲染器时,GNOME Shell 作为 Wayland 合成器(Wayland 上的 GNOME Shell)不会使用缓存帧缓冲器来呈现屏幕。因此,Wayland 上的 GNOME Shell 速度较慢。要解决这个问题,请进入 GNOME 显示管理器(GDM)登录屏幕,切换到使用 X11 协议的 会话。因此,使用了使用可缓存内存的 Xorg 显示服务器,而 Xorg 上的 GNOME ShellWayland 上的 GNOME Shell 相比 运行更快。

(BZ#1737553)

系统崩溃可能会导致 fadump 配置丢失

在启用了固件辅助转储(fadump)且引导分区位于 XFS 等日志记录文件系统中的系统中会出现此问题。系统崩溃可能会导致引导装载程序载入旧的 initrd,该 没有启用转储捕获支持。因此,在恢复后,系统不会捕获 vmcore 文件,这会导致 fadump 配置丢失。

要临时解决这个问题:

  • 如果 /boot 是一个独立的分区,请执行以下操作:

    1. 重启 kdump 服务
    2. 以 root 用户身份运行以下命令,或使用具有 CAP_SYS_ADMIN 权限的用户帐户:

      # fsfreeze -f
      # fsfreeze -u
  • 如果 /boot 不是单独的分区,重启该系统。

(BZ#1723501)

6.7.15. 图形基础结构

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)

6.7.16. Web 控制台

非特权用户可以访问订阅页面

如果非管理员导航到 Web 控制台的 Subscriptions 页面,Web 控制台会显示一个通用错误消息"Cockpit has a unexpected internal error"。

要临时解决这个问题,使用特权用户登录到 web 控制台,并选择 Reuse my password for privileged tasks 复选框。

(BZ#1674337)

6.7.17. 虚拟化

使用 cloud-init 在 Microsoft Azure 中置备虚拟机失败

目前,无法使用 cloud-init 在 Microsoft Azure 平台上置备 RHEL 8 虚拟机(VM)。要临时解决这个问题,请使用以下方法之一:

  • 使用 WALinuxAgent 软件包而不是 cloud-init 在 Microsoft Azure 上置备虚拟机。
  • /etc/NetworkManager/NetworkManager.conf 文件中的 [main] 部分添加以下设置:

    [main]
    dhcp=dhclient

(BZ#1641190)

在某些情况下,RHEL 7 主机上的 RHEL 8 虚拟机无法在高于 1920x1200 的分辨率中查看

目前,当使用在 RHEL 7 主机系统中运行的 RHEL 8 虚拟机(VM)时,显示虚拟机图形输出的特定方法(如在 kiosk 模式下运行应用程序)不能超过 1920x1200。因此,使用这些方法显示虚拟机只能在 1920x1200 的解决方案中正常工作,即使主机硬件支持更高的分辨率。

(BZ#1635295)

Windows Server 2019 主机上的 RHEL 8 虚拟机中的低 GUI 显示性能

当在 Windows Server 2019 主机上以图形模式使用 RHEL 8 作为客户机操作系统时,GUI 显示性能较低,并连接到客户机的控制台输出所需的时间比预期的要长得多。

这是 Windows 2019 主机上的已知问题,并由 Microsoft 解决。要临时解决这个问题,请使用 SSH 连接到客户端,或使用 Windows Server 2016 作为主机。

(BZ#1706541)

安装 RHEL 虚拟机有时会失败

在某些情况下,如果使用 --location 选项,使用 virt-install 工具创建的 RHEL 7 和 RHEL 8 虚拟机将无法引导。

要临时解决这个问题,使用 --extra-args 选项并指定网络可访问的安装树,例如:

--extra-args="inst.repo=https://some/url/tree/path"

这样可确保 RHEL 安装程序正确找到安装文件。

(BZ#1677019)

无法通过 QXL 显示多个使用 Wayland 的虚拟机的监控器

使用 remote-viewer 实用程序显示使用 Wayland 显示服务器的虚拟机的监控会导致虚拟机变得无响应,并会一直显示 Waiting for display 状态。

要临时解决这个问题,使用 virtio-gpu 而不是 qxl 作为使用 Wayland 的虚拟机的 GPU 设备。

(BZ#1642887)

virsh iface-\* 命令无法一致性地工作

目前,virsh iface-* 命令(如 virsh iface-startvirsh iface-destroy )会因为配置依赖关系而经常失败。因此,建议您不要使用 virsh iface-\* 命令配置和管理主机网络连接。反之,使用 NetworkManager 程序及其相关管理程序。

(BZ#1664592)

使用 cloud-init 自定义 ESXi 虚拟机并重启虚拟机会导致 IP 设置丢失,并导致引导虚拟机非常慢

目前,如果 cloud-init 服务用于修改在 VMware ESXi hypervisor 上运行的虚拟机(VM)以使用静态 IP,然后克隆虚拟机,则新的克隆虚拟机在某些情况下需要很长时间才能重启。这会导致 cloud-init 将虚拟机的静态 IP 重写为 DHCP,然后搜索可用的数据源。

要临时解决这个问题,您可以在虚拟机第一次引导后卸载 cloud-init。因此,后续重启不会减慢。

(BZ#1666961, BZ#1706482)

RHEL 8 虚拟机有时无法引导至 Witherspoon 主机

在某些情况下使用 pseries-rhel7.6.0-sxxm 机器类型的 RHEL 8 虚拟机(VM)无法为使用 DD2.2 或 DD2.3 CPU 的 HPC 主机(也称为 Witherspoon)在 Power9 S922LC 上引导。

尝试引导这样的虚拟机会生成以下出错信息:

qemu-kvm: Requested safe indirect branch capability level not supported by kvm

要临时解决这个问题,请按如下方式配置虚拟机的 XML 配置:

<domain type='qemu' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <qemu:commandline>
    <qemu:arg value='-machine'/>
    <qemu:arg value='cap-ibs=workaround'/>
  </qemu:commandline>

(BZ#1732726,BZ#1751054)

IBM POWER 虚拟机无法在零内存 NUMA 节点中正常工作

目前,当在 RHEL 8 主机上运行的 IBM POWER 虚拟机(VM)配置为使用零内存(memory='0')的 NUMA 节点时,虚拟机将无法引导。因此,红帽强烈建议不要在 RHEL 8 中使用零内存 NUMA 节点的 IBM POWER 虚拟机。

(BZ#1651474)

将 POWER9 客户端从 RHEL 7-ALT 主机迁移到 RHEL 8 会失败

目前,将 POWER9 虚拟机从 RHEL 7-ALT 主机系统迁移到 RHEL 8 变得无响应,并带有 "Migration status: active" 状态。

要临时解决这个问题,在 RHEL 7-ALT 主机上禁用 Transparent Huge Pages(THP),这样可使迁移成功完成。

(BZ#1741436)

当在 AMD EPYC 上使用主机透传模式时,虚拟机不会检测到 SMT CPU 拓扑

当虚拟机在 AMD EPYC 主机上使用 CPU 主机透传模式引导时,TOPOEXT CPU 功能标志不存在。因此,虚拟机无法检测到每个内核有多个线程的虚拟 CPU 拓扑。要临时解决这个问题,使用 EPYC CPU 模型而不是主机透传引导虚拟机。

(BZ#1740002)

当使用很多 virtio-blk 磁盘时,虚拟机有时无法启动

在虚拟机(VM)中添加大量 virtio-blk 设备可能会耗尽平台中可用的中断向量。如果发生了这种情况,VM 的客户机操作系统无法引导,并显示 dracut-initqueue[392]: Warning: Could not boot 错误。

(BZ#1719687)

第 7 章 容器的显著变化

一组容器镜像可用于 Red Hat Enterprise Linux(RHEL)8.1。主要变更包括:

  • RHEL 8.1 完全支持 rootless 容器。

    无根容器是由普通系统用户在没有管理权限的情况下创建和管理的容器。这允许用户维护自己的身份,包括容器注册表的凭据等。

    您可以使用 podman 和 buildah 命令尝试 rootless 容器。如需更多信息:

  • RHEL 8.1 完全支持 toolbox RPM 软件包。

    toolbox 命令是通常用于面向容器的操作系统(如 Red Hat CoreOS)的工具。使用 toolbox,您可以通过启动包含大量故障排除工具的容器来进行故障排除和调试主机操作系统,而无需在主机系统中安装这些工具。

    运行 toolbox 命令启动一个 rhel-tools 容器,提供到主机的 root 访问权限,用于修复或以其他方式与该主机搭配使用。

    如需更多信息,请参阅使用 toolbox 对容器主机进行故障排除

  • 请参阅 有关使用 runlabels 运行容器的新文档
  • podman 软件包已升级到上游版本 1.4.2。有关自 RHEL 8.0 中使用的版本 1.0.0 添加到 podman 的功能的信息,请参阅 Github 上最新podman 发行版本 的描述。

第 8 章 国际化

8.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, libhangu

8.2. RHEL 8 中国际化的显著变化

RHEL 8 与 RHEL 7 相比,对国际化进行了以下更改:

  • 添加了对 Unicode 11 计算行业标准的支持。
  • 国际化发布在多个软件包中,这样就可以进行较小的内存占用安装。如需更多信息,请参阅 使用 langpacks
  • 现在,多个本地的 glibc 软件包更新与 Common Locale Data Repository(CLDR)同步。

附录 A. 按组件划分的问题单列表

组件票证

NetworkManager-libreswan

BZ#1697329

anaconda

BZ#1628653, BZ#1673901, BZ#1671047,BZ#1689909,BZ#1689194, BZ#1584145, BZ#1637472, BZ#1696609, BZ#1672405, BZ#1687747, BZ#1745064, BZ#1659400, BZ#1655523

audit

BZ#1730382

authselect

BZ#1657295

bcc

BZ#1667043

binutils

BZ#1618748, BZ#1644391, BZ#1525406, BZ#1659437

bpftrace

BZ#1687802

chrony

BZ#1685469

cloud-init

BZ#1641190, BZ#1666961

cockpit-appstream

BZ#1658847

cockpit

BZ#1631905, BZ#1678956, BZ#1657752,BZ#1678473,BZ#1666722

corosync

BZ#1693491

criu

BZ#1689746

crypto-policies

BZ#1678661,BZ#1660839

cryptsetup

BZ#1676622

distribution

BZ#1685191, BZ#1657927

dnf-plugins-core

BZ#1722093

dnsmasq

BZ#1549507

dyninst

BZ#1648441

elfutils

BZ#1683705

enscript

BZ#1664366

fapolicyd

BZ#1673323

freeradius

BZ#1685546

frr

BZ#1657029

gcc-toolset-9

BZ#1685482

gcc

BZ#1680182

gdb

BZ#1669953, BZ#1187581

gdm

BZ#1678627

glibc

BZ#1663035,BZ#1701605, BZ#1651283, BZ#1577438

gnome-shell-extensions

BZ#1717947

gnome-shell

BZ#1704360

gnome-software

BZ#1668760

gnutls

BZ#1628553

grub2

BZ#1583445, BZ#1723501

initial-setup

BZ#1676439

ipa

BZ#1665051, JIRA:RHELPLAN-15036, BZ#1664719,BZ#1664718,BZ#1719767

ipset

BZ#1683711,BZ#1683713, BZ#1649090

iptables

BZ#1658734, BZ#1676968

kernel-rt

BZ#1678887

kernel

BZ#1647723, BZ#1656787, BZ#1649087, BZ#1721386, BZ#1564427, BZ#1686755, BZ#1664969, BZ#1714111, BZ#1712272, BZ#1646810, BZ#1728519, BZ#1721961, BZ#1654962, BZ#1635295, BZ#1706541, BZ#1666538, BZ#1685894, BZ#1643980, BZ#1602962, BZ#1697310, BZ#1593711, BZ#1649647, BZ#1153521, BZ#1694705, BZ#1698297, BZ#1348508, BZ#1748451, BZ#1743456, BZ#1708456, BZ#1710480, BZ#1634343, BZ#1652222, BZ#1687459, BZ#1571628, BZ#1571534, BZ#1685552, BZ#1685427, BZ#1663281, BZ#1664359, BZ#1677215, BZ#1659399, BZ#1665717, BZ#1581898, BZ#1519039, BZ#1627455, BZ#1501618, BZ#1401552, BZ#1495358, BZ#1633143, BZ#1503672, BZ#1505999, BZ#1570255, BZ#1696451, BZ#1665295, BZ#1658840, BZ#1660627, BZ#1569610

kexec-tools

BZ#1662911, BZ#1750278, BZ#1520209, BZ#1710288

keycloak-httpd-client-install

BZ#1553890

kmod-kvdo

BZ#1696492,BZ#1737639

kpatch

BZ#1763780

libcacard

BZ#1615840

libdnf

BZ#1697472

libgnome-keyring

BZ#1607766

libselinux-python-2.8-module

BZ#1666328

libsemanage

BZ#1672638

libssh

BZ#1610883

libstoragemgmt

BZ#1626415

libvirt

BZ#1664592, BZ#1526548, BZ#1528684

linuxptp

BZ#1677217, BZ#1685467

lorax

BZ#1663950,BZ#1709594,BZ#1689140

lvm2

BZ#1649086

mariadb-10.3-module

BZ#1657053

mutter

BZ#1737553

nfs-utils

BZ#1668026, BZ#1592011

nginx

BZ#1668717, BZ#1690292

nmstate

BZ#1674456

nss

BZ#1724250, BZ#1645153

openmpi

BZ#1717289

openscap

BZ#1642373, BZ#1618489, BZ#1646197, BZ#1718826,BZ#1709429

openssh

BZ#1683295, BZ#1671262, BZ#1651763, BZ#1744108,BZ#1691045

openssl

BZ#1685470,BZ#1681178,BZ#1749068

oscap-anaconda-addon

BZ#1674001, BZ#1691305

pacemaker

BZ#1715426

pcp

BZ#1685302

pcs

BZ#1619620

perl-IO-Socket-SSL

BZ#1632600

perl-Net-SSLeay

BZ#1632597

perl-Socket

BZ#1699793

php-7.2-module

BZ#1670386

php

BZ#1653109

pki-core

BZ#1695302,BZ#16732 96,BZ#1729215

pykickstart

BZ#1637872

python-ply

BZ#1747490

python-wheel

BZ#1731526

python3

BZ#1731424

qemu-kvm

BZ#16¼4,BZ#1689216, BZ#1651474, BZ#1740002,BZ#1719687, BZ#165¼

redhat-support-tool

BZ#1688274

rhel-system-roles-sap

BZ#1660832

rhel-system-roles

BZ#1691966

rng-tools

BZ#1692435

rpm

BZ#1688849

rsyslog

JIRA:RHELPLAN-10431, BZ#1659383, BZ#1679512, BZ#1614181

rt-tests

BZ#1686494, BZ#1707505,BZ#1666351

ruby-2.6-module

BZ#1672575

s390utils

BZ#1750326

samba

BZ#1638001, JIRA:RHELPLAN-13195

scap-security-guide

BZ#1741455,BZ#1754919,BZ#1750755,BZ#1718839

scap-workbench

BZ#1640715

selinux-policy

BZ#1673269, BZ#1671241, BZ#1683642, BZ#1641631, BZ#1746398, BZ#1673107, BZ#1684103, BZ#1673056

setools

BZ#1672631

setup

BZ#1663556

squashfs-tools

BZ#1716278

sssd

BZ#1448094, BZ#1081046, BZ#1657665,BZ#1652562,BZ#1669407, BZ#1447945, BZ#1382750, BZ#1754871

subscription-manager

BZ#1674337

systemd

BZ#1658691, BZ#1686892, BZ#1640802

systemtap

BZ#1675740

tpm2-abrmd-selinux

BZ#1642000

tpm2-tools

BZ#1664498

tuned

BZ#1685585

udica

BZ#1763210, BZ#1673643

valgrind

BZ#1683715

vdo

BZ#1669534

virt-manager

BZ#1677019

virtio-win

BZ#1223668

xorg-x11-drv-qxl

BZ#1642887

xorg-x11-server

BZ#1687489, BZ#1698565

其他

BZ#1640697, BZ#1623712, BZ#1745507, BZ#1659609, BZ#1697896, BZ#1732726, JIRA:RHELPLAN-2542, JIRA:RHELPLAN-13066, JIRA:RHELPLAN-13074, BZ#1731502, BZ#1649493, BZ#1718422, JIRA:RHELPLAN-7109, JIRA:RHELPLAN-13068, JIRA:RHELPLAN-13960, JIRA:RHELPLAN-13649, JIRA:RHELPLAN-12811, BZ#17661 86, BZ#1741531, BZ#1721683, BZ#1690207, JIRA:RHELPLAN-1212, BZ#1559616, BZ#1699825, JIRA:RHELPLAN-14047, BZ#1769727, BZ#1642765, JIRA:RHELPLAN-10304, BZ#1646541, BZ#1647725, BZ#1686057,BZ#1748980

附录 B. 修订历史记录

0.2-5

Thu Aug 19 2021, Lucie Maňásková (lmanasko@redhat.com)

0.2-4

2021 年 5 月 21 日,Lenka áková()

0.2-3

Tue Apr 06 2021, Lenka ¼paová(lspackova@redhat.com)

  • 改进了支持的构架列表。
0.2-2

Thu Feb 25 2021, Lenka ¼paová(lspackova@redhat.com)

  • 修复了 CentOS Linux 名称。
0.2-1

Thu Feb 04 2021, Lucie Maňásková (lmanasko@redhat.com)

  • 添加了一个已知问题(虚拟化)。
0.2-0

Thu Jan 28 2021, Lucie Maňásková (lmanasko@redhat.com)

  • 更新了新功能章节。
  • 更新了技术预览章节。
0.1-9

Thu Dec 10 2020, Lenka Špačková (lspackova@redhat.com)

  • 向新功能(身份管理)中添加了有关在 SSSD 中处理 AD GPO 的信息。
0.1-8

Tue Dec 01, 2020 Lucie Ma\ásková(lmanasko@redhat.com)

  • 添加了对 fapolicyd 问题(Security)问题的程序错误修复。
0.1-7

Fri 10ct 30 2020, Lenka ¼paová(lspackova@redhat.com)

  • 更新了 Repositories 部分中的 Application Streams 描述。
0.1-6

Tue Sep 15 2020 年 9 月 15 日,Jaroslav Klech(jklech@redhat.com)

  • 向内核部分添加了一个已知问题。
0.1-5

Tue Apr 28 2020, Lenka ¼paová(lspackova@redhat.com)

  • 在概述中更新有关原位升级的信息。
0.1-4

Thu Apr 09 2020, Lenka ¼paová(lspackova@redhat.com)

  • 添加了两个已知问题(安全性)。
  • 用于安装模块的统一命令.
0.1-3

Tue Mar 31 2020, Lenka ¼paová(lspackova@redhat.com)

  • 添加了与 pcs 相关的新功能。
0.1-2

Fri Mar 27 2020, Lucie Maňásková (lmanasko@redhat.com)

  • 将错误地放置的技术预览描述移到正确的章节。
0.1-1

Fri 3 月 20 2020 年,Lenka ¼paová(lspackova@redhat.com)

  • 更新了安装 jmc:rhel8 模块的命令。
0.1-0

Thu Mar 12 2020, Lenka ¼paová(lspackova@redhat.com)

  • RHEL 系统角色的更新信息.
0.0-9

Fri Mar 06 2020, Jaroslav Klech (jklech@redhat.com)

  • 提供了对外部内核参数和新驱动程序的重要更改章节.
0.0-8

Wed Feb 12 2020, Jaroslav Klech (jklech@redhat.com)

  • 为架构和新功能提供了完整的内核版本.
0.0-7

Tue Feb 04 2020, Lucie Maňásková (lmanasko@redhat.com)

  • 发行 Red Hat Enterprise Linux 8.1.1 发行注记。
0.0-6

Thu Jan 23 2020, Lucie Maňásková (lmanasko@redhat.com)

  • 更新了技术预览部分。
0.0-5

Fri Dec 20 2019, Lucie Maňásková (lmanasko@redhat.com)

  • 向版本 1.1.1(系统角色)中添加了关于 rhel-system-roles-sap rebase 的备注。
  • 添加了一个备注,subscription-manager 现在报告角色、使用和附加组件值(Subscription Management)。
  • 更新了有关 扩展 Berkeley Packet Filter(eBPF)(Kernel) 的备注。
0.0-4

Tue Dec 03 2019, Lucie Maňásková (lmanasko@redhat.com)

  • 添加了与 fadump (Kernel)相关的已知问题。
0.0-3

Tue Nov 26 2019, Lucie Maňásková (lmanasko@redhat.com)

  • 更新了程序错误修复部分。
  • 更新了技术预览部分。
  • 添加了与 irqpoll (Kernel)相关的已知问题。
0.0-2

Thu Nov 14 2019, Lucie Maňásková (lmanasko@redhat.com)

  • 添加了一个备注,TIPC 现在被完全支持。
  • 添加了一个备注,现在只支持 x86_64 架构 bcc-tool
  • 更新了概述,其中包含有关内核的实时补丁 kpatch 的信息。
  • 更新了技术预览部分。
0.0-1

Tue Nov 05 2019, Lucie Ma\ásková(lmanasko@redhat.com)

  • 发行 Red Hat Enterprise Linux 8.1 发行注记。
0.0-0

Wed Jul 24 2019, Lucie Maňásková (lmanasko@redhat.com)

  • 发布 Red Hat Enterprise Linux 8.1 Beta 发行注记。