Table of Contents
This document provides instructions on how to perform an unsupported conversion of your operating system from a different Linux distribution to Red Hat Enterprise Linux (RHEL).
The conversion is performed by the
Convert2RHEL utility, which is available on GitHub, and is unsupported by Red Hat for these scenarios.
The conversion from CentOS Linux and Oracle Linux to RHEL 7 and 8 is supported by Red Hat. For more information, see Converting from an RPM-based Linux distribution to RHEL. See also Convert2RHEL Support Policy.
Red Hat recommends that you seek the support of Red Hat Consulting services to ensure that the conversion process is smooth.
The Red Hat packages installed as part of a successfully converted system are automatically eligible for Red Hat support. Red Hat support may not be provided for the third-party packages that are left unchanged during the conversion process. See the Red Hat policy on supporting third-party software.
If you encounter any issues with the
Convert2RHEL utility, file an issue in GitHub.
How OS conversion works
The automated conversion process is performed on a running system. The
Convert2RHEL utility replaces all RPM packages from the original Linux distribution by their RHEL version. At the end of the process, it is necessary to restart the system to boot into the RHEL kernel.
Packages that are available only in the original distribution and do not have corresponding counterparts in RHEL repositories, or third-party packages, which originate neither from the original Linux distribution nor from RHEL, are not affected by the conversion.
Differences between supported and unsupported conversions
Red Hat allows conversions from several different RHEL-derived operating systems to RHEL. However, unsupported conversions are not tested by Red Hat and should therefore be performed at your own risk. Supported conversions are thoroughly tested by Red Hat prior to release.
Different conversion paths are available as supported or unsupported conversions. For example, the conversion from CentOS Linux 6 to RHEL 6 is unsupported, while the conversion from CentOS Linux 7 to RHEL 7 is supported. For a full list of unsupported conversion paths, see the table below. For a full list of supported conversion paths, see Supported conversion paths in the Converting from an RPM-based Linux distribution to RHEL guide.
If you are performing an unsupported conversion, use this Knowledgebase article for instructions about how to prepare your system and perform the conversion. If you are performing a supported conversion, you must use the Converting from an RPM-based distribution to RHEL guide. If you attempt to perform an unsupported conversion using instructions for supported conversions, or the reverse, you might run into issues during the conversion process.
Available unsupported conversion paths
Currently, it is possible to perform an unsupported conversion of your systems from the following Linux distributions, architectures, and versions to the latest minor version of the corresponding major versions of RHEL listed in the table below.
|Source OS||Target OS||Architecture|
|CentOS Linux 6||RHEL 6||64-bit architecture|
|Oracle Linux 6||RHEL 6||64-bit architecture|
|Scientific Linux 7||RHEL 7||64-bit architecture|
|Alma Linux 8||RHEL 8||64-bit architecture|
|Rocky Linux 8||RHEL 8||64-bit architecture|
In addition to the above unsupported conversion paths, it is also possible to perform a supported conversion from CentOS Linux and Oracle Linux 7 and 8 to RHEL 7 and 8. For information on supported conversions, see Converting from an RPM-based Linux distribution to RHEL.
RHEL 6 is in the Maintenance Support 2 Phase of its life cycle. If you are unable to upgrade to RHEL 7 or upgrade to RHEL 8 after the conversion, and require continued maintenance for RHEL 6 after this date, we recommend that you purchase the Extended Life Cycle Support Add-on (ELS).
It is not possible to directly convert from Scientific Linux to RHEL 8. Instead, you can convert from Scientific Linux to RHEL 7 and then perform an in-place upgrade to RHEL 8. For information on the in-place upgrade, see Upgrading from RHEL 7 to RHEL 8.
Certain system setups are not currently supported for conversion. For more information, see Known Issues.
- Back up your system and verify that you are able to restore it.
- Ensure that the standard kernel is the booted kernel:
- Oracle Linux: the Red Hat Compatible Kernel (RHCK)
- CentOS Linux: the standard CentOS Linux kernel
- Scientific Linux: the standard Scientific Linux kernel
If the kernel your system is booted into is not the standard kernel, for example Oracle Linux Unbreakable Enterprise Kernel (UEK) or CentOS realtime kernel, change the default kernel to the standard kernel and reboot your system. For more information, see Making Persistent Changes to a GRUB 2 Menu Using the grubby Tool.
Install the Convert2RHEL utility:
Download the Red Hat GPG key:
# curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release https://www.redhat.com/security/data/fd431d51.txt
Download the SSL certificate of the https://cdn.redhat.com server, which contains the Convert2RHEL repositories:
# curl --create-dirs -o /etc/rhsm/ca/redhat-uep.pem https://ftp.redhat.com/redhat/convert2rhel/redhat-uep.pem
Install the Convert2RHEL repository file:
# curl -o /etc/yum.repos.d/convert2rhel.repo https://ftp.redhat.com/redhat/convert2rhel/<version_number>/convert2rhel.repo
Replace version_number with the appropriate major version of the OS, for example 6.
You must perform the conversion with the latest version of the Convert2RHEL repository file. If you had previously installed an earlier version of the repository file, remove the earlier version and install the current version.
# yum -y install convert2rhel
All Convert2RHEL dependencies are available in the standard repositories of the source OS except CentOS Linux 6, which has reached end of life. CentOS Linux 6 repositories are archived in the Vault. Reconfigure your CentOS Linux 6 repositories to the Vault to make Convert2RHEL dependencies available.
Ensure that you have an access to RHEL packages through one of the following methods:
- Red Hat Content Delivery Network (CDN) through Red Hat Subscription Manager (RHSM). You must have a Red Hat account and an appropriate RHEL subscription to access RHSM. Note that the OS will be converted to the latest minor version of RHEL for the appropriate major version.
- Red Hat Satellite in a version that has Full or Maintenance support. For more information, see Red Hat Satellite Product Life Cycle.
Ensure that the Satellite server meets the following conditions:
- Satellite has a subscription manifest with RHEL repositories imported. For more information, see the Managing Subscriptions chapter in the Content Management Guide for the particular version of Red Hat Satellite, for example, for version 6.8.
- All required repositories are enabled and synchronized with the latest updates and published on Satellite. Enable at minimum the following repositories for the appropriate major version of the OS:
- Red Hat Enterprise Linux 6 Server RPMs x86_64 6Server repository.
- Red Hat Enterprise Linux 7 Server RPMs x86_64 7Server
- Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8.6
- Red Hat Enterprise Linux 8 for x86_64 - BaseOS RPMs 8.6
- You have created an activation key in Satellite and assigned the above repositories to the key. For more information, see Managing Activation Keys.
- Custom repositories configured in the
/etc/yum.repos.d/directory and pointing, for example, to RHEL ISO, FTP, or HTTP. Use custom repositories for systems that have access to only local networks or portable media and therefore cannot access Red Hat CDN through RHSM. Note that the OS will be converted to the version of RHEL provided by these repositories. Make sure that the RHEL minor version is the same or later than the original OS minor version to prevent downgrading and potential conversion failures. For more information, see Creating a Local Repository and Sharing With Disconnected/Offline/Air-gapped Systems.
If you are accessing RHEL packages through a Red Hat Satellite server, download the consumer RPM to the /usr/share/convert2rhel/subscription-manager/ directory:
# curl --insecure --output /usr/share/convert2rhel/subscription-manager/katello-ca-consumer-latest.noarch.rpm https://<satellite.example.com>/pub/katello-ca-consumer-latest.noarch.rpm
Replace satellite.example.com with the host name of your Satellite server.
Temporarily disable antivirus software to prevent the conversion from failing.
Update packages from the original OS to the latest version that is available in the repositories accessible from the system, and reboot the system:
# yum update -y # reboot
Without performing this step, the rollback feature will not work correctly, and exiting the conversion in any phase may result in a dysfunctional system.
Converting the system
If you are accessing RHEL packages using Red Hat CDN or Satellite through RHSM, there are two methods of registering and subscribing your system during the conversion:
Provide the organization ID and activation key. This method is preferred when converting many systems or when automating the conversion process using scripts. You must be the organization administrator to create an activation key. You must use this method if you are accessing RHEL packages using Satellite through RHSM. For more information, see Managing activation keys in Satellite documentation and Understanding activation keys in RHSM documentation.
Provide the username, password, and pool ID. Any user who is accessing RHEL packages using Red Hat CDN through RHSM can use this method.
You can use Convert2RHEL with either RHSM or custom repositories. To display all available options, use the
# convert2rhel -h
To convert using RHSM with the organization ID and activation key, complete the following steps. You must use this method if you are accessing RHEL packages using Satellite:
Create a configuration file containing the activation key and save the file in the
[subscription_manager] activation_key = <activation_key>
Replace activation_key with the activation key from the Red Hat Customer Portal if you are using Red Hat CDN or the Satellite web UI if you are using Red Hat Satellite.
# convert2rhel --org <organization_ID> --config-file <config_file_name>
Replace organization_ID with the Organization ID from the Red Hat Customer Portal if you are using Red Hat CDN or from the Satellite web UI if you are using Red Hat Satellite. Replace config_file_name with the name of the configuration file you created, for example
If you are accessing RHEL packages using Satellite and your system does not have internet access, add the
--keep-rhsmoption. Note that you must have the
katello-ca-consumerpackages already installed and must provide your organization ID and activation key when running the
To convert using RHSM with the username, password, and pool ID, complete the following steps:
Create a configuration file containing the password and save the file in the
[subscription_manager] password = <password>
Replace password with your Red Hat Account password credentials.
# convert2rhel --username <username> --config-file <config_file_name> --pool <pool_id>
Replace username with your Red Hat Account username credentials. Replace config_file_name with the name of the configuration file you created, for example
convert2rhel.ini. Replace pool_id with the pool ID of the subscription that you want to attach to the system. If you do not know the pool ID, omit the
--pooloption to generate a list of all subscriptions available for the account.
To convert using custom repositories, start the
# convert2rhel --no-rhsm --enablerepo <RHEL_RepoID1> --enablerepo <RHEL_RepoID2> --debug
Replace RHEL_RepoID with your custom repository configured in the
Convert2RHELstarts replacing packages from the original distribution with RHEL packages, the following warning message is displayed:
The tool allows rollback of any action until this point. By continuing all further changes on the system will need to be reverted manually by the user, if necessary.
Changes made by
Convert2RHELup to this point can be automatically reverted. Confirm that you wish to proceed with the conversion process.
Convert2RHELinstalls the RHEL packages.
Recommended: If you used custom repositories for the conversion, subscribe and update your RHEL system:
- Install the subscription-manager command line utility:
# yum install subscription-manager -y
- Register and subscribe your system. For more information, see How to register and subscribe a system to the Red Hat Customer Portal using Red Hat Subscription-Manager.
- Update your system:
# yum update -y
At this point, the system still runs with the original distribution kernel loaded in RAM. Reboot the system to boot into the newly installed RHEL kernel.
Remove third-party packages from the original OS that remained unchanged (typically packages that do not have a RHEL counterpart). To get a list of such packages, use:
# yum list extras --disablerepo="*" --enablerepo=<RHEL_RepoID>
Replace RHEL_RepoID with the repository ID.
If necessary, reconfigure system services after the conversion.
Convert2RHEL utility stores the
convert2rhel.log file in the
/var/log/convert2rhel/ directory. Its content is identical to what is printed to the standard output.
The output of the
rpm -Va command, which is run automatically unless the
--no-rpm-va option is used, is stored in the
/var/log/convert2rhel/rpm_va.log file for debugging purposes.
Convert2RHEL utility provides a limited rollback functionality. If the conversion is canceled by the user or if it fails, the utility performs a rollback of changes made during the conversion process under the following conditions:
Only changes performed until
Convert2RHELstarts replacing packages from the original distribution with RHEL packages can be reverted. This moment is indicated by the warning message:
The tool allows rollback of any action until this point. By continuing all further changes on the system will need to be reverted manually by the user, if necessary.
followed by a question whether you wish to continue with the process.
Access to repositories providing packages from the original distribution is required, especially to the base repository, otherwise
Convert2RHELwill be unable to restore the system to the original state even if the tool execution is stopped in the early stages of the conversion. That is because
Convert2RHELremoves certain packages during the conversion process and needs to preemptively download them from the original repository for the case of a rollback.
A rollback is feasible only on a system where all packages from the original OS are updated to the latest version that is available in the repositories accessible from the system. Therefore use the
yum updatecommand before starting the conversion process.
NOTE: If the
-y option is used, the question indicating the moment after which the automated rollback is no longer possible is skipped.
WARNING: If the conversion process is canceled or fails after
Convert2RHEL has started the package replacement phase, the system can become dysfunctional. In such a case, manual fixes are needed. Please contact Red Hat Consulting services for help.
- UEFI-based systems cannot be converted to RHEL 6. (BZ#1899314)
- The conversion stops if any files are mounted directly to the
/mnt/directory or if the
/sys/directory is mounted as read-only.
- Systems using high availability cluster software by Red Hat or third parties are not currently supported for conversion to RHEL. Red Hat recommends migrating to newly installed RHEL systems to ensure the integrity of these environments.
- Systems using kernel modules that do not exist in RHEL kernel modules are not currently supported for conversion. Unsupported kernel modules include:
- Kernel modules for specialized applications, GPUs, network drivers, or storage drivers
- Custom compiled kernel modules built by DKMS
Red Hat recommends disabling or uninstalling foreign kernel modules before the conversion and then enabling or reinstalling those kernel modules afterwards.
Systems that connect to the Internet using an HTTP proxy server cannot convert using Red Hat CDN or Satellite through RHSM. To work around this problem, enable HTTP proxy for yum and then configure the HTTP proxy for RHSM:
- Configure yum to use an HTTP proxy as described in How to enable Proxy settings for Yum Command on RHEL?
- For Oracle Linux conversions, define and enable repositories pointing to
- Install the subscription-manager package.
- Configure HTTP proxy for RHSM as described in How to configure HTTP Proxy for Red Hat Subscription Management.
Prevent the configuration file from being deleted during the conversion:
chattr +i /etc/rhsm/rhsm.conf
Perform the conversion to RHEL.
- The conversion fails while checking the latest kernel version if any of the repositories enabled on the system is not accessible. (Jira:RHELC-689)
Conversions from CentOS Linux 6 and Oracle Linux 6 to RHEL 6, Scientific Linux 7 to RHEL 7, and Alma Linux 8 and Rocky Linux 8 to RHEL 8 are not currently supported by Red Hat. Conversions from CentOS Linux 7 and 8 and Oracle Linux 7 and 8 to RHEL 7 and 8 are supported by Red Hat. For more information on supported CentOS Linux and Oracle Linux conversions, see Converting from an RPM-based Linux distribution to RHEL.
To report a bug in
Convert2RHEL, file an issue in GitHub.
Converting from an RPM-based Linux distribution to RHEL
Red Hat Enterprise Linux technology capabilities and limits
Red Hat Enterprise Linux documentation
Migration planning guide - migration to RHEL 6
Migration planning guide - migration to RHEL 7
Upgrading from RHEL 6 to RHEL 7
Considerations in adopting RHEL 8
Upgrading from RHEL 7 to RHEL 8
How to create a local mirror of the latest update for Red Hat Enterprise Linux 5, 6, 7, 8 without using Satellite server?
Blog post: Converting from CentOS to RHEL with Convert2RHEL and Satellite