What’s New in RHEL 10

Red Hat Enterprise Linux 10

Red Hat made the download of RHEL 10 available in the Red Hat portal on Tuesday 13 May 2025 and officially announced it as General Availability (GA) status one week later at Red Hat Summit in Boston on Tuesday 20 May 2025.

Press and forum links

Official Documentation

RHEL 10 Facts

Let’s have a look at some RHEL 10 facts and see how it compares to RHEL 9, released three years ago in May 2022:

  • The release has a codename of ‘Coughlan‘ (following on from Plow which was the name for RHEL 9)
  • The kernel is based on 6.12.0 (versus 5.14.0 in RHEL 9)
    * Note that RHEL 10 Beta was released on 6.11 – see CentOS 10 uses kernel 6.12 and RHEL 10 uses kernel 6.11? Why? for further information
  • glibc is at version 2.39 (versus 2.34 in RHEL 9)
  • systemd is at version 256 (versus 252 in RHEL 9.5)
  • python is at version 3.12 (versus 3.9 in RHEL 9)
  • bash is at version 5.2.26 (versus 5.1.8 in RHEL 9)
  • dnf is at version 4.20 (versus 4.10 in RHEL 9)
  • rpm is at version 4.19 (versus 4.16 in RHEL 9)
  • sudo is at version 1.9.15 (versus 1.9.5 in RHEL 9)
  • firefox is at version 128.8
  • ansible-core is at version 2.16.14 (versus 2.14.18 in RHEL 9.6)
  • The release is based on Fedora 40list of changes in Fedora 40
  • RHEL 10 is supported until 2035 so you can install today and upgrade the system in place for the next ten years.
RHEL 10 Coughlan

Note

This post is not endorsed or affiliated with Red Hat – the information provided is based on experience, documentation and publicly available information. Feel free to leave feedback at the end of this page if anything needs correction.
For an up to date roadmap discussion on RHEL please contact your Red Hat Account rep.

Getting Started

The easiest way to get started with RHEL 10 is to sign up for the No-cost RHEL for developers subscription. As well as access to the Red Hat documentation you can subscribe your own home lab servers so that you get the latest errata – it’s great for learning and testing. It’s possible to download the binary DVD from the Red Hat portal by clicking on the Downloads link in the top bar and selecting All Red Hat Enterprise Linux Downloads. Once on the portal you can have the following options:

  • Red Hat Enterprise Linux 10.0 Binary DVD which is just under 8GB in size. Contains everything you need to get a working systems
  • Red Hat Enterprise Linux 10.0 Boot ISO which comes in just under 1GB in size and requires you to have access to the Red Hat repositories to perform an installation
  • Red Hat Enterprise Linux 10.0 KVM Guest Image which allows you to create a RHEL virtual machine on a KVM/QEMU hypervisor
  • Red Hat Enterprise Linux 10.0 WSL2 Image which allows you to run RHEL under Microsoft Windows Subsystem for Linux. For details of setting this up see Getting started with RHEL on WSL.

Image Builder

If downloading the Binary DVD from Red Hat does not appeal and you’ve not tried it before you can Build RHEL 10 with Insights Image Builder. Using the tool, it’s possible to add customisations such as file system layout and the particular packages you want installed. You can chose the format of the resulting image to match your target environment – an ISO image for bare meta, a QCOW image for virtualisation or an image for the major cloud providers.

Significant Changes

Let’s take a look at some of the more significant changes that enterprises may need to take into account when deploying RHEL 10.

Red Hat Enterprise Linux Lightspeed

Red Hat have introduced a nice feature to help experienced and new users manage their system from the command line. Red Hat Enterprise Linux Lightspeed comes with every RHEL subscription and allows you to ask questions in plain English about how to perform tasks. It’s very easy to get started, especially if you are using the Developer subscription and have registered your server with console.redhat.com

Installing Command Line Assistant (cla)

admin@rhel10:~$ sudo dnf install -y command-line-assistant
Updating Subscription Management repositories.
Last metadata expiration check: 5:38:54 ago on Mon 09 Jun 2025 10:06:51 BST.
Dependencies resolved.
=========================================================================================================
 Package                          Arch     Version             Repository                           Size
=========================================================================================================
Installing:
 command-line-assistant           noarch   0.3.1-3.el10_0      rhel-10-for-x86_64-appstream-rpms   248 k
Installing dependencies:
 command-line-assistant-selinux   noarch   0.3.1-3.el10_0      rhel-10-for-x86_64-appstream-rpms    26 k
 python3-greenlet                 x86_64   3.0.3-5.el10        rhel-10-for-x86_64-appstream-rpms   268 k
 python3-sqlalchemy               x86_64   2.0.26-6.el10       rhel-10-for-x86_64-appstream-rpms   3.6 M
 python3-typing-extensions        noarch   4.9.0-6.el10        rhel-10-for-x86_64-baseos-rpms       81 k

Transaction Summary
=========================================================================================================
Install  5 Packages

Total download size: 4.2 M
Installed size: 24 M
Downloading Packages:
(1/5): python3-typing-extensions-4.9.0-6.el10.noarch.rpm                  16 kB/s |  81 kB     00:05    
(2/5): python3-greenlet-3.0.3-5.el10.x86_64.rpm                           53 kB/s | 268 kB     00:05    
(3/5): command-line-assistant-0.3.1-3.el10_0.noarch.rpm                  955 kB/s | 248 kB     00:00    
(4/5): command-line-assistant-selinux-0.3.1-3.el10_0.noarch.rpm          137 kB/s |  26 kB     00:00    
(5/5): python3-sqlalchemy-2.0.26-6.el10.x86_64.rpm                       645 kB/s | 3.6 MB     00:05    
---------------------------------------------------------------------------------------------------------
Total                                                                    753 kB/s | 4.2 MB     00:05     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                 1/1 
  Running scriptlet: command-line-assistant-selinux-0.3.1-3.el10_0.noarch                            1/5 
  Installing       : command-line-assistant-selinux-0.3.1-3.el10_0.noarch                            1/5 
  Running scriptlet: command-line-assistant-selinux-0.3.1-3.el10_0.noarch                            1/5 
  Installing       : python3-greenlet-3.0.3-5.el10.x86_64                                            2/5 
  Installing       : python3-typing-extensions-4.9.0-6.el10.noarch                                   3/5 
  Installing       : python3-sqlalchemy-2.0.26-6.el10.x86_64                                         4/5 
  Installing       : command-line-assistant-0.3.1-3.el10_0.noarch                                    5/5 
  Running scriptlet: command-line-assistant-0.3.1-3.el10_0.noarch                                    5/5 
  Running scriptlet: command-line-assistant-selinux-0.3.1-3.el10_0.noarch                            5/5 
  Running scriptlet: command-line-assistant-0.3.1-3.el10_0.noarch                                    5/5 
Installed products updated.

Installed:
  command-line-assistant-0.3.1-3.el10_0.noarch    command-line-assistant-selinux-0.3.1-3.el10_0.noarch  
  python3-greenlet-3.0.3-5.el10.x86_64            python3-sqlalchemy-2.0.26-6.el10.x86_64               
  python3-typing-extensions-4.9.0-6.el10.noarch  

Complete!
admin@rhel10:~$ 

Using cla – c

Installing the command line assistance adds a binary called ‘c’ which saves you some extra typing if you want to begin a convesation with the command line assistant. For example:

admin@rhel10:~$ cla chat "what is the current time"
⁻₊+ Asking RHEL Lightspeed

is the same as

admin@rhel10:~$ c "what is the current time"
⁺₊+ Asking RHEL Lightspeed

Here are some things you might use RHEL Lightspeed for:

admin@rhel10:~$ c "how do I create a symlink"
admin@rhel10:~$ c "how do I create a network bond"
admin@rhel10:~$ c "How do I find the largest files in the root filesystem which are not owned by a package"

If you have Red Hat Satellite in your environment, there are a couple of additional pre-requistes as described in Red Hat Documentation – Provisioning the command-line assistant to RHEL deployments with Red Hat Satellite You must register the client directly to with Insights at cloud.redhat.com – you cannot register it with the Insights bundled with Satellite. Also, the host must be registered to a Satellite 6.17+ server or later and the Satellite Server must be connected to the internet. Finally, the AppStream repository on the host to be able to install command-line assistant.

Application Streams

In RHEL 10 Application Steams do not use modularity as the packaging technology

In RHEL 10, Red Hat does not intend to provide any Application Streams that use modularity as the packaging technology and, therefore, no modular content is being distributed with RHEL 10

https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10/html/considerations_in_adopting_rhel_10/application-streams
[root@rhel10 ~]# dnf module list
Updating Subscription Management repositories.
Last metadata expiration check: 16:35:49 ago on Mon 16 Dec 2024 18:12:42 GMT.

Compare that with RHEL 9 where there are many module streams:

[root@rhel9 ~]# dnf module list
Updating Subscription Management repositories.
Last metadata expiration check: 0:18:26 ago on Tue 17 Dec 2024 10:26:38 GMT.
Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs)
Name                                  Stream                            Profiles                                                         Summary                                                                         
mariadb                               10.11                             client, galera, server [d]                                       MariaDB Module                                                                  
maven                                 3.8                               common [d]                                                       Java project management and project comprehension tool                          
nginx                                 1.22                              common [d]                                                       nginx webserver                                                                 
nginx                                 1.24                              common [d]                                                       nginx webserver                                                                 
nodejs                                18                                common [d], development, minimal, s2i                            Javascript runtime                                                              
nodejs                                20                                common [d], development, minimal, s2i                            Javascript runtime                                                              
nodejs                                22                                common [d], development, minimal, s2i                            Javascript runtime                                                              
php                                   8.1                               common [d], devel, minimal                                       PHP scripting language                                                          
php                                   8.2                               common [d], devel, minimal                                       PHP scripting language                                                          
postgresql                            15                                client, server [d]                                               PostgreSQL server and client module                                             
postgresql                            16                                client, server [d]                                               PostgreSQL server and client module                                             
redis                                 7                                 common [d]                                                       Redis persistent key-value database                                             
ruby                                  3.1                               common [d]                                                       An interpreter of object-oriented scripting language                            
ruby                                  3.3                               common [d]                                                       An interpreter of object-oriented scripting language                            

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Network Naming

Many sysadmins will remember network names such as eth0 It was possible to use these older names with previous RHEL releases by providing the net.ifnames=0 kernel parameter. With RHEL 10, this argument can no longer be used and predictable network interface names are necessary. For example, when running as a KVM guest, my RHEL 10 server uses ens3 as it’s primary interface.

Network Teaming

The teamd service has been removed in RHEL 10. It was marked as deprecated in RHEL 9 so hopefully this won’t be a big change for most organisations. The well-used kernel bonding is a suitable replacement.

Network Configuration Files

It’s no longer possible to use the old ifcfg format of network configuration files. This might be notable change for custom provisioning setups if you’ve been using old kickstarts or custom scripts – you’ll need to switch to the new key format.

OpenSCAP

Although the oscp-anaconda-addon package has been removed, there’s now a new Kickstart remediation type added, to help admins build secure, hardened systems by default.

Firefox

Unlike the RHEL 10 Beta, RHEL 10 includes Firefox.

Installation

It’s been a while since I’ve used the interactive installer so the new RHEL 10 release provides a nice opportunity to see what’s been modified.

Firstly, the integration with Red Hat Insights is front and center, with a nice dialogue box to allow to configure your system at installation time. Opting in to Insights is now a single checkbox. It’s nice to see this available even for this beta release.

RHEL 10 Installer - Connect to Red Hat and Red Hat Insights

The root account is disabled by default. This is a good security default and ensures that enabling it and optionally setting a password is a conscious choice.

RHEL 10 installer root account options

Once you’ve answered the relevant sections in the installer summary you are good to begin your installation.

RHEL 10 Installer

Desktop

On the desktop side of things, RHEL 10 beta has removed Xorg server and other X servers (except Xwayland) from RHEL 10. Wayland has been developed over the last few years and built from the ground up with hardware acceleration in mind. Some users who have legacy X11 applications may want to test that Xwayland is able to run their applications if they won’t immediately be ported to Wayland.

RHEL 10 ships with Gnome 47 with a prominent ’10’ background.

RHEL 10 Desktop
RHEL 10 Desktop

Performance

A nice side effect of updating your Operating System is the newer packages and performance enhancements that they bring. Phoronix has a great write-up if you’re looking at some early benchmarks as to what RHEL 10 might deliver:

However, as good as these improvements are, it may mean that you need a CPU that supports x86-64-v3 capabilities, so some hardware may not be able to RHEL 10.

EPEL Alternative – Extensions Repo

Observers will note that there is a new repository that can be in RHEL 10 (and soon to be introduced to RHEL 9 as well) called ‘extensions’.

root@rhel10:~# dnf repolist info rhel-10-for-x86_64-extensions-rpms
Updating Subscription Management repositories.
repo id                               repo name                                                      status
rhel-10-for-x86_64-extensions-rpms    Red Hat Enterprise Linux 10 for x86_64 - Extensions (RPMs)     disabled

Red Hat positions why you might want use this new repository in it’s blog post Unleashing innovation in Red Hat Enterprise Linux with extensions repository:

“If you’ve found yourself wanting to use content from EPEL but you’ve been unable to do so for compliance reasons, extensions is meant for you.”

https://www.redhat.com/en/blog/unleashing-innovation-rhel-extensions-repository

Here’s how to enable it and view the current packages that it offers:

root@rhel10:~# dnf config-manager --set-enabled rhel-10-for-x86_64-extensions-rpms
Updating Subscription Management repositories.

root@rhel10:~# dnf list --available --disablerepo=\* --enablerepo=rhel-10-for-x86_64-extensions-rpms
Updating Subscription Management repositories.
Last metadata expiration check: 0:07:38 ago on Mon 09 Jun 2025 09:52:11 BST.
Available Packages
htop.x86_64                             3.3.0-1.el10_0.1                   rhel-10-for-x86_64-extensions-rpms
podman-desktop.x86_64                   1.18.0-3.el10_0                    rhel-10-for-x86_64-extensions-rpms

So, as of June 2025 htop and podman-desktop are available in this extensions repository. It’s likely this package list will grow over time. Why start to take this over EPEL? Well, perhaps your organisation can’t take EPEL due to policy requirements (eg, a named software supplier is required). By using this new repository you get to use a secure supply chain (packages built and signed by Red Hat), software that always up to date, integrates easily with existing RHEL services (uses the same CDN, easy to consume in Red Hat Satellite) and benefit from community support to get the latest enhancements.

EPEL

Although the extensions repository is available, you may still want to use the EPEL repository. This is very easy to setup:

dnf config-manager --set-enabled crb && dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm

For additional information, see EPEL – Fedora Project Wiki and Fedora Community Blog – EPEL 10 is now available.

Wrap Up

This has been a very quick look at the latest Operating System software release from Red Hat – RHEL 10. We’ll update this page with further findings as we go but as always you can’t beat (a) testing this out for yourself (which is really easy with the No-cost RHEL for developers subscription) and (b) referring to the official Red Hat documentation for official answers to questions you may have.

RHEL 10 Beta

RHEL 10 (Coughlan)
RHEL 10 (Coughlan)

The first beta release of Red Hat Enterprise Linux 10 (RHEL 10) was made available for download on 12 November 2024. As we did with the RHEL 9 Beta back in 2021, we took look at the beta and highlighted some of the changes and new features that are available along with links to the official documents, press releases and relevant blog posts. This page has now been update following the General Availability of RHEL 10 on 20 May 2025.

Beta Documentation

Download the RHEL 10 Beta

For most people, the easiest way to get started is to download the RHEL 10 beta from the public Red Hat FTP site at https://ftp.redhat.com/redhat/rhel/rhel-10-beta/.

Firefox in the RHEL 10 Beta

As of December 2024, the RHEL 10 Beta did not include the firefox web browser and the firefox and firefox-x11 packages are listed in the RHEL 10 removed packages To get up and running with firefox, flatpak provides one option that works fine on the beta.

flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.mozilla.firefox

EPEL 10 Beta

If you wish to test RHEL 10 today, you’ll be pleased to know that Extra Packages for Enterprise Linux (EPEL 10) is available. As with RHEL 9, it’s recommended to add the Codeready Builder (CRB) repository if you use EPEL. As of the beta release, the commands below will enable the codeready-builder-beta-for-rhel-10-x86_64-rpms repository.

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm
/usr/bin/crb enable

It’s worth noting that as of December 2024, CentOS Stream 10 is a representation of 10.0 content with EPEL 10 being the 10.0 repo. However, the RHEL 10 beta is functionally a minor version before 10.0. The following diagram from the previous announcement blog post highlights this and Reddit Post helps explain this. The upshot of this is that while many EPEL packages work fine on the RHEL 10 beta, there may be some that don’t.

Page history

  • 17 December 2024 – initial version
  • 17 January 2025 – fix typos, add link to using Image Builder for RHEL 10 Beta, add link to public FTP site to download RHEL 10
  • 15 May 2025 – RHEL 10 GA is now available on the Red Hat portal
  • 20 May 2025 – RHEL 10 GA is officially announced at Red Hat Summit
  • 8 June 2025 – Add information about the extensions repository in RHEL 10 and RHEL 9

4 thoughts on “What’s New in RHEL 10

  1. When RHEL 10.0 GA is released, will it be possible to upgrade in place from 9.X —> 10? or would it likely require starting from scratch??

Leave a Reply

Your email address will not be published. Required fields are marked *