6.4. 程序错误修复
这部分论述了 Red Hat Enterprise Linux 8.1 中修复的、对用户有严重影响的错误。
6.4.1. 安装程序和镜像创建
使用 版本
或 inst.version
内核引导参数不再停止安装程序
在以前的版本中,使用 version
或 inst.version
引导参数从内核命令行引导安装程序可打印该版本,如 anaconda 30.25.6
,并停止安装程序。
在这个版本中,当安装程序从内核命令行引导时,版本
和 inst.version
参数会被忽略,因此安装程序不会被停止。
(BZ#1637472)
现在默认安装 xorg-x11-drv-fbdev
、xorg-x11-drv-vesa
和 xorg-x11-drv-vmware
视频驱动程序
在以前的版本中,带有特定 AMD 加速处理单元的 NVIDIA 图形卡和工作站的工作站在 RHEL 8.0 服务器安装后不会显示图形登录窗口。此问题还影响了依赖 EFI 图形支持(如 Hyper-V)的虚拟机。在这个版本中,x org-x11-drv-fbdev
、xorg-x11-drv-vesa
和 xorg-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 中的字符串。
inst.repo
内核引导参数现在可以用于具有非根路径的硬盘中的软件仓库
在以前的版本中,如果 inst.repo=hd:<device>:<path>
内核引导参数指向硬盘中的仓库(而不是 ISO 镜像)且使用了非 root(/)路径,则 RHEL 8 安装过程在没有手动干预的情况下无法进行。在这个版本中,安装程序可以为位于硬盘中的 存储库传播任何 <path>
,确保安装过程正常进行。
--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 无法访问存储库,因为主机的订阅证书没有通过。要修复问题 update lorax-composer
、pykickstart
和 Anaconda
软件包:这允许传递受支持的 CDN 证书。
6.4.2. Shell 和命令行工具
在 debug 模式中的 systemd
不再生成不必要的日志消息
当在调试模式中使用 systemd
系统和服务管理器时,systemd 之前
会产生不必要的且没有损害性的日志消息:
"Failed to add rule for system call ..."
在这个版本中,systemd
已被修复,不再生成这些不必要的调试信息。
6.4.3. 安全性
fapolicyd
不再阻止 RHEL 更新
当更新替换了正在运行的应用程序的二进制文件时,内核会通过附加 " (deleted)" 后缀来修改内存中的应用程序二进制路径。在以前的版本中,fapolicyd
文件访问策略守护进程将此类应用程序视为不受信任的应用程序,并阻止它们打开和执行任何其他文件。因此,在应用更新后系统有时无法引导。
在 RHBA-2020:5241 公告中,fapolicyd
忽略二进制路径中的后缀,以便二进制文件与信任数据库匹配。因此,fapolicyd
会正确强制执行规则,更新过程也可以完成。
(BZ#1897092)
SELinux 不再阻止 Tomcat 发送电子邮件
在更新之前,SELinux 策略不允许 tomcat_t
和 pki_tomcat_t
域连接到 SMTP 端口。因此,SELinux 拒绝 Tomcat 服务器上的应用程序发送电子邮件。在这个版本中,selinux -policy
软件包允许 Tomcat 域的进程访问 SMTP 端口,SELinux 不再阻止 Tomcat 上的应用程序发送电子邮件。
(BZ#1687798)
lockdev
现在使用 SELinux 正确运行
在以前的版本中,lockdev
工具无法转换到 lockdev_t
上下文,即使定义了 lockdev_t 的
SELinux 策略。因此,root 用户可以使用 lockdev
在 'unconfined_t' 域中运行。这会在系统中引入漏洞。在这个版本中,定义了向 lockdev_t
转换,现在可以在 enforcing 模式的 SELinux 中正确使用 lockdev
。
(BZ#1673269)
iotop
现在使用 SELinux 正确运行
在以前的版本中,iotop
工具无法转换到 a iotop_t
上下文,即使定义了用于 iotop_t 的
SELinux 策略。因此,在 root 用户使用时,iotop
可以在 'unconfined_t' 域中运行。这会在系统中引入漏洞。在这个版本中,定义了 to iotop_t
转换,现在在 enforcing 模式中可以与 SELinux 正确使用 iotop
_t。
(BZ#1671241)
SELinux 现在可以正确地处理 NFS 'crossmnt'
当进程访问已在服务器上用作挂载点的子目录时,带有 跨mnt
选项的 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 凭证不会使用 GSSAPIDelegateCredentials
和 GSSAPICleanupCredentials
选项集进行清理。现在,通过更新源代码来清理描述用例中的凭证缓存解决了这个程序错误。配置后,如果用户配置了凭据缓存,则会在 exit 上清理凭据缓存。
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)
OpenSSH 现在默认支持 curve 25519-sha256
在以前的版本中,OpenSSH 客户端和服务器的系统范围的加密策略配置中缺少 curve 25519-sha256
SSH 密钥交换算法,即使它与默认策略级别兼容。因此,如果客户端或服务器使用 curve 25519-sha256
,且主机不支持此算法,则连接可能会失败。这个 crypto-policies
软件包更新修复了这个程序错误,在上述场景中 SSH 连接不再失败。
OSPP 和 PCI-DSS 配置集的 Ansible playbook 在出现故障后不再退出
在以前的版本中,因为补救中不正确的排序和其他错误,安全内容自动化协议(OSPP)和支付卡行业数据安全标准(PCI-DSS)配置集的 Ansible 修复会失败。此更新修复了生成的 Ansible 修复 playbook 中的排序和错误,Ansible 修复现在可以正常工作。
Audit transport=KRB5
现在可以正常工作
在以前的版本中,审计 KRB5 传输模式无法正常工作。因此,使用 Kerberos 对等身份验证进行审计的远程日志无法正常工作。在这个版本中,这个问题已被解决,Audit 远程日志记录现在可以在上述场景中正常工作。
6.4.4. 网络
内核现在支持 bitmap:ipmac
、hash:ipmac
和 hash:mac
IP 集类型的目的 MAC 地址
在以前的版本中,仅允许在源 MAC 地址上匹配 bitmap:ipmac
、hash:ipmac
和 hash:mac
IP 集类型只允许在源 MAC 地址上匹配,而可以指定目的 MAC 地址,但不会匹配集条目。因此,管理员可以创建在其中一个 IP 设置类型中使用目的地 MAC 地址的 iptables
规则,但与给定规格匹配的数据包实际上不会被分类。在这个版本中,内核比较目的地 MAC 地址,如果指定的分类与数据包的目标 MAC 地址对应,则返回匹配项。因此,与目的地 MAC 地址匹配的规则现在可以正常工作。
(BZ#1649087)
The gnome-control-center
应用程序现在支持编辑高级 IPsec 设置
在以前的版本中,gnome-control-center
应用程序只显示 IPsec VPN 连接的高级选项。因此,用户无法更改这些设置。在这个版本中,高级设置中的字段可以被编辑,用户可以保存更改。
iptables-extensions(8)man
page 中的 TRACE
目标已更新
在以前的版本中,iptables-extensions(8)man
page 中 TRACE
目标的描述只涉及 compat
变体,但 Red Hat Enterprise Linux 8 使用 the nf_tables
变体。因此,man page 没有引用 xtables-monitor
命令行实用程序来显示 TRACE
事件。man page 已更新,因此现在提到 xtables-monitor
。
改进了 ipset
服务中的错误记录
在以前的版本中,ipset
服务没有在 systemd
日志中报告具有有意义的严重性的配置错误。无效配置条目的严重性级别仅为 信息
,服务没有报告不可用配置的错误。因此,管理员很难识别和排除 ipset
服务配置中的问题。在这个版本中,ip set
在 systemd
日志中作为 警告
报告配置问题,如果服务无法启动,它会记录 错误
严重性的条目,包括更多详细信息。现在,对 ipset
服务配置中的问题进行故障排除更为简单。
ipset
服务现在会在启动过程中忽略无效的配置条目
ipset
服务将配置作为集合存储在单独的文件中。在以前的版本中,当服务启动时,它会从单个操作中的所有集合中恢复配置,而不过滤可以通过手动编辑集合插入的无效条目。因此,如果单个配置条目无效,服务不会恢复其他不相关的集合。这个问题已被解决。因此,ip set
服务会在恢复操作过程中检测并删除无效的配置条目,并忽略无效的配置条目。
ipset list
命令报告 哈希
设置类型一致的内存
当您向 哈希
集类型中添加条目时,ipset
实用程序必须通过分配额外内存块来为新条目重新定义内存表示大小。在以前的版本中,ip set
只将每个设置的分配大小设置为新块的大小,而不是将值添加到当前的内存中大小。因此,ip list
命令报告的内存大小不一致。在这个版本中,ipset
正确计算内存大小。因此,ip set list
命令现在显示集合的正确内存中大小,输出与 哈希
集类型的实际分配内存匹配。
(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
不再需要这些文件。
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
软件包会失败。在这个版本中,在上述场景中可以正确地安装 bug 和 tpm2-abrmd-selinux
。
(BZ#1642000)
可以 访问所有 /sys/kernel/debug
文件
在以前的版本中,"Operation notallow"(EPERM)错误的返回值会一直被设置,直到功能结束,而不考虑错误。因此,任何访问某些 /sys/kernel/debug(debug
fs)文件的尝试都会失败,并显示一个不必要的 EPERM 错误。在这个版本中,EPERM 返回值移到以下块:因此,在上述场景中,可以访问 debugfs
文件,且不会出现问题。
(BZ#1686755)
NIC 不再受到 41000 和 45000 FastLinQ 系列的 qede
驱动程序中的一个错误的影响
在以前的版本中,固件升级和调试数据收集操作会失败,因为 41000 和 45000 FastLinQ 系列的 qede
驱动程序存在错误。它使得 NIC 无法使用。主机的重新引导(PCI reset)使 NIC 再次正常运行。
这个问题可能会在以下情况下发生:
- 在使用 inbox 驱动程序升级 NIC 的固件过程中
-
运行
ethtool -d ethx
命令的调试数据收集期间 -
运行包含
ethtool -d ethx
的sosreport
命令时。 - 在发起由收件驱动程序自动调试数据收集期间,如 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)匹配的特定 DIMM 处理 0x<ADDRESS>
。因此,EDAC GHES
会正确地检测到哪个特定 DIMM 报告了硬件错误。
(BZ#1721386)
Podman
能够检查 RHEL 8 中的容器
在以前的版本中,Checkpoint 和 Restore in Userspace(CRIU)软件包的版本已经过时。因此,CRIU 不支持容器检查点和恢复功能,podman
实用程序无法检查点容器。运行 podman 容器检查点
命令时,会显示以下错误消息:
'checkpointing a container requires at least CRIU 31100'
在这个版本中,通过升级 CRIU 软件包的版本解决了这个问题。因此,podman
现在支持容器检查点和恢复功能。
(BZ#1689746)
如果在 dracut.conf
中使用了 add_dracutmodules+=earlykdump
选项,则 early-kdump
和标准的 kdump
不再失败
在以前的版本中,为 early-kdump
安装的内核版本和为之生成的内核版本 initramfs
之间会出现不一致的情况。因此,当启用了 early-kdump
时引导会失败。另外,如果 early-kdump
检测到它包含在标准 kdump
initramfs 镜像中,它会强制退出。因此,如果将 early
-kdump
添加为 default dracut
模块,则标准 kdump 服务也会在重新构建 kdump
initramfs 时失败。因此,early-kdump
和标准 kdump
都失败。在这个版本中, early-kdump
在安装过程中使用一致的内核名称,只有版本与正在运行的内核不同。另外,标准 kdump
服务会强制丢弃 early-kdump
,以避免镜像生成失败。因此,在上述场景 中,early-kdump
和标准 kdump
不再会失败。
(BZ#1662911)
启用的第一个内核现在可以成功转储 vmcore
在以前的版本中,第一个带有活跃安全内存加密功能的内核中的加密内存会导致 kdump
机制失败。因此,第一个内核无法转储内存的内容(vmcore)。在这个版本中,添加了 ioremap_crypt()
功能来重新映射加密内存并修改相关的代码。现在,加密的第一个内核的内存会被正确访问,在上述情况下崩溃工具可以转储和解析 vmcore。
(BZ#1564427)
现在,启用了 SEV 的第一个内核可以成功转储 vmcore
在以前的版本中,第一个带有活跃安全加密虚拟化(SEV)功能的内核中的加密内存会导致 kdump
机制失败。因此,第一个内核无法转储内存的内容(vmcore)。在这个版本中,添加了 ioremap_crypt()
功能来重新映射加密内存并修改相关的代码。因此,第一个内核的加密内存现在被正确访问,在上述情况下崩溃工具可以转储和解析 vmcore。
(BZ#1646810)
内核现在为 SWIOTLB 保留更多空间
在以前的版本中,当内核中启用了安全加密虚拟化(SEV)或安全内存加密(SME)功能时,软件输入输出转换查找缓冲区(SWIOTLB)技术必须同时启用,并消耗大量内存。因此,捕获内核无法引导或遇到内存不足错误。在这个版本中,在 SEV/SME 处于活跃状态时为 SWIOTLB 保留额外的崩溃内核内存,解决了这个问题。因此,捕获内核会为 SWIOTLB 保留更多内存,且这个错误不再出现在上述场景中。
(BZ#1728519)
C-state 转换现在可以 在运行期间
被禁用
要获得实时性能,s hwlatdetect
实用程序需要在测试运行时禁用 CPU 节能。这个更新允许在测试运行期间 关闭
C-state 转换,hwlatdetect
现在可以更精确地检测硬件延迟。
6.4.6. 硬件启用
openmpi
软件包现在可以安装
在以前的版本中,rebase on opensm
软件包会改变其 soname
机制。因此,由于未解析的依赖关系,无法安装 openmpi
软件包。在这个版本中解决了这个问题。因此,现在可以安装 openmpi
软件包而无需任何问题。
(BZ#1717289)
6.4.7. 文件系统和存储
RHEL 8 安装程序现在使用条目 ID 来设置默认引导条目
在以前的版本中,RHEL 8 安装程序使用第一个引导条目的索引作为默认值,而不是使用条目 ID。因此,添加新引导条目成为默认设置,它首先排序并设置为第一个索引。在这个版本中,安装程序使用条目 ID 来设置默认引导条目,因此不会更改默认条目,即使在默认条目前添加和排序引导条目也是如此。
现在,当使用 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),因为未设置一致的直接内存访问(DMA)掩码。
在这个版本中,可以正确地设置一致的 DMA 掩码。现在,当在使用 smartpqi
驱动程序用于根磁盘的机器上启用,系统会成功启动。
(BZ#1712272)
FCoE LUN 在 bnx2fc
卡上创建后不会消失
在以前的版本中,在 bnx2fc
卡上创建 FCoE LUN 后,FCoE LUN 不会被正确附加。因此,在 RHEL 8.0 的 bnx2fc
卡上创建 FCoE LUN 后会消失。在这个版本中,FCoE LUN 会被正确附加。因此,现在可以在 bnx2fc
卡上创建 FCoE LUN 后发现它。
(BZ#1685894)
迁移到不同的终端平台后,VDO 卷不再丢失重复数据删除建议
在以前的版本中,当将 VDO 卷移到使用其他 endian 的平台后,通用重复数据删除服务(UDS)索引会丢失所有重复数据删除建议。因此,VDO 无法根据移动卷前存储的数据删除新写入的数据,从而减少空间节省。
在这个版本中,您可以在使用不同端点的平台间移动 VDO 卷,而不丢失重复数据删除建议。
K
dump 服务在大型 IBM POWER
系统中工作
在以前的版本中,RHEL8 kdump
内核没有启动。因此,大型 IBM POWER
系统中的 kdump initrd
文件不会被创建。在这个版本中,添加了 squashfs-tools-4.3-19.el8
组件。此更新向 squashfs-tools-4.3-19.el8
组件可以从可用池中使用的 CPU 数(而不是使用所有可用的 CPU)中添加了一个限制(128) 。这解决了资源不足的问题。因此,k dump
服务现在可以在大型 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()
现在可从多个线程安全地使用
在以前的版本中,S ocket::inet_aton()
功能用于解析来自多个 Perl 线程的域名,称为不安全 gethostbyname()
glibc
功能。因此,偶尔会返回不正确的 IPv4 地址,或者 Perl 解释器意外终止。在这个版本中,Sock et::inet_aton()
实现已被修改为使用 thread-safe getaddrinfo()
glibc
功能而不是 gethostbyname()。
因此,Perl Socket
模块的 inet_aton()
功能可以安全地从多个线程使用。
6.4.9. 编译器和开发工具
gettext
会在内存不足时返回未翻译的文本
在以前的版本中,文本本地化的 gettext()
函数会在内存不足时返回 NULL 值而不是文本值,从而导致应用程序缺少文本输出或标签。这个程序错误已被解决,现在 gettext()
- 在内存不足时返回未经翻译的文本。
locale
命令现在会在执行过程中遇到错误时警告设置 LOCPATH
在以前的版本中,当 locale
命令因为无效的 LOCPATH
环境变量遇到错误时,locale 命令不会为 LOCPATH
提供任何诊断。locale
命令现在设置为警告,当 LOCPATH
在执行过程中遇到错误时,它已被设置。现在,区域
设置会报告 LOCPATH
以及它遇到的任何底层错误。
GDB
现在可以读取并正确代表 aarch64 SVE 中 核心文件
中的 z
寄存器
在以前的版本中,gdb
组件无法从带有 aarch64 可扩展向量扩展(SVE)架构 的核心文件
中读取 z
寄存器。在这个版本中,gdb
组件可以从 核心文件
读取 z
寄存器。因此,info register
命令可以成功显示 z
寄存器内容。
(BZ#1669953)
GCC rebase 到版本 8.3.1
GNU Compiler Collection(GCC)已更新至上游版本 8.3.1。这个版本带来了大量其他程序错误修复。
6.4.10. 身份管理
FreeRADIUS 现在解析指向 IPv6 地址的主机名
在以前的 RHEL 8 版本中,ipaddr
工具只支持 IPv4 地址。因此,要使 radiusd
守护进程解析 IPv6 地址,需要在将系统从 RHEL 7 升级到 RHEL 8 后手动更新配置。这个版本修复了底层代码,FreeRADIUS 中的 ipaddr
现在也使用 IPv6 地址。
Nuxwdog
服务不再无法在 HSM 环境中启动 PKI 服务器
在以前的版本中,因为程序漏洞,keyutils
软件包没有作为 pki-core
软件包的依赖项安装。此外,Nuxwdog
watchdog 服务无法在使用硬件安全模块(HSM)的环境中启动公钥基础架构(PKI)服务器。这个问题已被解决。因此,所需的 keyutils
软件包现在作为依赖项自动安装,n uxwdog 在使用
HSM 的环境中按预期启动 PKI 服务器。
IdM 服务器现在可以在 FIPS 模式下正常工作
在以前的版本中,Tomcat 服务器的 SSL 连接器无法实施。因此,带有安装的证书服务器的 Identity Management(IdM)服务器无法在启用了 FIPS 模式的机器中正常工作。这个 bug 已通过添加 JSSTrustManager
和 JSSKeyManager
得到了解决。因此,IdM 服务器在上述场景中可以正常工作。
请注意,在 RHEL 8 中,有几个程序错误会阻止 IdM 服务器在 FIPS 模式中运行。这个更新只修复了其中一个。
KCM 凭证缓存现在适合单个凭证缓存中的大量凭证
在以前的版本中,如果 Kerberos 凭据管理器(KCM)包含大量凭证,Kerberos 操作(如 kinit )会失败,因为数据库中条目大小的限制以及这些条目的数量。
此更新在 sssd.conf
文件的 kcm
部分中引进了以下新的配置选项:
-
max_ccaches (integer)
-
max_uid_ccaches (integer)
-
max_ccache_size (integer)
因此,KCM 现在可以处理单个缓存中的大量凭证。
有关配置选项的详情请参考 sssd-kcm man page。
(BZ#1448094)
当使用 sss
ID 映射插件时,Samba 不再拒绝访问
在以前的版本中,当您在具有此配置的域成员上运行 Samba 时,添加使用 sss
ID 映射后端至 /etc/samba/smb.conf
文件以共享目录的配置时,ID 映射后端的更改会导致错误。因此,Samba 在某些情况下拒绝访问文件,即使存在用户和组并且 SSSD 知道该文件。这个问题已被解决。因此,在使用 sss
插件时,Samba 不再拒绝访问。
默认的 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 桌面会话中运行 systemctl isolate multi-user.target
命令时,只会显示光标,而不是控制台提示符。在这个版本中,gdm
已被修复,控制台提示现在会在描述的情况中如预期显示。
6.4.12. 图形基础结构
'i915' 显示驱动程序现在支持最多 3 个版本 4K 的显示配置。
在以前的版本中,在 Xorg 会话中使用 'i915' 显示驱动程序时,无法有大于 2 个 4K 的显示配置。在这个版本中,'i915' 驱动程序支持最多 3 个版本4K 的显示配置。
(BZ#1664969)
Linux 客户机初始化 GPU 驱动程序时不再显示错误
在以前的版本中,Linux 客户机在初始化 GPU 驱动程序时返回警告信息。这是因为 Intel Graphics 虚拟化技术 -g(GVT -g)仅模拟 guest 的 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 设备处理方式,防止问题的发生。
启用嵌套虚拟化不再阻止实时迁移
在以前的版本中,嵌套虚拟化功能与实时迁移不兼容。因此,在 RHEL 8 主机上启用嵌套虚拟化会阻止从主机迁移任何虚拟机(VM),并不会将虚拟机状态快照保存到磁盘。这个版本解决了上面描述的问题,受影响的虚拟机现在可以迁移。
6.4.15. 支持性
redhat-support-tool
现在创建一个 sosreport
归档
在以前的版本中,redhat-support-tool
工具无法创建 sosreport
归档。这个临时解决方案是单独运行 sosreport
命令,然后输入 redhat-support-tool addattachment -c
命令来上传归档。用户也可以使用客户门户网站上的 Web UI 创建客户问题单并上传 sosreport
归档。
此外,findkerneldebugs、b
textract
、分析
或 诊断
等命令选项无法按预期工作,并将在以后的版本中修复。