Red Hat Enterprise Linux-9-Considerations in Adopting RHEL 9-en-US
Red Hat Enterprise Linux-9-Considerations in Adopting RHEL 9-en-US
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons
Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is
available at
http://creativecommons.org/licenses/by-sa/3.0/
. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must
provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert,
Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift,
Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States
and other countries.
Linux ® is the registered trademark of Linus Torvalds in the United States and other countries.
XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States
and/or other countries.
MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and
other countries.
Node.js ® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the
official Joyent Node.js open source or commercial project.
The OpenStack ® Word Mark and OpenStack logo are either registered trademarks/service marks
or trademarks/service marks of the OpenStack Foundation, in the United States and other
countries and are used with the OpenStack Foundation's permission. We are not affiliated with,
endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
Abstract
This document provides an overview of changes in RHEL 9 since RHEL 8 to help you evaluate an
upgrade to RHEL 9.
Table of Contents
Table of Contents
. . . . . . . . . . . . . FEEDBACK
PROVIDING . . . . . . . . . . . . ON
. . . .RED
. . . . .HAT
. . . . .DOCUMENTATION
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4. . . . . . . . . . . . .
. . . . . . . . . . . 1.. .PREFACE
CHAPTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. . . . . . . . . . . . .
. . . . . . . . . . . 2.
CHAPTER . . ARCHITECTURES
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6. . . . . . . . . . . . .
. . . . . . . . . . . 3.
CHAPTER . . REPOSITORIES
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7. . . . . . . . . . . . .
. . . . . . . . . . . 4.
CHAPTER . . .APPLICATION
. . . . . . . . . . . . . . .STREAMS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8. . . . . . . . . . . . .
.CHAPTER
. . . . . . . . . . 5.
. . CLOUD
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9. . . . . . . . . . . . .
5.1. NOTABLE CHANGES TO AZURE 9
5.2. NOTABLE CHANGES TO GCP 9
.CHAPTER
. . . . . . . . . . 6.
. . .CONTAINERS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
..............
6.1. NOTABLE CHANGES TO CONTAINERS 10
. . . . . . . . . . . 7.
CHAPTER . . COMPILERS
. . . . . . . . . . . . . .AND
. . . . .DEVELOPMENT
. . . . . . . . . . . . . . . . .TOOLS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
..............
7.1. NOTABLE CHANGES TO GLIBC 13
7.2. RED HAT BUILD OF OPENJDK 13
7.3. .NET ON RHEL 9 14
.CHAPTER
. . . . . . . . . . 8.
. . .DESKTOP
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
..............
8.1. NOTABLE CHANGES TO DESKTOP 15
. . . . . . . . . . . 9.
CHAPTER . . .DYNAMIC
. . . . . . . . . . PROGRAMMING
. . . . . . . . . . . . . . . . . .LANGUAGES,
. . . . . . . . . . . . . . WEB
. . . . . .SERVERS,
. . . . . . . . . . DATABASE
. . . . . . . . . . . . SERVERS
. . . . . . . . . . . . . . . . . . . . . . . . 21
..............
9.1. NOTABLE CHANGES TO DYNAMIC PROGRAMMING LANGUAGES, WEB AND DATABASE SERVERS 21
.CHAPTER
. . . . . . . . . . 10.
. . . EDGE
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
..............
10.1. RHEL FOR EDGE 23
. . . . . . . . . . . 11.
CHAPTER . . .FILE
. . . . .SYSTEMS
. . . . . . . . . . AND
. . . . . .STORAGE
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
..............
11.1. FILE SYSTEMS 27
11.2. STORAGE 30
. . . . . . . . . . . 12.
CHAPTER . . . HARDWARE
. . . . . . . . . . . . .ENABLEMENT
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
..............
12.1. UNMAINTAINED HARDWARE SUPPORT 32
12.2. REMOVED HARDWARE SUPPORT 35
.CHAPTER
. . . . . . . . . . 13.
. . . HIGH
. . . . . . AVAILABILITY
. . . . . . . . . . . . . . . AND
. . . . . .CLUSTERS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
..............
13.1. NOTABLE CHANGES TO HIGH AVAILABILITY AND CLUSTERS 37
.CHAPTER
. . . . . . . . . . 14.
. . . IDENTITY
. . . . . . . . . . .MANAGEMENT
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
..............
14.1. NEW FEATURES 38
14.2. TECHNOLOGY PREVIEWS 40
14.3. KNOWN ISSUES 41
14.4. RELOCATED PACKAGES 41
14.5. REMOVED FUNCTIONALITY 42
.CHAPTER
. . . . . . . . . . 15.
. . . INFRASTRUCTURE
. . . . . . . . . . . . . . . . . . . . SERVICES
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
..............
15.1. NOTABLE CHANGES TO INFRASTRUCTURE SERVICES 44
. . . . . . . . . . . 16.
CHAPTER . . . INSTALLER
. . . . . . . . . . . . .AND
. . . . .IMAGE
. . . . . . . CREATION
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
..............
16.1. INSTALLER 45
16.2. IMAGE CREATION 47
1
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
.CHAPTER
. . . . . . . . . . 17.
. . . KERNEL
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
..............
17.1. NOTABLE CHANGES TO KDUMP MEMORY ALLOCATION 50
17.2. NOTABLE CHANGES TO THE RHEL FOR REAL TIME KERNEL 50
17.3. NOTABLE CHANGES TO KERNEL 51
17.4. NOTABLE CHANGES TO BOOT LOADER 52
.CHAPTER
. . . . . . . . . . 18.
. . . NETWORKING
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
..............
18.1. KERNEL 54
18.2. NETWORK TYPES 54
18.3. NETWORKMANAGER 55
18.4. MPTCP 55
18.5. FIREWALL 55
18.6. INFINIBAND AND RDMA NETWORKS 56
18.7. REMOVED FUNCTIONALITY 56
.CHAPTER
. . . . . . . . . . 19.
. . . PERFORMANCE
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
..............
19.1. NOTABLE CHANGES TO PERFORMANCE 57
.CHAPTER
. . . . . . . . . . 20.
. . . .SECURITY
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60
..............
20.1. SECURITY COMPLIANCE 60
20.2. CRYPTO-POLICIES, RHEL CORE CRYPTOGRAPHIC COMPONENTS, AND PROTOCOLS 60
20.3. SELINUX 65
. . . . . . . . . . . 21.
CHAPTER . . . SHELLS
. . . . . . . . .AND
. . . . . COMMAND-LINE
. . . . . . . . . . . . . . . . . . TOOLS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
..............
21.1. NOTABLE CHANGES TO SYSTEM MANAGEMENT 67
21.2. NOTABLE CHANGES TO COMMAND-LINE TOOLS 68
. . . . . . . . . . . 22.
CHAPTER . . . .SOFTWARE
. . . . . . . . . . . . MANAGEMENT
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69
..............
22.1. NOTABLE CHANGES TO SOFTWARE MANAGEMENT 69
. . . . . . . . . . . 23.
CHAPTER . . . .SUBSCRIPTION
. . . . . . . . . . . . . . . . MANAGEMENT
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
..............
23.1. NOTABLE CHANGES TO SUBSCRIPTION MANAGEMENT 72
.CHAPTER
. . . . . . . . . . 24.
. . . .SYSTEM
. . . . . . . . . ROLES
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
..............
24.1. PERFORMING SYSTEM ADMINISTRATION TASKS WITH RHEL SYSTEM ROLES 73
. . . . . . . . . . . 25.
CHAPTER . . . .VIRTUALIZATION
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75
..............
25.1. NOTABLE CHANGES TO KVM 75
25.2. NOTABLE CHANGES TO LIBVIRT 75
25.3. NOTABLE CHANGES TO QEMU 76
25.4. NOTABLE CHANGES TO SPICE 76
.CHAPTER
. . . . . . . . . . 26.
. . . .THE
. . . . .WEB
. . . . .CONSOLE
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
..............
26.1. CHANGES TO THE RHEL WEB CONSOLE 78
. . . . . . . . . . . .A.
APPENDIX . . CHANGES
. . . . . . . . . . . .TO
. . . PACKAGES
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
..............
A.1. NEW PACKAGES 79
A.2. PACKAGE REPLACEMENTS 151
A.3. MOVED PACKAGES 174
A.4. REMOVED PACKAGES 211
A.5. PACKAGES WITH REMOVED SUPPORT 285
2
Table of Contents
3
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
4. Enter your suggestion for improvement in the Description field. Include links to the relevant
parts of the documentation.
4
CHAPTER 1. PREFACE
CHAPTER 1. PREFACE
This document provides an overview of differences between two major versions of Red Hat
Enterprise Linux: RHEL 8 and RHEL 9. It provides a list of changes relevant for evaluating an upgrade to
RHEL 9 rather than an exhaustive list of all alterations.
For details regarding RHEL 9 usage, see the RHEL 9 product documentation .
For guidance regarding an in-place upgrade from RHEL 8 to RHEL 9, see Upgrading from RHEL 8 to
RHEL 9.
For information about major differences between RHEL 7 and RHEL 8, see Considerations in adopting
RHEL 8.
Capabilities and limits of Red Hat Enterprise Linux 9 as compared to other versions of the system are
available in the Knowledgebase article Red Hat Enterprise Linux technology capabilities and limits .
Information regarding the Red Hat Enterprise Linux life cycle is provided in the Red Hat Enterprise Linux
Life Cycle document.
The Package manifest document provides a package listing for RHEL 9, including licenses and
application compatibility levels.
Application compatibility levels are explained in the Red Hat Enterprise Linux 9: Application
Compatibility Guide document.
5
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
CHAPTER 2. ARCHITECTURES
Red Hat Enterprise Linux 9 is distributed with the kernel version 5.14, which provides support for the
following architectures at the minimum required version:
Make sure you purchase the appropriate subscription for each architecture.
6
CHAPTER 3. REPOSITORIES
CHAPTER 3. REPOSITORIES
Red Hat Enterprise Linux 9 is distributed through two main repositories:
BaseOS
AppStream
Both repositories are required for a basic RHEL installation, and are available with all RHEL
subscriptions.
Content in the BaseOS repository is intended to provide the core set of the underlying OS functionality
that provides the foundation for all installations. This content is available in the RPM format and is
subject to support terms similar to those in previous releases of RHEL. For more information, see the
Scope of Coverage Details document.
Content in the AppStream repository includes additional user-space applications, runtime languages,
and databases in support of the varied workloads and use cases.
In addition, the CodeReady Linux Builder repository is available with all RHEL subscriptions. It provides
additional packages for use by developers. Packages included in the CodeReady Linux Builder
repository are unsupported.
Additional resources
Package manifest
7
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Each Application Stream component has a given life cycle, either the same as RHEL 9 or shorter. For
RHEL life cycle information, see Red Hat Enterprise Linux Life Cycle and Red Hat Enterprise Linux
Application Streams Life Cycle.
as Software Collections
as Flatpaks.
RHEL 9 improves the Application Streams experience by providing initial Application Stream versions
that can be installed as RPM packages using the traditional dnf install command.
NOTE
Certain initial Application Streams in the RPM format have a shorter life cycle than Red
Hat Enterprise Linux 9.
Some additional Application Stream versions will be distributed as modules with a shorter life cycle in
future minor RHEL 9 releases. It is recommended to review the Red Hat Enterprise Linux Application
Stream Lifecycle definitions for any content life cycle considerations.
Always determine what version of an Application Stream you want to install and make sure to review the
Red Hat Enterprise Linux Application Stream Lifecycle first.
Content that needs rapid updating, such as alternate compilers and container tools, is available in rolling
streams that will not provide alternative versions in parallel. Rolling streams can be packaged as RPMs or
modules.
For information about Application Streams available in RHEL 9 and their application compatibility level,
see the Package manifest. Application compatibility levels are explained in the Red Hat Enterprise Linux
9: Application Compatibility Guide document.
Additional resources
Package manifest
8
CHAPTER 5. CLOUD
CHAPTER 5. CLOUD
The following chapters contain the most notable changes to public cloud platforms between RHEL 8
and RHEL 9:
9
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
CHAPTER 6. CONTAINERS
The following chapter contains the most notable changes to containers between RHEL 8 and RHEL 9.
In RHEL 9, the new version of control groups, cgroups v2, is enabled by default.
Enforcing: If no matching alias is found during the image pull, Podman prompts the user to
choose one of the unqualified-search registries. If the selected image is pulled successfully,
Podman automatically records a new short-name alias in the $HOME/.cache/containers/short-
name-aliases.conf file (rootless user) and in the /var/cache/containers/short-name-
aliases.conf (root user). If the user cannot be prompted (for example, stdin or stdout are not a
TTY), Podman fails. Note that the short-name-aliases.conf file has precedence over
registries.conf file if both specify the same alias. The enforcing mode is default in RHEL 9.
Permissive: Similar to enforcing mode, but Podman does not fail if the user cannot be
prompted. Instead, Podman searches in all unqualified-search registries in the given order. Note
that no alias is recorded. The permissive mode is default in RHEL 8.
Example:
unqualified-search-registries=["registry.fedoraproject.org", "quay.io"]
[aliases]
"fedora"="registry.fedoraproject.org/fedora"
10
CHAPTER 6. CONTAINERS
For more information, see Red Hat Enterprise Linux Container Compatibility Matrix .
If you perform an in-place upgrade from RHEL 8 to RHEL 9, Podman’s network stack is set as:
CNI if there are containers, images, pods, or networks presented when Podman is first run after
an upgrade. You can then manually upgrade to the new Netavark network stack. For instructions
on how to switch between the CNI and Netavark network stacks, see 8.6 Switching network
stack from CNI to Netavark and 8.7 Switching the network stack from Netavark to CNI.
Red Hat recommends explicitly specifying the network_backend parameter to ensure that the correct
backend is selected.
WARNING
You cannot migrate the existing containers to a different network stack system
using the podman container checkpoint and the podman container restore
commands. If you want to switch from the CNI network stack to the Netavark
network stack, recreate the container from the container image.
11
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
The system connections and farm information stored in the containers.conf file are now read-
only. The system connections and farm information will now be stored in the
podman.connections.json file, managed only by Podman. Podman continues to support the
old configuration options such as [engine.service_destinations] and the [farms] section. You
can still add connections or farms manually if needed; however, it is not possible to delete a
connection from the containers.conf file with the podman system connection rm command.
The slirp4netns network mode is deprecated and will be removed in a future major release of
RHEL. The pasta network mode is the default network mode for rootless containers.
The cgroups v1 for rootless containers is deprecated and will be removed in a future major
release of RHEL.
12
CHAPTER 7. COMPILERS AND DEVELOPMENT TOOLS
Developers can continue to use the -lpthread option when linking threaded applications, but it is no
longer necessary.
Name Service Switch service plugins for dns and files now merged into libc.so.6
In RHEL 8, the Name Service Switch (NSS) services for files and dns, which provides data to user and
group identity management APIs, was a distinct plugin. In RHEL 9, the plugins have been merged into
the core C library libc.so.6. Moving the files and dns service providers ensures that applications that
need to cross a mount namespace boundary (for example, enter a container) can do so knowing that
NSS files and dns access services are always loaded at process startup.
When calling user and group APIs, where those APIs depend on an nsswitch.conf that references files
or dns, developers can expect those services to always be present and provide the underlying service
data.
Existing packages in RHEL 9 that call java/bin or java-openjdk/bin directly will be immediately able to
use OpenJDK 17.
Existing packages in RHEL 9 that require the java or java-devel packages directly, namely tomcat and
systemtap-runtime-java, will pull the appropriate dependency automatically.
13
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Ant, Maven, and packages that are using Java indirectly through the javapackages-tools package will
be fully transitioned in an asynchronous update shortly after the general availability of RHEL 9.5.
If you need to install OpenJDK for the first time or if the default package is not installed through a
dependency chain, use DNF:
For more information, see Installing multiple minor versions of Red Hat build of OpenJDK on RHEL by
using yum.
IMPORTANT
The current java-11-openjdk packages in RHEL 9 will not receive any further updates.
However, Red Hat will provide Extended Life Cycle support (ELS) phase 1 with updates
for Red Hat build of OpenJDK 11 until October 31, 2027. See Red Hat build of OpenJDK 11
Extended Lifecycle Support (ELS-1) Availability for details.
For information specific to the OpenJDK ELS program and the OpenJDK lifecycle, see
the OpenJDK Life Cycle and Support Policy .
NOTE
If you have the alternatives command set to manual mode for java and related
components, OpenJDK 11 will still be used after the update. To use OpenJDK 17 in this
case, change the alternatives setting to auto, for example:
14
CHAPTER 8. DESKTOP
CHAPTER 8. DESKTOP
The following chapter contains the most notable changes to desktop between RHEL 8 and RHEL 9.
GNOME 40 includes a new and improved Activities Overview design. This gives the overview a more
coherent look, and provides an improved experience for navigating the system and launching
applications. Workspaces are now arranged horizontally, and the window overview and application grid
are accessed vertically.
The performance and resource usage of GNOME has been significantly improved.
The visual style, including the user interface, the login screen, the icons, and the desktop, has
been refreshed.
GNOME applications no longer use the application menu, which was available from the top
panel. The functionality is now located in a primary menu within the application window.
If you use the proprietary NVIDIA drivers, you can now launch applications using the discrete
GPU:
The Power Off / Log Out menu now includes the Suspend option and a new Restart option,
which can reboot the system to the boot loader menu when you hold Alt.
You can now group application icons in the overview together into folders using drag and drop.
The Pointer Location accessibility feature now works in the Wayland session. When the feature
is enabled, pressing Ctrl highlights the pointer location on the screen.
GNOME Shell extensions are now managed by the Extensions application, rather than
Software. The Extensions application handles updating extensions, configuring extension
preferences, and removing or disabling extensions.
The notifications popover now includes a Do Not Disturb button. When the button enabled,
notifications do not appear on the screen.
15
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
System dialogs that require a password now have an option to reveal the password text by
clicking the eye ( ) icon.
The Software application now automatically detects metered networks, such as mobile data
networks. When the current network is metered, Software pauses updates in order to reduce
data usage.
Each connected display can now use a different refresh rate in the Wayland session.
$ gsettings set \
org.gnome.mutter experimental-features \
"['scale-monitor-framebuffer']"
As a result, fractional scaling options are accessible on the Display panel in Settings.
NOTE
error: Failed to execute child process “dbus-launch” (No such file or directory)
For more details on the changes in GNOME, see versions 3.30 to 40.0 in Release Notes.
The X11 protocol remains fully supported using the XWayland back end. As a result, applications that
require X11 can run in the Wayland session.
Red Hat is working on resolving the remaining problems and gaps in the Wayland session.
You can switch your user session back to the X.org back end. For more information, see Selecting
GNOME environment and display protocol.
To enable Wayland with the NVIDIA drivers on your system, add the following options to the kernel
command line:
nvidia-drm.modeset=1
NVreg_PreserveVideoMemoryAllocations=1
16
CHAPTER 8. DESKTOP
Note that Wayland has been the default display protocol with other graphics drivers since RHEL 8.0.
Under certain conditions, the NVIDIA drivers disable the Wayland display protocol and revert to the
X.org display server:
If the NVIDIA driver has not installed the required systemd services.
Additionally, Wayland is enabled but the desktop session uses X.org by default if the version of the
NVIDIA driver is lower than 510.
Currently, the Wayland session with the NVIDIA drivers is still incomplete and presents certain known
issues. Red Hat is actively working with NVIDIA to address these gaps and problems across the GPU
stack.
xorg-x11-drv-ati
xorg-x11-drv-intel
xorg-x11-drv-nouveau
xorg-x11-drv-qxl
xorg-x11-drv-vesa
If you apply a custom X.Org configuration for any of the removed drivers in RHEL 8 or earlier, your
configuration will have no effect in RHEL 9. Before upgrading to RHEL 9, check your X.Org
configuration files and directories, such as /etc/X11/xorg.conf.d/.
This change does not affect the proprietary NVIDIA driver, which is not maintained by Red Hat.
17
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
You no longer have to configure the JACK service for applications that use it. All JACK applications
now work in the default RHEL configuration.
PulseAudio is still available in RHEL, and you can enable it instead of PipeWire. For details, see
Switching from PipeWire to PulseAudio .
If you require Boxes, Red Hat suggests to install Boxes from the Flathub repository: Boxes on Flathub.
This version of Boxes continues to use SPICE, and as a result, it supports the missing features listed
previously.
WARNING
For more information about SPICE in RHEL 9, see the SPICE section.
Performance
Optimizes for high system performance and reduces battery life. This profile is only available on
certain selected system configurations.
Balanced
Provides standard system performance and power consumption. This is the default profile.
Power Saver
Increases battery life and reduces system performance. This profile activates automatically on low
battery.
The power profiles functionality is available from the power-profiles-daemon package, which is installed
by default.
You can start GNOME in a single-application session, also known as kiosk mode. In this session, GNOME
displays only a full-screen window of an application that you have configured.
18
CHAPTER 8. DESKTOP
The single-application session is significantly less resource intensive than the standard GNOME session.
langpacks-core-code
Provides a basic language support, including:
langpacks-core-font-code
Provides only the default font for the language.
langpacks-code
Provides the complete language support, including the following in addition to the basic language
support:
Translations
Additional fonts
The following Motif packages have been deprecated, including their development and debugging
variants:
motif
openmotif
openmotif21
openmotif22
Red Hat recommends using the GTK toolkit as a replacement. GTK is more maintainable and provides
new features compared to Motif.
19
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
bitmap-console-fonts
bitmap-fixed-fonts
bitmap-fonts-compat
bitmap-lucida-typewriter-fonts
Red Hat has decided to remove these fonts because bitmap fonts have a limited pixel size. When you try
to set a font size that is unavailable, the text might display in a different size or a different font, possibly
a scalable one. This also decreases the rendering quality of bitmap fonts and disrupts the user
experience.
Additionally, the fontconfig system ignores the Portable Compiled Format (PCF), one of the major
bitmap font formats, because it contains no metadata to estimate the language coverage.
Note that the bitmap-fangsongti-fonts bitmap font package continues to be available to support the
Lorax tool.
Note also that the login options button (⚙) is now located in the lower-right corner of the screen.
TigerVNC is deprecated
The TigerVNC remote desktop solution is now deprecated. It will be removed in a future major RHEL
release and replaced by a different remote desktop solution.
TigerVNC provides the server and client implementation of the Virtual Network Computing (VNC)
protocol in RHEL 9.
tigervnc
tigervnc-icons
tigervnc-license
tigervnc-selinux
tigervnc-server
tigervnc-server-minimal
tigervnc-server-module
20
CHAPTER 9. DYNAMIC PROGRAMMING LANGUAGES, WEB SERVERS, DATABASE SERVERS
Node.js 16
Perl 5.32
PHP 8.0
Python 3.9
Ruby 3.0
Git 2.31
Subversion 1.14
nginx 1.20
Squid 5.2
MariaDB 10.5
MySQL 8.0
PostgreSQL 13
Redis 6.2
Some additional Application Stream versions will be distributed as modules with a shorter life cycle in
future minor RHEL 9 releases.
21
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
The unversioned form of the python command (/usr/bin/python) is available in the python-
unversioned-command package. On some systems, this package is not installed by default. To install
the unversioned form of the python command manually, use the dnf install /usr/bin/python command.
In RHEL 9, the unversioned form of the python command points to the default Python 3.9 version and
it is an equivalent to the python3 and python3.9 commands. In RHEL 9, you cannot configure the
unversioned command to point to a different version than Python 3.9.
The python command is intended for interactive sessions. In production, it is recommended to use
python3, python3.9, or python3.11 explicitly.
You can uninstall the unversioned python command by using the dnf remove /usr/bin/python
command.
If you need a different python or python3 command, you can create custom symlinks in /usr/local/bin
or ~/.local/bin, or use a Python virtual environment.
Several other unversioned commands are available, such as /usr/bin/pip in the python3-pip package. In
RHEL 9, all unversioned commands point to the default Python 3.9 version.
Architecture-specific Python wheels built on RHEL 9 newly adhere to the upstream architecture
naming, which allows customers to build their Python wheels on RHEL 9 and install them on non-RHEL
systems. Python wheels built on previous releases of RHEL are forward compatible and can be installed
on RHEL 9. Note that this affects only wheels containing Python extensions, which are built for each
architecture, not Python wheels with pure Python code, which is not architecture-specific.
The libdb package is deprecated as of RHEL 9 and might not be available in future major RHEL releases.
Cryptographic algorithms have been removed from libdb in RHEL 9. Multiple libdb dependencies have
been removed from RHEL 9.
Users of libdb are advised to migrate to a different key-value database. For more information, see the
Knowledgebase article Available replacements for the deprecated Berkeley DB (libdb) in RHEL .
22
CHAPTER 10. EDGE
Support to file system customization for the simplified-installer and raw images
You can add file system customizations to a blueprint when building the the following image types:
simplified-installer
edge-raw-image
edge-ami
edge-vsphere
Ability to add SQL backend for storing and querying FDO Owner Vouchers as Technology
Preview
With this Technology Preview, you can select an SQL datastore in the FDO servers options, along with
credentials and other parameters, to store the Owner Vouchers for the following FDO servers: You can
add file system customizations to a blueprint when building the the following image types:
manufacturer-server
onboarding-server
rendezvous-server
edge-installer
edge-simplified-installer
simplified-installer
edge-raw-image
edge-ami
edge-vsphere
You can also build RHEL for RHEL for Edge VMDK images, customize the blueprint with Ignition to inject
23
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
You can also build RHEL for RHEL for Edge VMDK images, customize the blueprint with Ignition to inject
the credentials into the image during the initial boot, and load the image on vSphere and boot the
image in a VM vSphere.
Support for RHEL for Edge minimal raw image that boots on 64-bit ARM architectures
The RHEL for Edge minimal raw image type now supports the 64-bit ARM architecture, and AMD and
Intel 64-bit architectures.
rhel9/fdo-manufacturing-server
rhel9/fdo-owner-onboarding-server
rhel9/fdo-rendezvous-server
rhel9/fdo-serviceinfo-api-server
RHEL for Edge Simplified images have support to the Ignition provisioning utility
You can customize your blueprints configuration with the Ignition provisioning utility to create your
RHEL for Edge images. The Ignition injects the user configuration into the images at an early stage of
the boot process. During the first boot into the system, the Ignition utility reads its configuration either
from a remote URL or a file embedded in the Simplified Installer image and applies that configuration
into the image.
Support to specify the user configuration directly in blueprints for the following images:
FDO images
Ignition images
You can create RHEL for Edge Simplified Installer images with RHEL image builder GUI
Previously, the Simplified Installer images could be created only by using the command-line interface.
Support for automatic provisioning and onboarding RHEL for Edge images using FDO
You have support for automatic provisioning and onboarding RHEL for Edge images using the FDO
(FIDO device onboarding) process. With this, you can build a RHEL for Edge Simplified Installer image,
provision it to a RHEL for Edge image. Then, you can use the FDO process to automatically provision
and onboard your Edge devices, exchange data with other devices and systems connected on the
networks.
24
CHAPTER 10. EDGE
Support to auto-rollbacks
The health checks run during the boot process and can determine if the nodes are functioning properly.
If the health checks fail, a counter tracks the number of attempts and the node uses rpm-ostree to
rollback the update. Podman automatically rollbacks the container if a new application version exits
when the update fails.
Minimal RHEL 8 install Minimal RHEL 9 install Minimal RHEL 9 install (with
firmware & Podman)
edge-commit
edge-container
25
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
edge-installer
26
CHAPTER 11. FILE SYSTEMS AND STORAGE
As a result of this update, filesystems created with default mkfs.xfs parameters will not be mountable
on RHEL 8 systems.
To create a new filesystem that will be compatible with the RHEL 8 kernel, disable these new features by
adding -m bigtime=0,inobtcount=0 to the mkfs.xfs command line. A filesystem created in this way will
not support timestamps beyond the year 2038.
A filesystem created in RHEL 8 which does not support these features may be upgraded using the
xfs_admin utility on the unmounted block device containing the filesystem. It is recommended to check
the filesystem for consistency prior to this operation. The command will also cause an xfs_repair to be
run on the device after the change.
27
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
GFS2 file systems are now created with format version 1802
GFS2 file systems in RHEL 9 are created with format version 1802. This enables the following features:
Extended attributes in the trusted namespace ("trusted.* xattrs") are recognized by gfs2 and
gfs2-utils.
The rgrplvb option is active by default. This allows gfs2 to attach updated resource group data
to DLM lock requests, so the node acquiring the lock does not need to update the resource
group information from disk. This improves performance in some cases.
File systems created with the new format version will not be able to be mounted under earlier RHEL
versions and older versions of the fsck.gfs2 utility will not be able to check them.
Users can create a file system with the older format version by running the mkfs.gfs2 command with
the option -o format=1801.
Users can upgrade the format version of an older file system running tunegfs2 -r 1802 device on an
unmounted file system. Downgrading the format version is not supported.
Options in Samba utilities have been renamed and removed for a consistent user
experience
The Samba utilities have been improved to provide a consistent command-line interface. These
improvements include renamed and removed options. Therefore, to avoid problems after the update,
review your scripts that use Samba utilities, and update them, if necessary.
Several command-line options now have a corresponding smb.conf variable to control their
default value. See the man pages of the utilities to identify if a command-line option has an
smb.conf variable name.
By default, Samba utilities now log to standard error (stderr). Use the --debug-stdout option to
change this behavior.
--kerberos to --use-kerberos=required|desired|off
--krb5-ccache to --use-krb5-ccache=CCACHE
--scope to --netbios-scope=SCOPE
--use-ccache to --use-winbind-ccache
-e and --encrypt
28
CHAPTER 11. FILE SYSTEMS AND STORAGE
-S and --signing
To avoid duplicate options, certain options have been removed or renamed from the following
utilities:
Due to lack of users, the cramfs kernel module is removed. squashfs is recommended as an alternative
solution.
To administer Stratis storage, use the stratis utility, which communicates with the stratisd background
service.
For more information, see the Stratis documentation: Setting up Stratis file systems.
Reflinked files are now generally compatible with DAX mode. The file system DAX mount option -o
29
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Reflinked files are now generally compatible with DAX mode. The file system DAX mount option -o
dax=always is compatible with reflink-enabled file systems. Files that were reflinked can be set to DAX
mode using inode flags. For more information see the xfs(5) man page on your system.
11.2. STORAGE
NVMe-FC Boot from SAN is now fully supported
The Non-volatile Memory Express (NVMe) over Fibre Channel (NVMe/FC) Boot, which was introduced
in Red Hat Enterprise Linux 9.2 as a Technology Preview, is now fully supported. Some NVMe/FC host
bus adapters support a NVMe/FC boot capability. For more information on programming a Host Bus
Adapter (HBA) to enable NVMe/FC boot capability, see the NVMe/FC host bus adapter manufacturer’s
documentation.
The dm-verity target now supports forward error correction (FEC). With FEC, you can use pre-
generated error correction data to recover from corrupted blocks.
The default kernel setting for the nvme_core.multipath option is now set to Y, which means that native
NVMe multipathing is enabled.
30
CHAPTER 11. FILE SYSTEMS AND STORAGE
To administer Stratis storage, use the stratis utility, which communicates with the stratisd background
service.
For more information, see the Stratis documentation: Setting up Stratis file systems.
31
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
PCI device IDs are in the format of vendor:device:subvendor:subdevice. If no device ID is listed, all
devices associated with the corresponding driver are unmaintained. To check the PCI IDs of the
hardware on your system, run the lspci -nn command.
arp_tabl
es
dl2k
hdlc_fr
hfi1
ip_set
ip_table
s
ip6_tabl
es
32
CHAPTER 12. HARDWARE ENABLEMENT
33
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
nft_com
pat
nfp
rdma_rx
e
34
CHAPTER 12. HARDWARE ENABLEMENT
siw
usnic_ve
rbs
vmw_pvr
dma
PCI device IDs are in the format of vendor:device:subvendor:subdevice. If no device ID is listed, all
devices associated with the corresponding driver are unmaintained. To check the PCI IDs of the
hardware on your system, run the lspci -nn command.
Soft-RoCE (rdma_rxe)
ppc64le:ibm:4d Power8
:*
ppc64le:ibm:4b Power8E
:*
ppc64le:ibm:4c: Power8NVL
*
35
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
s390x:ibm:296 z13
4:*
s390x:ibm:296 z13s
5:*
36
CHAPTER 13. HIGH AVAILABILITY AND CLUSTERS
The pcs commands that support the clufter tool for analyzing cluster configuration formats have been
removed. The following commands have been removed:
pcs config export for exporting cluster configuration to a list of pcs commands which recreate
the same cluster
The pcs command-line interface now supports OCF 1.1 resource and STONITH agents. As part of the
implementation of this support, any agent’s metadata must comply with the OCF schema, whether the
agent is an OCF 1.0 or OCF 1.1 agent. If an agent’s metadata does not comply with the OCF schema, pcs
considers the agent invalid and will not create or update a resource of the agent unless the --force
option is specified. The pcsd Web UI and pcs commands for listing agents now omit agents with invalid
metadata from the listing.
New pcs parsing requires meta keyword when specifying clone meta attributes
To ensure consistency in the pcs command format, configuring clone meta attributes with the pcs
resource clone, pcs resource promotable, and pcs resource create commands without specifying
the meta keyword is now deprecated.
Previously, the meta keyword was ignored in the pcs resource clone and pcs resource promotable
commands. In the pcs resource create command, however, the meta attributes specified after the
meta keyword when it followed the clone keyword were assigned to the resource rather than to the
clone. With this updated parsing algorithm, meta attributes specified after the meta keyword when it
follows the clone keyword are assigned to the clone. To maintain compatibility with existing scripts
which rely on the older format, you must specify the --future command option to enable this new
argument processing when creating a cloned resource with the pcs resource create command.
The following command now creates a resource with the meta attribute mv=v1 and a clone with the
meta attribute mv=v2:
pcs resource create dummy1 ocf:pacemaker:Dummy meta m1=v1 clone meta m2=v2 --future
37
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Users can use existing tools and scripts even if the IdM API is enhanced to enable multiple versions of
API commands. These enhancements do not change the behavior of a command in an incompatible way.
This has the following benefits:
Administrators can use previous or later versions of IdM on the server than on the managing
client.
Developers can use a specific version of an IdM call, even if the IdM version changes on the
server.
The communication with the server is possible, regardless if one side uses, for example, a newer version
that introduces new options for a feature.
NOTE
While IdM API provides a JSON-RPC interface, this type of access is not supported. Red Hat
recommends accessing the API with Python instead. Using Python automates important parts such
as the metadata retrieval from the server, which allows listing all available commands.
38
CHAPTER 14. IDENTITY MANAGEMENT
To retrieve user and group information from local files with SSSD:
a. Explicitly configure a local domain with the id_provider=files option in the sssd.conf
configuration file.
[domain/local]
id_provider=files
...
b. Enable the files provider by setting the enable_files_domain=true option in the sssd.conf
configuration file.
[sssd]
enable_files_domain = true
3. To restore caching and synchronization of user information, enable the integration between
shadow-utils and sssd_cache by creating a symbolic link:
# ln -s /usr/sbin/sss_cache /usr/sbin/sss_cache_shadow_utils
New realm configuration template for KDC enabling FIPS 140-3-compliant key encryption
This update provides a new, EXAMPLE.COM, example realm configuration in the
/var/kerberos/krb5kdc/kdc.conf file. It brings two changes:
The FIPS 140-3-compliant AES HMAC SHA-2 family is added to the list of supported types for
key encryption.
The encryption type of the KDC master key is switched from AES 256 HMAC SHA-1 to AES
256 HMAC SHA-384.
WARNING
This update is about standalone MIT realms. Do not change the Kerberos
Distribution Center (KDC) configuration in RHEL Identity Management.
Using the new configuration template is recommended for new realms. The template does not affect
any realm already deployed. If you are planning to upgrade the configuration of your realm according to
the template, consider the following points:
For upgrading the master key, changing the setting in the KDC configuration is not enough. Follow the
process described in the MIT Kerberos documentation.
Adding the AES HMAC SHA-2 family to the supported types for key encryption is safe at any point
39
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
because it does not affect existing entries in the KDC. Keys will be generated only when creating new
principals or when renewing credentials. Note that keys of this new type cannot be generated based on
existing keys. To make these new encryption types available for a certain principal, its credentials have
to be renewed, which means renewing keytabs for service principals too.
The only case where principals should not feature an AES HMAC SHA-2 key is the Active Directory
(AD) cross-realm ticket-granting ticket (TGT) ones. Because AD does not implement RFC8009, it does
not use the AES HMAC SHA-2 encryption types family. Therefore, a cross-realm TGS-REQ using an
AES HMAC SHA-2-encrypted cross-realm TGT would fail. The best way to keep the MIT Kerberos
client from using AES HMAC SHA-2 against AD is to not provide AES HMAC SHA-2 keys for the AD
cross-realm principals. To do so, ensure that you create the cross-realm TGT entries with an explicit list
of key encryption types that are all supported by AD:
kadmin.local <<EOF
add_principal +requires_preauth -e aes256-cts-hmac-sha1-96,aes128-cts-hmac-sha1-96 -pw
[password] krbtgt/[MIT realm]@[AD realm]
add_principal +requires_preauth -e aes256-cts-hmac-sha1-96,aes128-cts-hmac-sha1-96 -pw
[password] krbtgt/[AD realm]@[MIT realm]
EOF
To ensure the MIT Kerboros clients use the AES HMAC SHA-2 encryption types, you must also set
these encryption types as permitted in both the client and the KDC configuration. On RHEL, this setting
is managed by the crypto-policy system. For example, on RHEL 9, hosts using the DEFAULT crypto-
policy allow AES HMAC SHA-2 and AES HMAC SHA-1 encrypted tickets, while hosts using the FIPS
crypto-policy only accept AES HMAC SHA-2 ones.
To enable the previous behavior of serialization, set the environment variable SSS_LOCKFREE to NO.
ansible-freeipa now additionally provides the roles and modules as an Ansible collection in
the ansible-freeipa-collection subpackage
To use the new collection:
2. Add the freeipa.ansible_freeipa prefix to the names of roles and modules. Use the fully-
qualified names to follow Ansible recommendations. For example, to refer to the ipahbacrule
module, use freeipa.ansible_freeipa.ipahbacrule.
You can simplify the use of the modules that are part of the freeipa.ansible_freeipa collection by
applying module_defaults.
40
CHAPTER 14. IDENTITY MANAGEMENT
development or staging environment into a production one or when migrating IdM data between two
production servers.
To work around the problem, generate SIDs by running the following command as an IdM administrator
on another IdM replica in the topology:
Afterward, if users still cannot log in, examine the Directory Server error log. You might have to adjust ID
ranges to include user POSIX identities.
Adding a RHEL 9 replica in FIPS mode to an IdM deployment in FIPS mode that was
initialized with RHEL 8.6 or earlier fails
The default RHEL 9 FIPS cryptographic policy aiming to comply with FIPS 140-3 does not allow the use
of the AES HMAC-SHA1 encryption types' key derivation function as defined by RFC3961, section 5.1.
This constraint does not allow you to add a RHEL 9 IdM replica in FIPS mode to a RHEL 8 IdM
environment in FIPS mode in which the first server was installed on a RHEL 8.6 or earlier systems. This is
because there are no common encryption types between RHEL 9 and the previous RHEL versions, which
commonly use the AES HMAC-SHA1 encryption types but do not use the AES HMAC-SHA2 encryption
types. For more information, see the AD Domain Users unable to login in to the FIPS-compliant
environment KCS solution.
NOTE
Previously in RHEL 8.5 and earlier, before installing the ansible-freeipa package, you first had to enable
the Ansible repository and install the ansible package. In RHEL 9, you can install ansible-freeipa
without any preliminary steps. Installing ansible-freeipa automatically installs ansible-core as a
dependency. Both packages are available in the rhel-9-for-x86_64-appstream-rpms repository.
ansible-freeipa in RHEL 9 contains all the modules that it contained in RHEL 8.5 and earlier.
Clustered Samba packages are now available from the Resilient Storage and Gluster
Samba Repository
The ctdb clustered Samba packages are now available from the Resilient Storage and Gluster Samba
41
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
The ctdb clustered Samba packages are now available from the Resilient Storage and Gluster Samba
Repository. Previously in RHEL 8, clustered Samba packages were available from the BaseOS
repository.
hosts databases
networks databases
services databases
nss_nis
yp-tools
ypbind
ypserv
There is no direct replacement with fully compatible features because the NIS technology is based on
outdated design patterns and is no longer considered secure.
Red Hat recommends using RHEL Identity Management and SSSD instead.
By default, the SSSD ldap and ipa providers read the sshPublicKey LDAP attribute of the user object,
if available. Note that you cannot use the default SSSD configuration for the ad provider or IdM trusted
domains to retrieve SSH public keys from Active Directory (AD), since AD does not have a default LDAP
attribute to store a public key.
To allow the sss_ssh_authorizedkeys helper to get the key from SSSD, enable the ssh responder by
adding ssh to the services option in the sssd.conf file. See the sssd.conf(5) man page for details.
To allow sshd to use sss_ssh_authorizedkeys, add the following options to the /etc/ssh/sshd_config
file as described by the sss_ssh_authorizedkeys(1) man page:
AuthorizedKeysCommand /usr/bin/sss_ssh_authorizedkeys
AuthorizedKeysCommandUser nobody
The custodia package has been integrated into Red Hat Identity Management in RHEL 9 and is no
42
CHAPTER 14. IDENTITY MANAGEMENT
The custodia package has been integrated into Red Hat Identity Management in RHEL 9 and is no
longer shipped as a separate service.
NOTE
The PAM authentication module and other authentication modules that are provided as
part of the base package are not affected.
You can find replacements for the removed modules in community-supported packages, for example in
the Fedora project.
In addition, the scope of support for the freeradius package is now limited to the following use cases:
Using FreeRADIUS to provide a source-of-truth for authentication in IdM, through the Python
3 authentication package.
In contrast to these removals, Red Hat is now strengthening its support of the following external
authentication modules with FreeRADIUS:
Python 3 authentication
The focus on these integration options is in close alignment with the strategic direction of Red Hat IdM.
43
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
The mod_php module provided with PHP for use with the Apache HTTP Server has been
removed
The mod_php module provided with PHP for use with the Apache HTTP Server is no longer available in
RHEL 9.
Since RHEL 8, PHP scripts are run using the FastCGI Process Manager (php-fpm) by default. For more
information, see Using PHP with the Apache HTTP Server .
Added support for DNS over TLS (DoT) and DNS over HTTPS (DoH) in the `named`daemon
Added support for both incoming and outgoing zone transfers over TLS
New configuration options for tuning TCP and UDP send and receive buffers
44
CHAPTER 16. INSTALLER AND IMAGE CREATION
16.1. INSTALLER
Anaconda activates network automatically for interactive installations
Anaconda now activates the network automatically when performing interactive installation, without
requiring users to manually activate it in the network spoke. This update does not change the installation
experience for Kickstart installations and installations using the ip= boot option.
New options to Lock root account and Allow root SSH login with password
RHEL 9 adds following new options to the root password configuration screen:
Allow root SSH login with password: To enable password-based SSH root logins.
During Kickstart installations, you can enable root access via SSH with password by using the --allow-
ssh option of the rootpw Kickstart command. For more information, see rootpw (required).
Licensing, system, and user setting configuration screens have been disabled post
standard installation
Previously, RHEL users configured Licensing, System (Subscription manager), and User Settings prior
to gnome-initial-setup and login screens. Starting with RHEL 9, the initial setup screens have been
disabled by default to improve user experience. If you must run the initial setup for user creation or
license display, install the following packages based on the requirements.
For Kickstart installations, add initial-setup-gui to the packages section and enable the initial-setup
service.
firstboot --enable
%packages
@^graphical-server-environment
initial-setup-gui
%end
The rhsm command for machine provisioning through Kickstart for Satellite is now
available
The rhsm command replaces the %post scripts for machine provisioning on RHEL 9. The rhsm
45
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
The rhsm command replaces the %post scripts for machine provisioning on RHEL 9. The rhsm
command helps with all provisioning tasks such as registering the system, attaching RHEL subscriptions,
and installing from a Satellite instance.
Support for Anaconda boot arguments without inst. prefix is no longer available
Anaconda boot arguments without the inst. prefix have been deprecated since RHEL 7. Support for
these boot arguments has been removed in RHEL 9. To continue using these options, use the inst.
prefix
For example, to force the installation program to run in the text mode instead of the graphical mode,
use the following option:
inst.text
device
deviceprobe
dmraid
multipath
bootloader --upgrade
ignoredisk --interactive
partition --active
harddrive --biospart
autostep
Where only specific options and values are listed, the base command and its other options are still
available and not removed.
inst.zram
RHEL 9 does not support the zram service. See the zram-generator(8) man page for more
information.
46
CHAPTER 16. INSTALLER AND IMAGE CREATION
inst.singlelang
The single language mode is not supported on RHEL 9.
inst.loglevel
The log level is always set to debug.
When you build an image from the blueprint customized with tailoring file for scap security profile, it
creates a tailoring file with a new tailoring profile ID and saves it to the image as
/usr/share/xml/osbuild-oscap-tailoring/tailoring.xml. The new profile ID will have _osbuild_tailoring
appended as a suffix to the base profile, for example,
xccdf_org.ssgproject.content_profile_cis_osbuild_tailoring, if you use the cis base profile.
AWS EC2 images now support both BIOS and UEFI boot
This update extends the AWS EC2 AMD or Intel 64-bit architecture .ami images created by RHEL
image builder to support UEFI boot, in addition to the legacy BIOS boot.
A new and improved way to create blueprints and images in the RHEL image builder web
console
With the new unified version of the image builder tool, you can much more easily create blueprints and
images. Notable enhancements include the following:
You can now use all the customizations previously supported only in the command-line
interface, such as kernel, file system, firewall, locale, and other customizations, in the image
builder web console.
You can import, export, and save blueprints in the .JSON or .TOML format.
47
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
You can set the`mountpoint` and minimum partition minsize entries in the blueprint.
image-installer
edge-installer
edge-simplified-installer
The following image types do not create partitioned operating systems images.
edge-commit
edge-container
tar
container
Customizing the filesystem of such images has no result.
The blueprint now supports the mountpoint customization for the tpm directory and its sub-
directories.
RHEL image builder supports creating customized files and directories in the /etc directory
With the new`[[customizations.files]]` and the [[customizations.directories]] blueprint
customizations, you can create customized files and directories in the /etc image directory. Currently,
these customizations are only available in the /etc directory. You can use the customizations for all
available image types, except image types that deploy OSTree commits, such as:
edge-raw-image
edge-installer
edge-simplified-installer
.vhd images built with RHEL image builder now have support for 64-bit ARM
You can now build .vhd images using image builder and upload them to the Microsoft Azure cloud.
As of Red Hat Enterprise Linux 9.0, Image Builder provides support for users to specify a custom
48
CHAPTER 16. INSTALLER AND IMAGE CREATION
As of Red Hat Enterprise Linux 9.0, Image Builder provides support for users to specify a custom
filesystem configuration in blueprints to create images with a specific disk layout, instead of using the
default layout configuration.
49
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
If the memory reserved by the default crashkernel value is not sufficient on your system, you can
increase the crashkernel parameter using the default value as a reference.
$ kdumpctl get-default-crashkernel
Note that the crashkernel=auto option in the boot command line is no longer supported on RHEL 9
and later releases.
Note that for applications that require support for TPM 1.2, Red Hat recommends that you use RHEL 8.
Dynamic preemptive scheduling enabled on ARM, AMD, and Intel 64-bit architectures
Using Dynamic Scheduling, you can change the preemption mode of the kernel at boot or runtime
instead of compile time. With dynamic preemptive handling, you can override the default preemption
model to improve scheduling latency.
The /sys/kernel/debug/sched/preempt file contains the current setting that supports runtime
modification. Using the DYNAMIC_PREEMPT option, set the preempt= variable at boot to either none,
voluntary or full. The voluntary preemption is the default.
50
CHAPTER 17. KERNEL
Specify CPUs and sets of CPUs with the CPU or the socket number.
By using the tuna -h command, you can print the command line arguments and their corresponding
options. For each command, there are optional arguments, which you can view with the tuna
[command] -h command.
For more information see, Optimizing RHEL 9 for Real Time for low latency operation .
In RHEL 8, the default control group was cgroups v1, and you could specify CPU bandwidth for
realtime tasks on a per cgroup basis by using control files, for example,
/sys/fs/cgroup/cpu,cpuacct/cpu.rt_period_us and /sys/fs/cgroup/cpu,cpuacct/cpu.rt_runtime_us.
However, in RHEL 9, the CONFIG_RT_GROUP_SCHED kernel configuration option is disabled because
cgroups v2 is the default control group and the equivalent control files do not exist for the cgroups v2
CPU controller. Note that the /proc/sys/kernel/sched_rt_runtime_us and
/proc/sys/kernel/sched_rt_period_us global settings are still available, and you can use them with the
stalld background process to prevent CPU time starvation.
The 64k page size kernel is a useful option for large datasets on ARM platforms. It enables better
performance for some types of memory- and CPU-intensive operations.
You must choose page size on 64-bit ARM architecture systems at the time of installation. You can
install kernel-64k only by Kickstart by adding the kernel-64k package to the package list in the
Kickstart file.
For more information about installing kernel-64k, see Installing Kernel-64k on ARM .
The control groups version 2 (cgroup-v2) feature implements a single hierarchy model that simplifies
the management of control groups. Also, it ensures that a process can only be a member of a single
control group at a time. Deep integration with systemd improves the end-user experience when
configuring resource control on a RHEL system.
Development of new features is mostly done for cgroup-v2, which has some features that are missing in
cgroup-v1. Similarly, cgroup-v1 contains some legacy features that are missing in cgroup-v2. Also, the
control interfaces are different. Therefore, third party software with direct dependency on cgroup-v1
may not run properly in the cgroup-v2 environment.
51
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
To use cgroup-v1, you need to add the following parameters to the kernel command-line:
systemd.unified_cgroup_hierarchy=0
systemd.legacy_systemd_cgroup_controller
NOTE
Both cgroup-v1 and cgroup-v2 are fully enabled in the kernel. There is no default control
group version from the kernel point of view, and is decided by systemd to mount at
startup.
IMPORTANT
Partners and independent software vendors (ISVs) should test their kernel modules with
an early version of RHEL 9 to ensure their compliance with GPL.
To isolate tasks that need a whole core. For example for tasks in real-time environments, or for
tasks that rely on specific processor features such as Single Instruction, Multiple Data (SIMD)
processing
52
CHAPTER 17. KERNEL
To disable this function and configure the boot loader menu to display by default, use the following
command:
This change simplifies the layout of the GRUB configuration file, improves user experience, and
provides the following notable benefits:
You can boot the same installation with either EFI or legacy BIOS.
You can use the same documentation and commands for all architectures.
GRUB configuration tools are more robust, because they no longer rely on symbolic links and
they do not have to handle platform-specific cases.
The usage of the GRUB configuration files is aligned with images generated by CoreOS
Assembler (COSA) and OSBuild.
The usage of the GRUB configuration files is aligned with other Linux distributions.
grub2-efi-ia32
grub2-efi-ia32-cdboot
grub2-efi-ia32-modules
shim-ia32
53
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
18.1. KERNEL
WireGuard VPN is available as a Technology Preview
WireGuard, which Red Hat provides as an unsupported Technology Preview, is a high-performance VPN
solution that runs in the Linux kernel. It uses modern cryptography and is easier to configure than other
VPN solutions. Additionally, the small code-basis of WireGuard reduces the surface for attacks and,
therefore, improves the security.
The IEC 62439-3 standard defines these protocols, and you can use this feature to configure zero-loss
redundancy in Ethernet networks.
Red Hat focuses its efforts on kernel-based bonding to avoid maintaining two features, bonds and
teams, that have similar functions. The bonding code has a high customer adoption, is robust, and has an
active community development. As a result, the bonding code receives enhancements and updates.
For details about how to migrate a team to a bond, see Migrating a network team configuration to
54
CHAPTER 18. NETWORKING
For details about how to migrate a team to a bond, see Migrating a network team configuration to
network bond.
18.3. NETWORKMANAGER
NetworkManager stores new network configurations in a key file format
Previously, NetworkManager stored new network configurations to /etc/sysconfig/network-scripts/ in
the ifcfg format. Starting with RHEL 9.0, RHEL stores new network configurations at
/etc/NetworkManager/system-connections/ in a key file format. The connections for which the
configurations are stored to /etc/sysconfig/network-scripts/ in the old format still work uninterrupted.
Modifications in existing profiles continue updating the older files.
If Red Hat adds support for more connection profile properties, note that these properties work only in
profiles in keyfile format.
Instead of the default internal DHCP library, NetworkManager in RHEL 9 can be configured to use a
DHCP client from the dhclient package. The option to use dhclient is now deprecated and results in a
warning displayed at the NetworkManager startup. We recommend that you switch to the internal DHCP
library. In RHEL 10, dhclient is no longer available and the applications configured to use dhclient now
use the internal DHCP library instead.
18.4. MPTCP
The mptcpd service is available
With this update the mptcpd service is available for usage. It is a user space based MPTCP path
manager with integrated mptcpize tool.
The mptcpd service provides the simplified automatic configuration of the MPTCP`paths. It benefits
with better reliability of the `MPTCP socket in case of network failure or reconfiguration.
Now you can use the mptcpize tool to enable the MPTCP protocol on the existing systemd units
without additional external dependencies.
18.5. FIREWALL
The ipset and iptables-nft packages have been deprecated
The ipset and iptables-nft packages have been deprecated in RHEL. The iptables-nft package
contains different tools such as iptables, ip6tables, ebtables and arptables. These tools will no longer
receive new features and using them for new deployments is not recommended. As a replacement, it is
recommended to use the nft command line tool provided by the nftables package. Existing setups
should migrate to nft when possible.
For more information about migrating to nftables, see Migrating from iptables to nftables , as well as the
iptables-translate(8) and ip6tables-translate(8) man pages.
55
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
RHEL 8 contained the unsupported xt_u32 module, which enabled iptables users to match arbitrary 32
bits in the packet header or payload. This module has been removed from RHEL 9. As a replacement,
use the nftables packet filtering framework. If no native match exists in nftables, use the raw payload
matching feature of nftables. For details, see the raw payload expression section in the nft(8) man
page on your system.
Data Encryption Standard (DES) algorithm is not available for net-snmp communication in
Red Hat Enterprise Linux 9
In previous versions of RHEL, DES was used as an encryption algorithm for secure communication
between net-snmp clients and servers. In RHEL 9, the DES algorithm isn’t supported by the OpenSSL
library. The algorithm is marked as insecure and hence the DES support for net-snmp has been
removed.
56
CHAPTER 19. PERFORMANCE
This feature is currently opt-in via the PCP_ARCHIVE_VERSION setting in the /etc/pcp.conf
file.
2. Only OpenSSL is used throughout PCP. Mozilla NSS/NSPR use has been dropped:
This impacts libpcp, PMAPI clients and PMCD use of encryption. These elements are now
configured and used consistently with pmproxy HTTPS support and redis-server, which were
both already using OpenSSL.
3. New nanosecond precision timestamp PMAPI calls for PCP library interfaces that make use of
timestamps.
These are all optional, and full backward compatibility is preserved for existing tools.
pcp2elasticsearch
Implemented authentication support.
pcp-dstat
Implemented support for the top-alike plugins.
pcp-htop
Updated to the latest stable upstream release.
pmseries
Added sum, avg, stdev, nth_percentile, max_inst, max_sample, min_inst and
min_sample functions.
pmdabpf
Added CO-RE (Compile Once - Run Everywhere) modules and support for AMD64, Intel
64-bit, 64-bit ARM, and IBM Power Systems.
pmdabpftrace
Moved example autostart scripts to the /usr/share directory.
pmdadenki
Added support for multiple active batteries.
pmdalinux
Updates for the latest /proc/net/netstat changes.
57
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
pmdaopenvswitch
Added additional interface and coverage statistics.
pmproxy
Request parameters can now be sent in the request body.
pmieconf
Added several pmie rules for Open vSwitch metrics.
pmlogger_farm
Added a default configuration file for farm loggers.
pmlogger_daily_report
Some major efficiency improvements.
The sadf(1) tool now generates PCP archives from native sadc(1) archives
Starting in RHEL 9, the sadf(1) tool provided by the sysstat package can generate PCP archives from
native sadc(1) archives.
By default, when the - flag is used with sadc(1), sadc(1) writes the data to the standard system activity
daily data file. This file is named saDD and is located in the /var/log/sa directory by default. Conversely,
when no input datafile is specified, the sadf(1) tool uses the standard system activity daily data file to
generate archives. Pass numbers as an argument to tell sadf(1) to generate archives from data recorded
that specified number of days in the past.
To generate a PCP archive from an sadc(1) archive recorded 2 days ago, run:
# sadf -l -O pcparchive=/tmp/recording -2
To show a list of metrics in the PCP archive generated from an sadc(1) archive archive, run:
To show the timespace of the archive and hostname of the PCP archive generated from an
sadc(1) archive
You can then analyze the PCP archive generated from an sadc(1) archive by using PCP
commands, for example:
RHEL 9 is distributed with the pcp-pmda-bpf package, which provides the pmdabpf Performance Co-
58
CHAPTER 19. PERFORMANCE
RHEL 9 is distributed with the pcp-pmda-bpf package, which provides the pmdabpf Performance Co-
Pilot (PCP) Performance Metric Domain Agent (PMDA).
The pmdabpf PMDA extracts live performance data from eBPF programs utilizing BPF CO-RE
(Compile Once - Run Everywhere), that is libbpf and BTF.
59
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
For a complete list of profiles available in RHEL 9, see SCAP Security Guide profiles supported in RHEL
9.
To update your OVAL content, rewrite the affected SCAP content so that it uses filehash58_test
instead of filehash_test and use one of SHA-224, SHA-256, SHA-384, SHA-512 in the hash_type
element within filehash58_object.
OpenSCAP uses the data stream file instead of the XCCDF file
The SCAP source data stream file (ssg-rhel9-ds.xml) contains all the data that in previous versions of
RHEL were contained in the XCCDF file (ssg-rhel9-xccdf.xml). The SCAP source data stream is a
container file that includes all the components (XCCDF, OVAL, CPE) needed to perform a compliance
scan. Using the SCAP source data stream instead of XCCDF has been recommended since RHEL 7. In
previous versions of RHEL, the data in the XCCDF file and SCAP source data stream was duplicated. In
RHEL 9, this duplication is removed to reduce the RPM package size. If your scenario requires using
separate files instead of the data stream, you can split the data stream file by using this command: #
oscap ds sds-split /usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml output_directory.
If your scenario requires the use of SHA-1 for verifying existing or third-party cryptographic signatures,
you can enable it by entering the following command:
Alternatively, you can switch the system-wide crypto policies to the LEGACY policy. Note that LEGACY
60
CHAPTER 20. SECURITY
Alternatively, you can switch the system-wide crypto policies to the LEGACY policy. Note that LEGACY
also enables many other algorithms that are not secure. See the Re-enabling SHA-1 section in the RHEL
9 Security hardening document for more information.
For solutions of compatibility problems with systems that still require SHA-1, see the following KCS
articles:
Failed connection with SSH servers and clients that do not support the 'server-sig-algs'
extension
TLS older than version 1.2 (since RHEL 9, was < 1.0 in RHEL 8)
DTLS older than version 1.2 (since RHEL 9, was < 1.0 in RHEL 8)
DH with parameters < 2048 bits (since RHEL 9, was < 1024 bits in RHEL 8)
RSA with key size < 2048 bits (since RHEL 9, was < 1024 bits in RHEL 8)
ARIA
SEED
IDEA
AES-CCM8
61
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
WARNING
If your scenario requires a policy that has been disabled, you can enable it by
applying a custom cryptographic policy or by an explicit configuration of individual
applications, but the resulting configuration will not be supported.
Changes to TLS
In RHEL 9, TLS configuration is performed using the system-wide cryptographic policies mechanism.
TLS versions below 1.2 are not supported anymore. DEFAULT, FUTURE and LEGACY cryptographic
policies allow only TLS 1.2 and 1.3. See Using system-wide cryptographic policies for more information.
The default settings provided by libraries included in RHEL 9 are secure enough for most deployments.
The TLS implementations use secure algorithms where possible while not preventing connections from
or to legacy clients or servers. Apply hardened settings in environments with strict security requirements
where legacy clients or servers that do not support secure algorithms or protocols are not expected or
allowed to connect.
The Extended Master Secret TLS Extension is now enforced on FIPS-enabled systems
With the release of the RHSA-2023:3722 advisory, the TLS Extended Master Secret (EMS) extension
(RFC 7627) is mandatory for TLS 1.2 connections on FIPS-enabled RHEL 9 systems. This is in
accordance with FIPS-140-3 requirements. TLS 1.3 is not affected.
Legacy clients that do not support EMS or TLS 1.3 now cannot connect to FIPS servers running on
RHEL 9. Similarly, RHEL 9 clients in FIPS mode cannot connect to servers that only support TLS 1.2
without EMS. This in practice means that these clients cannot connect to servers on RHEL 6, RHEL 7
and non-RHEL legacy operating systems. This is because the legacy 1.0.x versions of OpenSSL do not
support EMS or TLS 1.3.
WARNING
By default, SSH cannot connect from RHEL 9 systems to older systems (for
example, RHEL 6) or from older systems to RHEL 9. This is because the
cryptographic algorithms used in older versions are now considered insecure. If your
scenario requires connecting with older systems, you can either use the ECDSA and
ECDH algorithms as keys on the legacy system or use the legacy cryptographic
policy on the RHEL 9 system. For additional details, see the solutions SSH from
RHEL 9 to RHEL 6 systems does not work and Failed connection with SSH servers
and clients that do not support the server-sig-algs extension.
62
CHAPTER 20. SECURITY
Algorithm negotiations no longer support AES-128 ciphers, the secp256r1 elliptic curve, and the
FFDHE-2048 group.
Added a check on sshd startup whether using SHA-1 is configured on the system. If it is not
available, OpenSSH does not try to use SHA-1 for operations. This eliminates loading DSS keys
when they are present and also enforces advertising rsa-sha2 combinations when they are
available.
On SSH private key conversion, OpenSSH explicitly uses SHA-2 for testing RSA keys.
When SHA-1 signatures are unavailable on the server side, sshd uses SHA-2 to confirm host key
proof. This might be incompatible with clients on RHEL 8 and earlier versions.
When the SHA-1 algorithm is unavailable on the client side, OpenSSH uses SHA-2.
On the client side, OpenSSH permits SHA-2-based key proofs from the server when SHA-1 was
used in key proof request or when the hash algorithm is not specified (assuming default). This is
aligned with the already present exception for RSA certificates, and allows connecting by using
modern algorithms when supported.
WARNING
If you allow TLS 1.2 connections without EMS, your system no longer meets the
FIPS-140-3 requirements.
63
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
The cyrus-sasl package is now built without the libdb dependency, and the sasldb plugin uses the
GDBM database format instead of Berkeley DB. To migrate your existing Simple Authentication and
Security Layer (SASL) databases stored in the old Berkeley DB format, use the cyrusbdb2current tool
with the following syntax:
If your scenario requires interoperating with legacy systems without support for EMS or TLS 1.3, you can
apply the NO-ENFORCE-EMS system-wide cryptographic subpolicy. Such a change violates the FIPS-
140-3 requirements.
See the Updating NSS databases from DBM to SQLite procedure for detailed instructions.
Note that SHA-1 is disabled by the default system-wide cryptographic policy for all signatures in RHEL
9.
Sign or verify RSA signatures with RSA keys shorter than 1023 bits.
Encrypt or decrypt values with RSA key shorter than 1023 bits.
64
CHAPTER 20. SECURITY
The legacy extension system to OpenSSL, the ENGINE API, is not compatible with the new provider API.
Therefore, applications that depend on functionality provided by OpenSSL engines, such as the
openssl-pkcs11 and openssl-ibmca modules, cannot be used in FIPS mode.
esn=no
replay_window=32
The replay_window= option is necessary because a different mechanism uses ESN for anti-replay
protection with window sizes larger than 32.
20.3. SELINUX
Support for disabling SELinux through /etc/selinux/config has been removed
With the RHEL 9.0 release, support for disabling SELinux through the SELINUX=disabled option in the
/etc/selinux/config file has been removed from the kernel. When you disable SELinux only through
/etc/selinux/config, the system starts with SELinux enabled but with no policy loaded, and SELinux
security hooks remain registered in the kernel. This means that SELinux disabled by using
/etc/selinux/config still requires some system resources, and you should instead disable SELinux by
using the kernel command line in all performance-sensitive scenarios.
Furthermore, the Anaconda installation program and the corresponding man pages have been updated
to reflect this change. This change also enables read-only-after-initialization protection for the Linux
Security Module (LSM) hooks.
If your scenario requires disabling SELinux, add the selinux=0 parameter to your kernel command line.
See the Remove support for SELinux run-time disable Fedora wiki page for more information.
65
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
qat
systemd-pstore
boothd
fdo-manufacturing-server
fdo-rendezvous-server
fdo-client-linuxapp
fdo-owner-onboarding-server
As a result, these services do not run with the unconfined_service_t SELinux label anymore, and run
successfully in SELinux enforcing mode.
66
CHAPTER 21. SHELLS AND COMMAND-LINE TOOLS
As a replacement, use the systemd-coredump tool to log and store core dumps, which are
automatically generated files after a program crashes.
In addition, using this option might cause certain services started by systemd to produce SELinux AVC
denial messages and prevent other operations from being completed.
The dump utility from the dump package has been removed
The dump utility used for backup of file systems has been deprecated in Red Hat Enterprise Linux 8 and
is not available in RHEL 9.
In RHEL 9, Red Hat recommends using the tar, or dd as a backup tool for ext2, ext3, and ext4 file
systems. The dump utility will be a part of the EPEL 9 repository.
Note that the restore utility from the dump package remains available and supported in RHEL 9 and is
available as the restore package.
If you relied on the /etc/cron.d/rear crontab to run rear mkrescue, you can manually configure periodic
runs of ReaR instead.
NOTE
67
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
NOTE
The rear package in RHEL contains the following examples for scheduling jobs:
Do not use these examples without site-specific modifications or other actions to take
updated backups for system recovery. You must take regular backups in addition to re-
creating the rescue image. The steps to take a backup depend on the local configuration.
If you run the rear mkrescue command without taking an updated backup at the same
time, the system recovery process would use a previous backup that might be
inconsistent with the saved layout.
cgroups is a kernel subsystem used for process tracking, system resource allocation and partitioning.
Systemd service manager supports booting in the cgroups v1 mode and in cgroups v2 mode. In Red
Hat Enterprise Linux 9, the default mode is v2. In the next major release, systemd will not support
booting in the cgroups v1 mode and only cgroups v2 mode will be available.
68
CHAPTER 22. SOFTWARE MANAGEMENT
Although RHEL 8 and RHEL 9 are based on DNF, they are compatible with YUM used in RHEL 7.
For more information, see Managing software with the DNF tool.
Example:
%__foo_provides() %{basename:%{1}}
Example:
Requires(meta): <pkgname>
It is now possible to compare arbitrary version strings in expressions by using the newly
69
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
It is now possible to compare arbitrary version strings in expressions by using the newly
supported v"…" format.
Example:
Example:
%bcond gnutls 1
%bcond bootstrap 0
The RPM database is now based on the sqlite library. Read-only support for BerkeleyDB
databases has been retained for migration and query purposes.
A new rpm-plugin-audit plug-in for issuing audit log events on transactions, previously built into
RPM itself
70
CHAPTER 22. SOFTWARE MANAGEMENT
There have been numerous improvements to the way the package build process is parallelized.
These improvements involve various buildroot policy scripts and sanity checks, file classification,
and subpackage creation and ordering. As a result, package builds on multiprocessor systems,
particularly for large packages, should now be faster and more efficient.
71
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Existing subscription-manager commands outside the new submodule are deprecated. The separate
package (python3-syspurpose) that provides the syspurpose command line tool has been removed in
RHEL 9.
This update provides a consistent way to view, set, and update all system purpose attributes using a
single command of subscription-manager. This command replaces all the existing system purpose
commands with their equivalent versions available as a new subcommand. For example, subscription-
manager role --set SystemRole becomes subscription-manager syspurpose role --set SystemRole
and so on.
For complete information about the new commands, options, and other attributes, see the
SYSPURPOSE OPTIONS section in the subscription-manager man page or Configuring system
purpose using the subscription manager command line tool.
In RHEL 9, the global options for the virt-who utility on your system are stored in the /etc/virt-who.conf
file. Therefore, the /etc/sysconfig/virt-who file is not being used any more, and has been removed.
72
CHAPTER 24. SYSTEM ROLES
With RHEL system roles, you can take advantage of a configuration interface to remotely manage
multiple RHEL systems. As an option to the traditional RHEL system roles format, you can benefit from
Ansible Collections, available in the Automation Hub only for Ansible Automation Platform Customers
or via RPM package, available for RHEL users.
The cockpit RHEL system role. You can automate the deployment and configuration of the web
console and, thus, be able to manage your RHEL systems from a web browser.
The ha_cluster RHEL system role, formerly presented as a Technology Preview, is now fully
supported.
The gfs2 RHEL system role, which creates Red Hat Global File System 2 (GFS2) file systems in
a Pacemaker cluster managed with the pcs command-line interface. Previously, setting up
GFS2 file systems in a supported configuration required you to follow a long series of steps to
configure the storage and cluster resources. The gfs2 role simplifies the process. Using the role,
you can specify only the minimum information needed to configure GFS2 file systems in a RHEL
high availability cluster.
The nbde_client RHEL system role now supports servers with static IP addresses.
The Microsoft SQL (microsoft.sql.server) role for Microsoft SQL Server. It simplifies and
automates the configuration of RHEL with recommended settings for MSSQL Server
workloads. Currently, the SQL Server does not support running on RHEL 9. You can only run the
role on a RHEL 9 control node to manage the SQL Server on RHEL 7 and RHEL 8.
The VPN RHEL system role, to configure VPN connections on RHEL systems by using Red Hat
Ansible Automation Platform. Users can use it to set up host-to-host, network-to-network, VPN
Remote Access Server, and Mesh configurations.
The IPMI modules, to automate hardware management interfaces available in the rhel_mgmt
Collection.
The keylime_server, to configure and deploy the server components for Keylime Remote
Attestation.
To learn more about the RHEL system roles, see the documentation title Administration and
configuration tasks using system roles in RHEL.
73
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
NOTE
As of Red Hat Enterprise Linux 9.0, the scope of support for Ansible Core in the RHEL
AppStream is limited to any Ansible playbooks, roles, and modules that are included with
or generated by a Red Hat product, such as RHEL system roles.
The deprecated --token option of the subscription-manager register command will stop
working at the end of November 2024
The default entitlement server, subscription.rhsm.redhat.com, will no longer be allowing token-based
authentication from the end of November 2024. As a result, the deprecated --token=<TOKEN> option
of the subscription-manager register command will no longer be a supported authentication method.
As a consequence, if you use subscription-manager register --token=<TOKEN>, the registration will
fail with the following error message:
To register your system, use other supported authorization methods, such as including paired options --
username / --password OR --org / --activationkey with the subscription-manager register
command.
RHEL system roles can be used to manage multiple different versions of RHEL
You can use RHEL system roles as a consistent interface to manage different versions of RHEL. This
can help to ease the transition between major versions of RHEL.
74
CHAPTER 25. VIRTUALIZATION
For details, see How virtualization on ARM 64 differs from AMD 64 and Intel 64 .
RHEL 9 still supports the pc-i440fx-rhel7.6.0 machine type. However, RHEL will remove support for all
i440x machine types in a future major update.
In addition, the monolithic libvirt daemon, libvirtd, has become deprecated. However, if you upgrade
from RHEL 8 to RHEL 9, your host will still use libvirtd, which you can continue using in RHEL 9.
Nevertheless, Red Hat recommends enabling modular libvirt daemons instead. For instructions, see the
Enabling modular libvirt daemons document.
Note, however, that if you switch to using modular libvirt daemons, pre-configured tasks that use
libvirtd will stop working.
75
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Note, however, that some commands and utilities might still create internal snapshots. To verify that
your snapshot is fully supported, ensure that it is configured as external. For example:
The virsh iface-* commands, such as virsh iface-start and virsh iface-destroy, are no longer
supported in RHEL 9. Due to the removal of the netcf package, the majority of them do not work. To
create and modify network interfaces, use NetworkManager utilities, such as nmcli.
<bios useserial='yes'/>
The Cirrus graphics device. The default graphics devices are now set to stdvga on BIOS-based
machines and bochs-display on UEFI-based machines.
The ac97 audio device. In RHEL 9, libvirt uses the ich9 device instead.
Previously, as a Technology Preview, it was possible to divide a physical Intel GPU device into multiple
virtual devices referred to as mediated devices. These mediated devices could then be assigned to
multiple virtual machines (VMs) as virtual GPUs.
Instead of SPICE, Red Hat recommends using alternate solutions for remote display streaming:
76
CHAPTER 25. VIRTUALIZATION
For remote console access, use the VNC protocol. However, note that certain features
available on SPICE are currently unsupported or do not work well on VNC. This includes:
Smart card sharing from the host to the VM (It is now supported only by third party remote
visualization solutions.)
For advanced remote display functions, use third party tools such as RDP, HP ZCentral Remote
Boost, or Mechdyne TGX.
For graphical VMs hosted on RHEL 9, Red Hat recommends using the virtio-vga and virtio-gpu virtual
graphics cards.
For more information on how to switch a VM from the SPICE protocol to VNC, see the Knowledgebase
article Unable to define, create or start a Virtual Machine using spice or qxl in RHEL 9 KVM .
77
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
78
APPENDIX A. CHANGES TO PACKAGES
79
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
80
APPENDIX A. CHANGES TO PACKAGES
81
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
82
APPENDIX A. CHANGES TO PACKAGES
83
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
84
APPENDIX A. CHANGES TO PACKAGES
85
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
86
APPENDIX A. CHANGES TO PACKAGES
87
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
88
APPENDIX A. CHANGES TO PACKAGES
89
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
90
APPENDIX A. CHANGES TO PACKAGES
91
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
92
APPENDIX A. CHANGES TO PACKAGES
93
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
94
APPENDIX A. CHANGES TO PACKAGES
95
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
96
APPENDIX A. CHANGES TO PACKAGES
97
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
98
APPENDIX A. CHANGES TO PACKAGES
99
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
100
APPENDIX A. CHANGES TO PACKAGES
101
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
102
APPENDIX A. CHANGES TO PACKAGES
103
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
104
APPENDIX A. CHANGES TO PACKAGES
105
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
106
APPENDIX A. CHANGES TO PACKAGES
107
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
108
APPENDIX A. CHANGES TO PACKAGES
109
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
110
APPENDIX A. CHANGES TO PACKAGES
111
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
112
APPENDIX A. CHANGES TO PACKAGES
113
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
114
APPENDIX A. CHANGES TO PACKAGES
115
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
116
APPENDIX A. CHANGES TO PACKAGES
117
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
118
APPENDIX A. CHANGES TO PACKAGES
119
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
120
APPENDIX A. CHANGES TO PACKAGES
121
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
122
APPENDIX A. CHANGES TO PACKAGES
123
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
124
APPENDIX A. CHANGES TO PACKAGES
125
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
126
APPENDIX A. CHANGES TO PACKAGES
127
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
128
APPENDIX A. CHANGES TO PACKAGES
129
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
130
APPENDIX A. CHANGES TO PACKAGES
131
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
132
APPENDIX A. CHANGES TO PACKAGES
133
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
134
APPENDIX A. CHANGES TO PACKAGES
135
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
136
APPENDIX A. CHANGES TO PACKAGES
137
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
138
APPENDIX A. CHANGES TO PACKAGES
139
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
140
APPENDIX A. CHANGES TO PACKAGES
141
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
142
APPENDIX A. CHANGES TO PACKAGES
143
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
144
APPENDIX A. CHANGES TO PACKAGES
145
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
146
APPENDIX A. CHANGES TO PACKAGES
147
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
148
APPENDIX A. CHANGES TO PACKAGES
149
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
150
APPENDIX A. CHANGES TO PACKAGES
151
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
152
APPENDIX A. CHANGES TO PACKAGES
153
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
154
APPENDIX A. CHANGES TO PACKAGES
155
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
javamail jakarta-mail RHEL 9.0 The javamail package has been replaced
(javapackages- with the jakarta-mail package, which is API-
tools:201801) compatible. Code changes might be required
to port from javamail to jakarta-mail.
156
APPENDIX A. CHANGES TO PACKAGES
mailx s-nail RHEL 9.0 The mailx mail processing system has been
replaced by s-nail . The s-nail utility is
compatible with mailx and adds numerous
new features. The mailx package is no
longer maintained in upstream.
157
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
metacity gnome-kiosk RHEL 9.0 The metacity package has been replaced
with the gnome-kiosk package, which has
similar functionality.
158
APPENDIX A. CHANGES TO PACKAGES
perl-FileHandle,
Original New package(s)
perl-filetest, perl- Changed Note
package(s) FindBin, perl- since
GDBM_File, perl-
Getopt-Std, perl-
Hash-Util, perl-
Hash-Util-
FieldHash, perl-
I18N-Collate, perl-
I18N-Langinfo, perl-
I18N-LangTags,
perl-if, perl-
interpreter, perl-
IPC-Open3, perl-
less, perl-lib, perl-
libs, perl-locale,
perl-meta-notation,
perl-mro, perl-
NDBM_File, perl-
Net, perl-NEXT,
perl-ODBM_File,
perl-Opcode, perl-
overload, perl-
overloading, perl-
ph, perl-Pod-
Functions, perl-
POSIX, perl-Safe,
perl-Search-Dict,
perl-SelectSaver,
perl-sigtrap, perl-
sort, perl-subs, perl-
Symbol, perl-Sys-
Hostname, perl-
Term-Complete,
perl-Term-
ReadLine, perl-
Text-Abbrev, perl-
Thread, perl-
Thread-Semaphore,
perl-Tie, perl-Tie-
File, perl-Tie-
Memoize, perl-Tie-
RefHash, perl-Time,
perl-Unicode-UCD,
perl-User-pwent,
perl-vars, perl-
vmsish
159
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
blib, perl-Class-
Original New package(s)
Struct, perl-Config- Changed Note
package(s) Extensions, perl- since
DBM_Filter, perl-
debugger, perl-
deprecate, perl-
diagnostics, perl-
DirHandle, perl-doc,
perl-Dumpvalue,
perl-DynaLoader,
perl-encoding-
warnings, perl-
English, perl-
ExtUtils-Constant,
perl-Fcntl, perl-
fields, perl-File-
Basename, perl-
File-Compare, perl-
File-Copy, perl-
File-DosGlob, perl-
File-Find, perl-File-
stat, perl-FileCache,
perl-FileHandle,
perl-filetest, perl-
FindBin, perl-
GDBM_File, perl-
Getopt-Std, perl-
Hash-Util, perl-
Hash-Util-
FieldHash, perl-
I18N-Collate, perl-
I18N-Langinfo, perl-
I18N-LangTags,
perl-if, perl-
interpreter, perl-
IPC-Open3, perl-
less, perl-lib, perl-
locale, perl-meta-
notation, perl-mro,
perl-NDBM_File,
perl-Net, perl-
NEXT, perl-
ODBM_File, perl-
Opcode, perl-
overload, perl-
overloading, perl-
ph, perl-Pod-
Functions, perl-
POSIX, perl-Safe,
perl-Search-Dict,
perl-SelectSaver,
perl-sigtrap, perl-
sort, perl-subs, perl-
Symbol, perl-Sys-
Hostname, perl-
Term-Complete,
160
APPENDIX A. CHANGES TO PACKAGES
perl-Term-
Original New package(s)
ReadLine, perl- Changed Note
package(s) Text-Abbrev, perl- since
Thread, perl-
Thread-Semaphore,
perl-Tie, perl-Tie-
File, perl-Tie-
Memoize, perl-Tie-
RefHash, perl-Time,
perl-Unicode-UCD,
perl-User-pwent,
perl-vars, perl-
vmsish
php-pecl-xdebug php-pecl-xdebug3 RHEL 9.0
161
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
162
APPENDIX A. CHANGES TO PACKAGES
163
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
164
APPENDIX A. CHANGES TO PACKAGES
165
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
166
APPENDIX A. CHANGES TO PACKAGES
167
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
168
APPENDIX A. CHANGES TO PACKAGES
169
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
170
APPENDIX A. CHANGES TO PACKAGES
171
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
172
APPENDIX A. CHANGES TO PACKAGES
173
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
wodim cdrskin RHEL 9.0 The wodim package has been replaced by
the cdrskin package. The cdrecord
executable provided by cdrskin is
compatible with cdrecord provided by
wodim.
xinetd systemd RHEL 9.0 The xinetd package is not available in RHEL
9. Its functionality is now provided by
systemd . For further details, see How to
convert xinetd service to systemd.
174
APPENDIX A. CHANGES TO PACKAGES
175
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
176
APPENDIX A. CHANGES TO PACKAGES
177
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
178
APPENDIX A. CHANGES TO PACKAGES
179
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
180
APPENDIX A. CHANGES TO PACKAGES
181
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
182
APPENDIX A. CHANGES TO PACKAGES
183
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
184
APPENDIX A. CHANGES TO PACKAGES
185
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
186
APPENDIX A. CHANGES TO PACKAGES
187
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
188
APPENDIX A. CHANGES TO PACKAGES
189
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
190
APPENDIX A. CHANGES TO PACKAGES
191
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
192
APPENDIX A. CHANGES TO PACKAGES
193
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
194
APPENDIX A. CHANGES TO PACKAGES
195
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
196
APPENDIX A. CHANGES TO PACKAGES
197
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
198
APPENDIX A. CHANGES TO PACKAGES
199
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
200
APPENDIX A. CHANGES TO PACKAGES
201
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
202
APPENDIX A. CHANGES TO PACKAGES
203
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
204
APPENDIX A. CHANGES TO PACKAGES
205
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
206
APPENDIX A. CHANGES TO PACKAGES
207
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
208
APPENDIX A. CHANGES TO PACKAGES
209
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
*This table uses abbreviated names for the repository ID. Use the following examples to help identify
210
APPENDIX A. CHANGES TO PACKAGES
*This table uses abbreviated names for the repository ID. Use the following examples to help identify
the full repository ID, where <arch> is the specific architecture:
Package Note
abrt
abrt-addon-ccpp
abrt-addon-kerneloops
abrt-addon-pstoreoops
abrt-addon-vmcore
abrt-addon-xorg
abrt-cli
abrt-console-notification
abrt-dbus
abrt-desktop
abrt-gui
abrt-gui-libs
abrt-libs
211
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
abrt-tui
adobe-source-sans-pro-
fonts-3.02803.el9.noarch.rpm
alsa-plugins-pulseaudio
alsa-sof-firmware-debug
amanda
amanda-client
amanda-libs
amanda-server
ant-apache-log4j
ant-contrib
ant-contrib-javadoc
ant-javadoc
ant-manual
antlr-C++
antlr-javadoc
antlr-manual
antlr3
antlr32
aopalliance
aopalliance
aopalliance-javadoc
apache-commons-beanutils-
javadoc
212
APPENDIX A. CHANGES TO PACKAGES
Package Note
apache-commons-cli-javadoc
apache-commons-codec-
javadoc
apache-commons-
collections-javadoc
apache-commons-
collections-testframework
apache-commons-compress-
javadoc
apache-commons-exec
apache-commons-exec-
javadoc
apache-commons-io-javadoc
apache-commons-jxpath
apache-commons-jxpath
apache-commons-jxpath-
javadoc
apache-commons-lang-
javadoc
apache-commons-lang3-
javadoc
apache-commons-logging-
javadoc
apache-commons-net-
javadoc
apache-commons-parent
apache-ivy
apache-ivy-javadoc
213
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
apache-parent
apache-resource-bundles
apache-sshd
apiguardian
aqute-bnd-javadoc
arpwatch
aspnetcore-runtime-3.0
aspnetcore-runtime-3.1
aspnetcore-runtime-5.0
aspnetcore-targeting-pack-
3.0
aspnetcore-targeting-pack-
3.1
aspnetcore-targeting-pack-
5.0
assertj-core-javadoc
atinject-javadoc
atinject-tck
authd
auto
autoconf213
autogen
autogen-libopts
214
APPENDIX A. CHANGES TO PACKAGES
Package Note
autogen-libopts-devel
avahi-ui
avahi-ui-devel
avahi-ui-gtk3
awscli
base64coder
bash-doc
batik
batik-css
batik-util
bcel-javadoc
bea-stax
bea-stax-api
beust-jcommander-javadoc
bind-export-devel
bind-export-libs
bind-pkcs11-devel
bind-pkcs11-libs
bind-pkcs11-utils
bind-sdb
bind-sdb-chroot
215
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
bitmap-console-fonts
bitmap-fixed-fonts
bitmap-fonts-compat
bitmap-lucida-typewriter-
fonts
bluez-hid2hci
bnd-maven-plugin
boost-jam
boost-signals
bouncycastle
bpg-algeti-fonts
bpg-chveulebrivi-fonts
bpg-classic-fonts
bpg-courier-fonts
bpg-courier-s-fonts
bpg-dedaena-block-fonts
bpg-dejavu-sans-fonts
bpg-elite-fonts
bpg-excelsior-caps-fonts
bpg-excelsior-condenced-
fonts
bpg-excelsior-fonts
bpg-fonts-common
bpg-glaho-fonts
216
APPENDIX A. CHANGES TO PACKAGES
Package Note
bpg-gorda-fonts
bpg-ingiri-fonts
bpg-irubaqidze-fonts
bpg-mikhail-stephan-fonts
bpg-mrgvlovani-caps-fonts
bpg-mrgvlovani-fonts
bpg-nateli-caps-fonts
bpg-nateli-condenced-fonts
bpg-nateli-fonts
bpg-nino-medium-cond-
fonts
bpg-nino-medium-fonts
bpg-sans-fonts
bpg-sans-medium-fonts
bpg-sans-modern-fonts
bpg-sans-regular-fonts
bpg-serif-fonts
bpg-serif-modern-fonts
bpg-ucnobi-fonts
brlapi-java
bsf-javadoc
bsh
217
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
bsh-javadoc
bsh-manual
buildnumber-maven-plugin
byaccj
byaccj-debuginfo
byaccj-debugsource
cal10n
cal10n-javadoc
cbi-plugins
cdi-api-javadoc
cdparanoia
cdparanoia-devel
cdparanoia-libs
cdrdao
celt051
celt051-devel
cgdcbxd
cglib-javadoc
clutter-devel
clutter-doc
clutter-gst3-devel
clutter-gtk-devel
cmirror
218
APPENDIX A. CHANGES TO PACKAGES
Package Note
codehaus-parent
codemodel
cogl-devel
cogl-doc
compat-exiv2-026
compat-guile18
compat-guile18-devel
compat-hwloc1
compat-libpthread-nonshared
compat-libtiff3
compat-openssl10
compat-sap-c++-10
compat-sap-c++-11
compat-sap-c++-9
crash-ptdump-command
ctags
ctags-etags
culmus-keteryg-fonts
culmus-shofar-fonts
custodia
cyrus-imapd-vzic
dbus-c++
dbus-c++-devel
219
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
dbus-c++-glib
dbxtool
dejavu-fonts-common
dhcp-libs
directory-maven-plugin
directory-maven-plugin-
javadoc
dirsplit
dleyna-connector-dbus
dleyna-core
dleyna-renderer
dleyna-server
dnf-plugin-spacewalk
dnssec-trigger
dnssec-trigger-panel
dotnet
dotnet-apphost-pack-3.0
dotnet-apphost-pack-3.1
dotnet-apphost-pack-5.0
dotnet-build-reference-
packages
dotnet-host-fxr-2.1
dotnet-hostfxr-3.0
dotnet-hostfxr-3.1
220
APPENDIX A. CHANGES TO PACKAGES
Package Note
dotnet-hostfxr-5.0
dotnet-runtime-2.1
dotnet-runtime-3.0
dotnet-runtime-3.1
dotnet-runtime-5.0
dotnet-sdk-2.1
dotnet-sdk-2.1.5xx
dotnet-sdk-3.0
dotnet-sdk-3.1
dotnet-sdk-3.1-source-built-
artifacts
dotnet-sdk-5.0
dotnet-sdk-5.0-source-built-
artifacts
dotnet-targeting-pack-3.0
dotnet-targeting-pack-3.1
dotnet-targeting-pack-5.0
dotnet-templates-3.0
dotnet-templates-3.1
dotnet-templates-5.0
dotnet5.0-build-reference-
packages
dptfxtract
drpm
221
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
drpm-devel
dump The dump package providing the dump utility has been removed. You can
use the tar, dd, or bacula backup utility instead.
dvd+rw-tools
dyninst-static
easymock-javadoc
eclipse-ecf
eclipse-ecf-core
eclipse-ecf-runtime
eclipse-emf
eclipse-emf-core
eclipse-emf-runtime
eclipse-emf-xsd
eclipse-equinox-osgi
eclipse-jdt
eclipse-license
eclipse-p2-discovery
eclipse-pde
eclipse-platform
eclipse-swt
ed25519-java
ee4j-parent
elfutils-devel-static
222
APPENDIX A. CHANGES TO PACKAGES
Package Note
elfutils-libelf-devel-static
elinks
emacs-terminal
emoji-picker
enca
enca-devel
environment-modules-
compat
evemu
evemu-libs
evince-browser-plugin
exec-maven-plugin
exec-maven-plugin-javadoc
farstream02
felix-gogo-command
felix-gogo-runtime
felix-gogo-shell
felix-osgi-compendium
felix-osgi-compendium-
javadoc
felix-osgi-core
felix-osgi-core-javadoc
felix-osgi-foundation
223
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
felix-osgi-foundation-javadoc
felix-parent
felix-scr
felix-utils-javadoc
file-roller
fipscheck
fipscheck-devel
fipscheck-lib
fonts-tweak-tool
forge-parent
freeradius-mysql
freeradius-perl
freeradius-postgresql
freeradius-sqlite
freeradius-unixODBC
frei0r-devel
frei0r-plugins
frei0r-plugins-opencv
fuse-sshfs
fusesource-pom
future
gamin
gamin-devel
224
APPENDIX A. CHANGES TO PACKAGES
Package Note
gavl
gcc-toolset-10
gcc-toolset-10-annobin
gcc-toolset-10-binutils
gcc-toolset-10-binutils-devel
gcc-toolset-10-build
gcc-toolset-10-dwz
gcc-toolset-10-dyninst
gcc-toolset-10-dyninst-devel
gcc-toolset-10-elfutils
gcc-toolset-10-elfutils-
debuginfod-client
gcc-toolset-10-elfutils-
debuginfod-client-devel
gcc-toolset-10-elfutils-devel
gcc-toolset-10-elfutils-libelf
gcc-toolset-10-elfutils-libelf-
devel
gcc-toolset-10-elfutils-libs
gcc-toolset-10-gcc
gcc-toolset-10-gcc-c++
gcc-toolset-10-gcc-gdb-
plugin
gcc-toolset-10-gcc-gfortran
225
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
gcc-toolset-10-gcc-plugin-
devel
gcc-toolset-10-gdb
gcc-toolset-10-gdb-doc
gcc-toolset-10-gdb-
gdbserver
gcc-toolset-10-libasan-devel
gcc-toolset-10-libatomic-
devel
gcc-toolset-10-libitm-devel
gcc-toolset-10-liblsan-devel
gcc-toolset-10-libquadmath-
devel
gcc-toolset-10-libstdc++-
devel
gcc-toolset-10-libstdc++-
docs
gcc-toolset-10-libtsan-devel
gcc-toolset-10-libubsan-devel
gcc-toolset-10-ltrace
gcc-toolset-10-make
gcc-toolset-10-make-devel
gcc-toolset-10-perftools
gcc-toolset-10-runtime
gcc-toolset-10-strace
gcc-toolset-10-systemtap
226
APPENDIX A. CHANGES TO PACKAGES
Package Note
gcc-toolset-10-systemtap-
client
gcc-toolset-10-systemtap-
devel
gcc-toolset-10-systemtap-
initscript
gcc-toolset-10-systemtap-
runtime
gcc-toolset-10-systemtap-
sdt-devel
gcc-toolset-10-systemtap-
server
gcc-toolset-10-toolchain
gcc-toolset-10-valgrind
gcc-toolset-10-valgrind-devel
gcc-toolset-11
gcc-toolset-11-annobin-
annocheck
gcc-toolset-11-annobin-docs
gcc-toolset-11-annobin-
plugin-gcc
gcc-toolset-11-binutils
gcc-toolset-11-binutils-devel
gcc-toolset-11-build
gcc-toolset-11-dwz
gcc-toolset-11-dyninst
gcc-toolset-11-dyninst-devel
227
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
gcc-toolset-11-elfutils
gcc-toolset-11-elfutils-
debuginfod-client
gcc-toolset-11-elfutils-
debuginfod-client-devel
gcc-toolset-11-elfutils-devel
gcc-toolset-11-elfutils-libelf
gcc-toolset-11-elfutils-libelf-
devel
gcc-toolset-11-elfutils-libs
gcc-toolset-11-gcc
gcc-toolset-11-gcc-c++
gcc-toolset-11-gcc-gdb-
plugin
gcc-toolset-11-gcc-gfortran
gcc-toolset-11-gcc-plugin-
devel
gcc-toolset-11-gdb
gcc-toolset-11-gdb-doc
gcc-toolset-11-gdb-gdbserver
gcc-toolset-11-libasan-devel
gcc-toolset-11-libatomic-
devel
gcc-toolset-11-libgccjit
gcc-toolset-11-libgccjit-devel
228
APPENDIX A. CHANGES TO PACKAGES
Package Note
gcc-toolset-11-libgccjit-docs
gcc-toolset-11-libitm-devel
gcc-toolset-11-liblsan-devel
gcc-toolset-11-libquadmath-
devel
gcc-toolset-11-libstdc++-
devel
gcc-toolset-11-libstdc++-docs
gcc-toolset-11-libtsan-devel
gcc-toolset-11-libubsan-devel
gcc-toolset-11-ltrace
gcc-toolset-11-make
gcc-toolset-11-make-devel
gcc-toolset-11-perftools
gcc-toolset-11-runtime
gcc-toolset-11-strace
gcc-toolset-11-systemtap
gcc-toolset-11-systemtap-
client
gcc-toolset-11-systemtap-
devel
gcc-toolset-11-systemtap-
initscript
gcc-toolset-11-systemtap-
runtime
gcc-toolset-11-systemtap-
sdt-devel
229
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
gcc-toolset-11-systemtap-
server
gcc-toolset-11-toolchain
gcc-toolset-11-valgrind
gcc-toolset-11-valgrind-devel
gcc-toolset-12-annobin-
annocheck
gcc-toolset-12-annobin-docs
gcc-toolset-12-annobin-
plugin-gcc
gcc-toolset-12-binutils-devel
gcc-toolset-12-binutils-gold
gcc-toolset-9
gcc-toolset-9-annobin
gcc-toolset-9-binutils
gcc-toolset-9-binutils-devel
gcc-toolset-9-build
gcc-toolset-9-dwz
gcc-toolset-9-dyninst
gcc-toolset-9-dyninst-devel
gcc-toolset-9-dyninst-doc
gcc-toolset-9-dyninst-static
gcc-toolset-9-dyninst-
testsuite
gcc-toolset-9-elfutils
230
APPENDIX A. CHANGES TO PACKAGES
Package Note
gcc-toolset-9-elfutils-devel
gcc-toolset-9-elfutils-libelf
gcc-toolset-9-elfutils-libelf-
devel
gcc-toolset-9-elfutils-libs
gcc-toolset-9-gcc
gcc-toolset-9-gcc-c++
gcc-toolset-9-gcc-gdb-
plugin
gcc-toolset-9-gcc-gfortran
gcc-toolset-9-gcc-plugin-
devel
gcc-toolset-9-gdb
gcc-toolset-9-gdb-doc
gcc-toolset-9-gdb-gdbserver
gcc-toolset-9-libasan-devel
gcc-toolset-9-libatomic-
devel
gcc-toolset-9-libitm-devel
gcc-toolset-9-liblsan-devel
gcc-toolset-9-libquadmath-
devel
gcc-toolset-9-libstdc++-
devel
gcc-toolset-9-libstdc++-docs
gcc-toolset-9-libtsan-devel
231
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
gcc-toolset-9-libubsan-devel
gcc-toolset-9-ltrace
gcc-toolset-9-make
gcc-toolset-9-make-devel
gcc-toolset-9-perftools
gcc-toolset-9-runtime
gcc-toolset-9-strace
gcc-toolset-9-systemtap
gcc-toolset-9-systemtap-
client
gcc-toolset-9-systemtap-
devel
gcc-toolset-9-systemtap-
initscript
gcc-toolset-9-systemtap-
runtime
gcc-toolset-9-systemtap-
sdt-devel
gcc-toolset-9-systemtap-
server
gcc-toolset-9-toolchain
gcc-toolset-9-valgrind
gcc-toolset-9-valgrind-devel
GConf2
GConf2-devel
gegl
232
APPENDIX A. CHANGES TO PACKAGES
Package Note
genwqe-tools
genwqe-vpd
genwqe-zlib
genwqe-zlib-devel
geoipupdate
geronimo-annotation
geronimo-annotation
geronimo-annotation-javadoc
geronimo-jms
geronimo-jms-javadoc
geronimo-jpa
geronimo-jpa-javadoc
geronimo-parent-poms
gfbgraph
gflags
gflags-devel
glassfish-annotation-api
glassfish-annotation-api
glassfish-annotation-api-
javadoc
glassfish-el
glassfish-fastinfoset
glassfish-jaxb-core
233
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
glassfish-jaxb-txw2
glassfish-jsp
glassfish-jsp-api
glassfish-jsp-api
glassfish-jsp-api-javadoc
glassfish-legal
glassfish-master-pom
glassfish-servlet-api
glassfish-servlet-api
glassfish-servlet-api-javadoc
glew-devel
glib2-fam
glog
glog-devel
gmock
gmock-devel
gnome-abrt
gnome-boxes
gnome-menus-devel
gnome-online-miners
gnome-shell-extension-dash-
to-panel
gnome-shell-extension-
disable-screenshield
234
APPENDIX A. CHANGES TO PACKAGES
Package Note
gnome-shell-extension-
horizontal-workspaces
gnome-shell-extension-no-
hot-corner
gnome-shell-extension-
window-grouper
gnome-themes-standard
gnu-free-fonts-common
gnu-free-mono-fonts
gnu-free-sans-fonts
gnu-free-serif-fonts
gnuplot
gnuplot-common
gnuplot-doc
google-droid-kufi-fonts
google-gson
google-guice-javadoc
google-noto-kufi-arabic-
fonts
google-noto-naskh-arabic-
fonts
google-noto-naskh-arabic-ui-
fonts
google-noto-nastaliq-urdu-
fonts
google-noto-sans-balinese-
fonts
235
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
google-noto-sans-bamum-
fonts
google-noto-sans-batak-
fonts
google-noto-sans-buginese-
fonts
google-noto-sans-buhid-
fonts
google-noto-sans-canadian-
aboriginal-fonts
google-noto-sans-cham-
fonts
google-noto-sans-cuneiform-
fonts
google-noto-sans-cypriot-
fonts
google-noto-sans-gothic-
fonts
google-noto-sans-gurmukhi-
ui-fonts
google-noto-sans-hanunoo-
fonts
google-noto-sans-
inscriptional-pahlavi-fonts
google-noto-sans-
inscriptional-parthian-fonts
google-noto-sans-javanese-
fonts
google-noto-sans-lepcha-
fonts
google-noto-sans-limbu-
fonts
236
APPENDIX A. CHANGES TO PACKAGES
Package Note
google-noto-sans-linear-b-
fonts
google-noto-sans-lisu-fonts
google-noto-sans-mandaic-
fonts
google-noto-sans-meetei-
mayek-fonts
google-noto-sans-mongolian-
fonts
google-noto-sans-myanmar-
fonts
google-noto-sans-myanmar-
ui-fonts
google-noto-sans-new-tai-
lue-fonts
google-noto-sans-ogham-
fonts
google-noto-sans-ol-chiki-
fonts
google-noto-sans-old-italic-
fonts
google-noto-sans-old-
persian-fonts
google-noto-sans-oriya-fonts
google-noto-sans-oriya-ui-
fonts
google-noto-sans-phags-pa-
fonts
google-noto-sans-rejang-
fonts
google-noto-sans-runic-fonts
237
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
google-noto-sans-samaritan-
fonts
google-noto-sans-saurashtra-
fonts
google-noto-sans-
sundanese-fonts
google-noto-sans-syloti-
nagri-fonts
google-noto-sans-syriac-
eastern-fonts
google-noto-sans-syriac-
estrangela-fonts
google-noto-sans-syriac-
western-fonts
google-noto-sans-tagalog-
fonts
google-noto-sans-tagbanwa-
fonts
google-noto-sans-tai-le-fonts
google-noto-sans-tai-tham-
fonts
google-noto-sans-tai-viet-
fonts
google-noto-sans-tibetan-
fonts
google-noto-sans-tifinagh-
fonts
google-noto-sans-ui-fonts
google-noto-sans-yi-fonts
238
APPENDIX A. CHANGES TO PACKAGES
Package Note
google-noto-serif-bengali-
fonts
google-noto-serif-
devanagari-fonts
google-noto-serif-gujarati-
fonts
google-noto-serif-kannada-
fonts
google-noto-serif-
malayalam-fonts
google-noto-serif-tamil-fonts
google-noto-serif-telugu-
fonts
gphoto2
gsl-devel
gssntlmssp
gtest
gtest-devel
gtkmm24
gtkmm24-devel
gtkmm24-docs
gtksourceview3
gtksourceview3-devel
gtkspell
gtkspell-devel
guava20-javadoc
239
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
guava20-testlib
guice-assistedinject
guice-bom
guice-extensions
guice-grapher
guice-jmx
guice-jndi
guice-multibindings
guice-parent
guice-servlet
guice-testlib
guice-throwingproviders
guile
guile-devel
gutenprint-libs-ui
gutenprint-plugin
gvfs-afc
gvfs-afp
gvfs-archive
hamcrest-core
hamcrest-core
hamcrest-demo
hamcrest-javadoc
240
APPENDIX A. CHANGES TO PACKAGES
Package Note
hawtjni
hawtjni
hawtjni
hawtjni-javadoc
hawtjni-runtime
hawtjni-runtime
HdrHistogram
HdrHistogram-javadoc
highlight-gui
hplip-gui
hspell
httpcomponents-client-cache
httpcomponents-client-
javadoc
httpcomponents-core-
javadoc
httpcomponents-project
hwloc-plugins
hyphen-fo
hyphen-grc
hyphen-hsb
hyphen-ia
hyphen-is
hyphen-ku
241
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
hyphen-mi
hyphen-mn
hyphen-sa
hyphen-tk
ibus-sayura
ibus-table-devel
ibus-table-tests
ibus-typing-booster-tests
icedax
icu4j
idm-console-framework
ilmbase-devel
ima-evm-utils0
imake
intel-gpu-tools
ipython
isl
isl-devel
isorelax
isorelax-javadoc
istack-commons-runtime
istack-commons-tools
242
APPENDIX A. CHANGES TO PACKAGES
Package Note
ivy-local
iwl3945-firmware
iwl4965-firmware
iwl6000-firmware
jacoco
jaf
jaf-javadoc
jakarta-commons-httpclient-
demo
jakarta-commons-httpclient-
javadoc
jakarta-commons-httpclient-
manual
jakarta-oro-javadoc
janino
jansi-javadoc
jansi-native
jansi-native
jansi-native-javadoc
jarjar
java-1.8.0-ibm
java-1.8.0-ibm-demo
java-1.8.0-ibm-devel
java-1.8.0-ibm-headless
243
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
java-1.8.0-ibm-jdbc
java-1.8.0-ibm-plugin
java-1.8.0-ibm-src
java-1.8.0-ibm-webstart
java-1.8.0-openjdk-
accessibility
java-1.8.0-openjdk-
accessibility-fastdebug
java-1.8.0-openjdk-
accessibility-slowdebug
java-atk-wrapper
java_cup
java_cup-javadoc
java_cup-manual
javacc
javacc-demo
javacc-javadoc
javacc-manual
javacc-maven-plugin
javacc-maven-plugin-javadoc
javaewah
javamail-javadoc
javapackages-local
javaparser
244
APPENDIX A. CHANGES TO PACKAGES
Package Note
javapoet
javassist
javassist
javassist-javadoc
javassist-javadoc
jaxen
jaxen-demo
jaxen-javadoc
jboss-annotations-1.2-api
jboss-interceptors-1.2-api
jboss-interceptors-1.2-api
jboss-interceptors-1.2-api-
javadoc
jboss-logmanager
jboss-parent
jctools
jdepend-demo
jdepend-javadoc
jdependency
jdependency-javadoc
jdom
jdom-demo
jdom-javadoc
245
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
jdom2
jdom2-javadoc
jetty
jetty-continuation
jetty-http
jetty-io
jetty-security
jetty-server
jetty-servlet
jetty-util
jffi
jflex
jflex-javadoc
jgit
jline
jline
jline-javadoc
jmc
jmc-core-javadoc
jnr-netdb
jolokia-jvm-agent
js-uglify
jsch-javadoc
246
APPENDIX A. CHANGES TO PACKAGES
Package Note
json_simple
jsoup-javadoc
jsr-305-javadoc
jss-javadoc
jtidy
jul-to-slf4j
junit-javadoc
junit-manual
jvnet-parent
jzlib-demo
jzlib-javadoc
khmeros-fonts-common
kmod-redhat-oracleasm
kurdit-unikurd-web-fonts
kyotocabinet-libs
ldapjdk-javadoc
lensfun
lensfun-devel
lftp-scripts
libaec
libaec-devel
libappindicator-gtk3
libappindicator-gtk3-devel
247
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
libasan6
libatomic-static
libavc1394
libblocksruntime
libcacard
libcacard-devel
libcgroup
libcgroup-pam
libcgroup-tools
libchamplain
libchamplain-devel
libchamplain-gtk
libcroco
libcroco-devel
libcxl
libcxl-devel
libdap
libdap-devel
libdazzle-devel
libdbusmenu
libdbusmenu-devel
libdbusmenu-doc
libdbusmenu-gtk3
248
APPENDIX A. CHANGES TO PACKAGES
Package Note
libdbusmenu-gtk3-devel
libdnet
libdnet-devel
libdv
libdv-devel
libdwarf-devel
libdwarf-static
libdwarf-tools
libeasyfc
libeasyfc-gobject
libepubgen-devel
libertas-sd8686-firmware
libertas-usb8388-firmware
libertas-usb8388-olpc-
firmware
libev-libevent-devel
libev-source
libgdither
libGLEW
libgovirt
libguestfs-benchmarking
libguestfs-gfs2
249
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
libguestfs-java
libguestfs-java-devel
libguestfs-javadoc
libguestfs-tools
libguestfs-tools-c
libhugetlbfs
libhugetlbfs-devel
libhugetlbfs-utils
libicu-doc
libIDL
libIDL-devel
libidn The libidn package (which implements the IDNA 2003 standard) is not
included in RHEL 9. You can migrate applications to libidn2, which
implements the IDNA 2008 standard and has a different feature set to
libidn.
libidn-devel
libiec61883
libiec61883-devel
libindicator-gtk3
libindicator-gtk3-devel
libiscsi-devel
libkkc
250
APPENDIX A. CHANGES TO PACKAGES
Package Note
libkkc-common
libkkc-data
liblogging
libmalaga
libmcpp
libmetalink
libmodulemd1 The libmodulemd1 package has been removed and is replaced by the
libmodulemd package.
libmongocrypt
libmpcdec
libmpcdec-devel
libmtp-devel
libmusicbrainz5
libmusicbrainz5-devel
libnice
libnice-devel
libnice-gstreamer1
liboauth
liboauth-devel
libocxl-docs
libpfm-static
libpng12
libpsm2-compat
251
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
libpurple
libpurple-devel
libraw1394
libraw1394-devel
libreport-plugin-mailx
libreport-plugin-rhtsupport
libreport-plugin-ureport
libreport-rhel
libreport-rhel-bugzilla
librpmem The librpmem package has been removed. Use thelibrpma package
instead.
librpmem-debug
librpmem-devel
libsass
libsass-devel
libselinux-python
libslirp-devel
libsqlite3x
libssh2-docs
libtar
libtpms-devel
libunwind
libusal
252
APPENDIX A. CHANGES TO PACKAGES
Package Note
libvarlink
libverto-libevent
libvirt-admin
libvirt-bash-completion
libvirt-daemon-driver-
storage-gluster
libvirt-daemon-driver-
storage-iscsi-direct
libvirt-gconfig
libvirt-gobject
libvirt-wireshark
libvmem
libvmem-debug
libvmem-devel
libvmmalloc
libvmmalloc-debug
libvmmalloc-devel
libvncserver
libwmf
libwmf-devel
libwmf-lite
libXNVCtrl
libXNVCtrl-devel
libXvMC
253
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
libXvMC-devel
libXxf86misc
libXxf86misc-devel
libyami
log4j-over-slf4j
log4j12
log4j12
log4j12-javadoc
log4j12-javadoc
lohit-malayalam-fonts
lohit-nepali-fonts
lucene
lucene-analysis
lucene-analyzers-smartcn
lucene-queries
lucene-queryparser
lucene-sandbox
lz4-java
lz4-java-javadoc
mailman
make-devel
malaga
254
APPENDIX A. CHANGES TO PACKAGES
Package Note
malaga-suomi-voikko
marisa
marisa-devel
maven-antrun-plugin
maven-antrun-plugin-javadoc
maven-archiver-javadoc
maven-artifact
maven-artifact-manager
maven-artifact-resolver-
javadoc
maven-artifact-transfer-
javadoc
maven-assembly-plugin
maven-assembly-plugin-
javadoc
maven-cal10n-plugin
maven-clean-plugin
maven-clean-plugin-javadoc
maven-common-artifact-
filters-javadoc
maven-compiler-plugin-
javadoc
maven-dependency-analyzer
maven-dependency-analyzer-
javadoc
maven-dependency-plugin
255
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
maven-dependency-plugin-
javadoc
maven-dependency-tree-
javadoc
maven-doxia
maven-doxia-core
maven-doxia-javadoc
maven-doxia-logging-api
maven-doxia-module-apt
maven-doxia-module-
confluence
maven-doxia-module-
docbook-simple
maven-doxia-module-fml
maven-doxia-module-latex
maven-doxia-module-rtf
maven-doxia-module-twiki
maven-doxia-module-xdoc
maven-doxia-module-xhtml
maven-doxia-modules
maven-doxia-sink-api
maven-doxia-sitetools
maven-doxia-sitetools-
javadoc
maven-doxia-test-docs
256
APPENDIX A. CHANGES TO PACKAGES
Package Note
maven-doxia-tests
maven-enforcer-javadoc
maven-failsafe-plugin
maven-file-management-
javadoc
maven-filtering-javadoc
maven-hawtjni-plugin
maven-install-plugin
maven-install-plugin-javadoc
maven-invoker
maven-invoker-javadoc
maven-invoker-plugin
maven-invoker-plugin-
javadoc
maven-jar-plugin-javadoc
maven-javadoc
maven-local
maven-model
maven-monitor
maven-parent
maven-plugin-build-helper-
javadoc
maven-plugin-bundle-javadoc
maven-plugin-descriptor
257
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
maven-plugin-registry
maven-plugin-testing-javadoc
maven-plugin-testing-tools
maven-plugin-tools-ant
maven-plugin-tools-beanshell
maven-plugin-tools-javadoc
maven-plugin-tools-javadocs
maven-plugin-tools-model
maven-plugins-pom
maven-profile
maven-project
maven-remote-resources-
plugin-javadoc
maven-reporting-api
maven-reporting-api-javadoc
maven-reporting-impl
maven-reporting-impl-
javadoc
maven-resolver-api
maven-resolver-api
maven-resolver-connector-
basic
maven-resolver-connector-
basic
maven-resolver-impl
258
APPENDIX A. CHANGES TO PACKAGES
Package Note
maven-resolver-impl
maven-resolver-javadoc
maven-resolver-spi
maven-resolver-spi
maven-resolver-test-util
maven-resolver-transport-
classpath
maven-resolver-transport-file
maven-resolver-transport-
http
maven-resolver-transport-
wagon
maven-resolver-transport-
wagon
maven-resolver-util
maven-resolver-util
maven-resources-plugin-
javadoc
maven-scm
maven-script
maven-script-ant
maven-script-beanshell
maven-script-interpreter
maven-script-interpreter-
javadoc
259
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
maven-settings
maven-shade-plugin
maven-shade-plugin-javadoc
maven-shared
maven-shared-incremental-
javadoc
maven-shared-io-javadoc
maven-shared-utils-javadoc
maven-source-plugin-javadoc
maven-surefire-javadoc
maven-surefire-report-parser
maven-surefire-report-plugin
maven-test-tools
maven-toolchain
maven-verifier-javadoc
maven-wagon-file
maven-wagon-file
maven-wagon-ftp
maven-wagon-http
maven-wagon-http
maven-wagon-http-
lightweight
maven-wagon-http-shared
maven-wagon-http-shared
260
APPENDIX A. CHANGES TO PACKAGES
Package Note
maven-wagon-javadoc
maven-wagon-provider-api
maven-wagon-provider-api
maven-wagon-providers
maven2
maven2
maven2-javadoc
meanwhile
mercurial
mercurial-hgk
mesa-libGLES-devel
mesa-vdpau-drivers
metis
metis-devel
mingw32-bzip2
mingw32-bzip2-static
mingw32-cairo
mingw32-expat
mingw32-fontconfig
mingw32-freetype
mingw32-freetype-static
mingw32-gstreamer1
mingw32-harfbuzz
261
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
mingw32-harfbuzz-static
mingw32-icu
mingw32-libjpeg-turbo
mingw32-libjpeg-turbo-static
mingw32-libpng
mingw32-libpng-static
mingw32-libtiff
mingw32-libtiff-static
mingw32-openssl
mingw32-readline
mingw32-spice-vdagent
mingw32-sqlite
mingw32-sqlite-static
mingw64-adwaita-icon-
theme
mingw64-bzip2
mingw64-bzip2-static
mingw64-cairo
mingw64-expat
mingw64-fontconfig
mingw64-freetype
mingw64-freetype-static
mingw64-gstreamer1
262
APPENDIX A. CHANGES TO PACKAGES
Package Note
mingw64-harfbuzz
mingw64-harfbuzz-static
mingw64-icu
mingw64-libjpeg-turbo
mingw64-libjpeg-turbo-static
mingw64-libpng
mingw64-libpng-static
mingw64-libtiff
mingw64-libtiff-static
mingw64-nettle
mingw64-openssl
mingw64-readline
mingw64-spice-vdagent
mingw64-sqlite
mingw64-sqlite-static
mockito-javadoc
modello
modello-javadoc
mojo-parent
mongo-c-driver
motif-static
mousetweaks
263
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
mozjs52
mozjs52-devel
mozjs60
mozjs60-devel
mozvoikko
msv-javadoc
msv-manual
munge-maven-plugin
munge-maven-plugin-javadoc
mythes-lb
mythes-mi
mythes-ne
nafees-web-naskh-fonts
nbd-3.21-2.el9
nbdkit-gzip-plugin
nbdkit-plugin-python-
common
nbdkit-plugin-vddk
nbdkit-tar-plugin
ncompress The ncompress package has been removed. You can use a different
compressing tool, such as gzip, zlib, or zstd.
ncurses-compat-libs
netcf
netcf-devel
264
APPENDIX A. CHANGES TO PACKAGES
Package Note
netcf-libs
network-scripts
network-scripts-ppp
nkf
nodejs-devel
nodejs-packaging
nss-pam-ldapd The nss-pam-ldapd package has been removed. You can use SSSD
instead.
nss_nis
objectweb-asm-javadoc
objectweb-pom
objenesis-javadoc
ocaml-bisect-ppx
ocaml-camlp4
ocaml-camlp4-devel
ocaml-lwt-5.3.0-7.el9
ocaml-mmap-1.1.0-16.el9
ocaml-ocplib-endian-1.1-5.el9
ocaml-ounit-2.2.2-15.el9
ocaml-result-1.5-7.el9
ocaml-seq-0.2.2-4.el9
openblas-Rblas
265
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
opencryptoki-tpmtok
opencv-contrib
opencv-core
opencv-devel
OpenEXR-devel
openhpi
openhpi-libs
OpenIPMI-perl
openssh-cavs
openssh-ldap
openssl-ibmpkcs11
os-maven-plugin
os-maven-plugin-javadoc
osgi-annotation-javadoc
osgi-compendium-javadoc
osgi-core-javadoc
overpass-mono-fonts
owasp-java-encoder-javadoc
pakchois
pandoc
pandoc-common
paps-libs
paranamer
266
APPENDIX A. CHANGES TO PACKAGES
Package Note
paratype-pt-sans-caption-
fonts
parfait
parfait-examples
parfait-javadoc
pcp-parfait-agent
pcsc-lite-doc
perl-B-Debug
perl-B-Lint
perl-Class-Factory-Util
perl-Class-ISA
perl-DateTime-Format-HTTP
perl-DateTime-Format-Mail
perl-File-CheckTree
perl-homedir
perl-libxml-perl
perl-Locale-Codes
perl-Mozilla-LDAP
perl-NKF
perl-Object-HashBase-tools
perl-Package-
DeprecationManager
perl-Pod-LaTeX
267
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
perl-Pod-Plainer
perl-prefork
perl-String-CRC32
perl-SUPER
perl-Sys-Virt
perl-tests
perl-YAML-Syck
phodav-2.5-4.el9
php-recode
php-xmlrpc
pidgin
pidgin-devel
pidgin-sipe
pinentry-emacs
pinentry-gtk
pipewire0.2-devel
pipewire0.2-libs
platform-python-coverage
plexus-ant-factory
plexus-ant-factory-javadoc
plexus-archiver-javadoc
plexus-bsh-factory
268
APPENDIX A. CHANGES TO PACKAGES
Package Note
plexus-bsh-factory-javadoc
plexus-build-api-javadoc
plexus-cipher-javadoc
plexus-classworlds-javadoc
plexus-cli
plexus-cli-javadoc
plexus-compiler-extras
plexus-compiler-javadoc
plexus-compiler-pom
plexus-component-api
plexus-component-api-
javadoc
plexus-component-factories-
pom
plexus-components-pom
plexus-containers-
component-javadoc
plexus-containers-
component-metadata
plexus-containers-container-
default
plexus-containers-javadoc
plexus-i18n
plexus-i18n-javadoc
plexus-interactivity
269
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
plexus-interactivity-api
plexus-interactivity-javadoc
plexus-interactivity-jline
plexus-interpolation-javadoc
plexus-io-javadoc
plexus-languages-javadoc
plexus-pom
plexus-resources-javadoc
plexus-sec-dispatcher-
javadoc
plexus-utils-javadoc
plexus-velocity
plexus-velocity-javadoc
plymouth-plugin-throbgress
pmreorder
postgresql-test-rpm-macros
powermock
powermock-api-easymock
powermock-api-mockito
powermock-api-support
powermock-common
powermock-core
powermock-javadoc
270
APPENDIX A. CHANGES TO PACKAGES
Package Note
powermock-junit4
powermock-reflect
powermock-testng
prometheus-jmx-exporter
prometheus-jmx-exporter-
openjdk11
ptscotch-mpich
ptscotch-mpich-devel
ptscotch-mpich-devel-
parmetis
ptscotch-openmpi
ptscotch-openmpi-devel
purple-sipe
pygobject2-doc
pygtk2
pygtk2-codegen
pygtk2-devel
pygtk2-doc
python-nose-docs
python-nss-doc
python-podman-api
python-psycopg2-doc
python-pymongo-doc
python-redis
271
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
python-schedutils
python-slip
python-sphinx-locale
python-sqlalchemy-doc
python-varlink
python-virtualenv-doc
python2-backports
python2-backports-
ssl_match_hostname
python2-bson
python2-coverage
python2-docs
python2-docs-info
python2-funcsigs
python2-gluster
python2-ipaddress
python2-iso8601
python2-mock
python2-nose
python2-numpy-doc
python2-psycopg2-debug
python2-psycopg2-tests
python2-pymongo
272
APPENDIX A. CHANGES TO PACKAGES
Package Note
python2-pymongo-gridfs
python2-pytest-mock
python2-sqlalchemy
python2-tools
python2-virtualenv
python3-avahi
python3-bson
python3-click
python3-coverage
python3-cpio
python3-custodia
python3-docs
python3-evdev
python3-flask
python3-gevent
python3-html5lib
python3-hypothesis
python3-iso8601
python3-itsdangerous
python3-javapackages
python3-jwt
python3-mock
python3-networkx-core
273
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
python3-nose
python3-nss
python3-pexpect
python3-pillow
python3-pillow-devel
python3-pillow-doc
python3-pillow-tk
python3-ptyprocess
python3-pydbus
python3-pymongo
python3-pymongo-gridfs
python3-pyOpenSSL
python3-reportlab
python3-schedutils
python3-scons
python3-semantic_version
python3-slip
python3-slip-dbus
274
APPENDIX A. CHANGES TO PACKAGES
Package Note
python3-sure
python3-syspurpose
python3-unittest2
python3-webencodings
python3-werkzeug
python3-whoosh
python38-asn1crypto
python38-atomicwrites
python38-more-itertools
python38-numpy-doc
python38-psycopg2-doc
python38-psycopg2-tests
python39-more-itertools
python39-numpy-doc
python39-psycopg2-doc
python39-psycopg2-tests
python39-pybind11
python39-pybind11-devel
qdox-javadoc
qemu-kvm-block-gluster
qemu-kvm-block-iscsi
qemu-kvm-block-ssh
275
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
qemu-kvm-device-display-
virtio-gpu-gl
qemu-kvm-device-display-
virtio-gpu-pci-gl
qemu-kvm-device-display-
virtio-vga-gl
qemu-kvm-hw-usbredir
qemu-kvm-tests
qemu-kvm-ui-spice
qpdf
qpdf-doc
qperf The qperf package has been removed. You can use theperftest or iperf3
package instead.
qpid-proton
qrencode
qrencode-devel
qrencode-libs
qt5-qtcanvas3d
qt5-qtcanvas3d-examples
rarian
rarian-compat
re2c
recode
redhat-lsb
redhat-lsb-core
276
APPENDIX A. CHANGES TO PACKAGES
Package Note
redhat-lsb-cxx
redhat-lsb-desktop
redhat-lsb-languages
redhat-lsb-printing
redhat-lsb-submod-
multimedia
redhat-lsb-submod-security
redhat-menus
redhat-support-lib-python
redhat-support-tool
reflections
regexp-javadoc
relaxngDatatype
resteasy-javadoc
rhsm-gtk
rpm-plugin-prioreset
rpmemd
rubygem-abrt
rubygem-abrt-doc
rubygem-bson
rubygem-bson-doc
rubygem-bundler-doc
rubygem-mongo
277
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
rubygem-mongo-doc
rubygem-net-telnet
rubygem-xmlrpc
s390utils-cmsfs The s390utils-cmsfs package has been removed and is replaced by the
s390utils-cmsfs-fuse package.
samyak-devanagari-fonts
samyak-fonts-common
samyak-gujarati-fonts
samyak-malayalam-fonts
samyak-odia-fonts
samyak-tamil-fonts
sanlk-reset
sat4j
scala
scotch
scotch-devel
SDL_sound
selinux-policy-minimum
shim-ia32
shrinkwrap
sil-padauk-book-fonts
278
APPENDIX A. CHANGES TO PACKAGES
Package Note
sisu-inject
sisu-inject
sisu-javadoc
sisu-mojos
sisu-mojos-javadoc
sisu-plexus
sisu-plexus
skkdic
slf4j-ext
slf4j-javadoc
slf4j-jcl
slf4j-log4j12
slf4j-manual
slf4j-sources
SLOF
smc-anjalioldlipi-fonts
smc-dyuthi-fonts
smc-fonts-common
smc-kalyani-fonts
smc-raghumalayalam-fonts
smc-suruma-fonts
softhsm-devel
279
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
sonatype-oss-parent
sonatype-plugins-parent
sos-collector
sparsehash-devel
spax The spax package has been removed. You can use thetar and cpio
commands instead.
spec-version-maven-plugin
spec-version-maven-plugin-
javadoc
spice-0.14.3-4.el9
spice-client-win-x64
spice-client-win-x86
spice-glib
spice-glib-devel
spice-gtk
spice-gtk-tools
spice-gtk3
spice-gtk3-devel
spice-gtk3-vala
spice-parent
spice-qxl-wddm-dod
spice-qxl-xddm
spice-server
280
APPENDIX A. CHANGES TO PACKAGES
Package Note
spice-server-devel
spice-streaming-agent
spice-vdagent-win-x64
spice-vdagent-win-x86
star
stax-ex
stax2-api
stringtemplate
stringtemplate4
subscription-manager-initial-
setup-addon
subscription-manager-
migration
subscription-manager-
migration-data
subversion-javahl
SuperLU
SuperLU-devel
swtpm-devel
swtpm-tools-pkcs11
system-storage-manager
systemd-tests
tcl-brlapi
testng
281
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
testng-javadoc
thai-scalable-laksaman-fonts
tibetan-machine-uni-fonts
torque
torque-devel
torque-libs
tpm-quote-tools
tpm-tools
tpm-tools-pkcs11
treelayout
trousers
trousers-devel
trousers-lib
tuned-profiles-compat
tuned-profiles-nfv-host-bin
tuned-utils-systemtap
tycho
uglify-js
unbound-devel
univocity-output-tester
usbguard-notifier
282
APPENDIX A. CHANGES TO PACKAGES
Package Note
utf8cpp
uthash
uthash-devel
velocity-demo
velocity-javadoc
velocity-manual
vinagre
vino
virt-dib
virt-p2v-maker
vm-dump-metrics-devel
voikko-tools
vorbis-tools
weld-parent
woodstox-core
wqy-microhei-fonts
wqy-unibit-fonts
xalan-j2-demo
xalan-j2-javadoc
xalan-j2-manual
xalan-j2-xsltc
xbean-javadoc
xdelta
283
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
Package Note
xerces-j2-demo
xerces-j2-javadoc
xinetd
xml-commons-apis-javadoc
xml-commons-apis-manual
xml-commons-resolver-
javadoc
xmlgraphics-commons
xmlstreambuffer
xmlunit-javadoc
xmvn-api
xmvn-bisect
xmvn-connector-aether
xmvn-connector-ivy
xmvn-install
xmvn-javadoc
xmvn-parent-pom
xmvn-resolve
xmvn-subst
xmvn-tools-pom
xorg-sgml-doctools
xorg-x11-apps
xorg-x11-docs
284
APPENDIX A. CHANGES TO PACKAGES
Package Note
xorg-x11-drv-ati
xorg-x11-drv-intel
xorg-x11-drv-nouveau
xorg-x11-drv-qxl
xorg-x11-drv-vesa
xorg-x11-server-Xspice
xorg-x11-xkb-utils-devel
xpp3
xsane-gimp
xsom
xz-java-javadoc
yajl-devel
yp-tools
ypbind
ypserv
yum-rhn-plugin
zsh-html
The following packages are distributed in a supported repository in RHEL 8 and in the CodeReady Linux
Builder repository RHEL 9:
NOTE
This list covers only packages that are supported in RHEL 8 but not in RHEL 9.
285
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
apache-commons-collections rhel8-AppStream
apache-commons-compress rhel8-AppStream
aspell rhel8-AppStream
bind-devel rhel8-AppStream
createrepo_c-devel rhel8-AppStream
fstrm-devel rhel8-AppStream
gdbm rhel8-BaseOS
gdbm-devel rhel8-BaseOS
geoclue2-demos rhel8-AppStream
gobject-introspection-devel rhel8-AppStream
gtkspell3 rhel8-AppStream
hivex-devel rhel8-AppStream
kernel-cross-headers rhel8-BaseOS
ksc rhel8-BaseOS
libatomic_ops rhel8-AppStream
libestr-devel rhel8-AppStream
libfdisk-devel rhel8-BaseOS
libguestfs-devel rhel8-AppStream
libguestfs-gobject rhel8-AppStream
libguestfs-gobject-devel rhel8-AppStream
libguestfs-man-pages-ja rhel8-AppStream
libguestfs-man-pages-uk rhel8-AppStream
libica-devel rhel8-BaseOS
286
APPENDIX A. CHANGES TO PACKAGES
libiscsi-devel rhel8-AppStream
libjose-devel rhel8-AppStream
libldb-devel rhel8-BaseOS
libluksmeta-devel rhel8-AppStream
libnbd-devel rhel8-AppStream
libslirp-devel rhel8-AppStream
libtalloc-devel rhel8-BaseOS
libtdb-devel rhel8-BaseOS
libtevent-devel rhel8-BaseOS
libvirt-devel rhel8-AppStream
libvirt-docs rhel8-AppStream
libvirt-lock-sanlock rhel8-AppStream
libwinpr-devel rhel8-AppStream
libzip-devel rhel8-AppStream
lua-guestfs rhel8-AppStream
mariadb-devel rhel8-AppStream
mariadb-embedded-devel rhel8-AppStream
mariadb-test rhel8-AppStream
multilib-rpm-config rhel8-AppStream
mysql-devel rhel8-AppStream
mysql-libs rhel8-AppStream
mysql-test rhel8-AppStream
nbdkit-devel rhel8-AppStream
287
Red Hat Enterprise Linux 9 Considerations in adopting RHEL 9
nbdkit-example-plugins rhel8-AppStream
nginx-mod-devel rhel8-AppStream
nss_db rhel8-BaseOS
openblas-threads rhel8-AppStream
perl-IO-String rhel8-AppStream
perl-Module-Pluggable rhel8-AppStream
perl-Module-Runtime rhel8-AppStream
perl-Parse-Yapp rhel8-BaseOS
postgresql-server-devel rhel8-AppStream
postgresql-test rhel8-AppStream
postgresql-upgrade-devel rhel8-AppStream
protobuf-c-compiler rhel8-AppStream
protobuf-c-devel rhel8-AppStream
protobuf-compiler rhel8-AppStream
python3-gobject-base rhel8-AppStream
python3-hivex rhel8-AppStream
python3-ipatests rhel8-AppStream
python3-libguestfs rhel8-AppStream
qclib-devel rhel8-BaseOS
ruby-hivex rhel8-AppStream
ruby-libguestfs rhel8-AppStream
samba-pidl rhel8-BaseOS
samba-test rhel8-BaseOS
288
APPENDIX A. CHANGES TO PACKAGES
samba-test-libs rhel8-BaseOS
sendmail-milter rhel8-AppStream
spice-protocol rhel8-BaseOS
supermin-devel rhel8-AppStream
swig rhel8-AppStream
swig-doc rhel8-AppStream
swig-gdb rhel8-AppStream
turbojpeg rhel8-AppStream
unixODBC-devel rhel8-AppStream
usbredir-devel rhel8-AppStream
velocity rhel8-AppStream
289