Warning message

Log in to add comments or rate this document.

How to convert from CentOS Linux 6 or Oracle Linux 6 to RHEL 6

Updated 2021-07-26T13:51:07+00:00

This document provides instructions on how to convert your operating system from a different Linux distribution, namely CentOS Linux 6 or Oracle Linux 6, to Red Hat Enterprise Linux (RHEL) 6.

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.

IMPORTANT:
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.

NOTE:
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.

Available conversion paths

Currently, it is possible to perform an unsupported conversion of your systems from CentOS Linux 6 and Oracle Linux 6 to RHEL 6 on the 64-bit Intel architecture.

RHEL 6 will exit the Maintenance Support 2 Phase of its life cycle on November 30, 2020. 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).

IMPORTANT
Certain system setups are not currently supported for conversion. For more information, see Known Issues.

Prerequisites

  • 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
      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
      
    • Install the Convert2RHEL repository:

      # curl -o /etc/yum.repos.d/convert2rhel.repo https://ftp.redhat.com/redhat/convert2rhel/6/convert2rhel.repo
      
    • Install the Convert2RHEL utility:

      # yum -y install convert2rhel
      

    NOTE:
    All Convert2RHEL dependencies are available in standard CentOS Linux/Oracle Linux repositories 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 RHEL 6.10, which is 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.
      NOTE
      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 Red Hat Enterprise Linux 6 Server RPMs x86_64 6Server repository.
      • 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 can connect to only local networks and cannot therefore 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.

  • 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.

  1. Start the Convert2RHEL utility.
    You can use Convert2RHEL with either RHSM or custom repositories.

    • Using RHSM:

      • With the organization ID and activation key:
      # convert2rhel --org <organization_ID> --activationkey <activation_key>
      

      Replace organization_ID and activation_key with the Organization ID and the Activation Key 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.
      NOTE:
      If you are accessing RHEL packages using Satellite, you must use the organization ID and activation key to run the convert2rhel command.
      NOTE:
      If you are accessing RHEL packages using Satellite and your system does not have internet access, add the --keep-rhsm option. Note that you must have the subscription-manager and the katello-ca-consumer packages already installed and must provide your organization ID and activation key when running the convert2rhel command.

      • With the username, password, and pool ID:
      # convert2rhel --username <username> --password <password> --pool <pool_id>
      

      Replace username and password with your Red Hat Account credentials. 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 --pool option to generate a list of all subscriptions available for the account.

    • Using custom repositories:

    # convert2rhel --no-rhsm --enablerepo <RHEL_RepoID1> --enablerepo <RHEL_RepoID2> --debug
    

    Replace RHEL_RepoID with your custom repository configured in the /etc/yum.repos.d/ directory.

    To display all available options, use the -h, --help option:

    # convert2rhel -h
    
  2. Before Convert2RHEL starts 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 Convert2RHEL up to this point can be automatically reverted. Confirm that you wish to proceed with the conversion process.

  3. Wait until Convert2RHEL installs the RHEL packages.

  4. 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
    
    # yum update -y
    
  5. 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.

    # reboot
    
  6. 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.

  7. If necessary, reconfigure system services after the conversion.

Troubleshooting

Logs

The 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.

Rollback

The Convert2RHEL utility provides a limited rollback functionality. If the conversion is cancelled 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 Convert2RHEL starts 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 Convert2RHEL will 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 Convert2RHEL removes 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 update command 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 cancelled 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.

Known issues

  • UEFI-based systems cannot be converted to RHEL. (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:

    1. Configure yum to use an HTTP proxy as described in How to enable Proxy settings for Yum Command on RHEL?
    2. For Oracle Linux conversions, define and enable repositories pointing to the following URLs:
      • Oracle Linux 7: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/x86_64/os/
      • Oracle Linux 8: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/x86_64/baseos/os/
    3. Install the subscription-manager package.
    4. Configure HTTP proxy for RHSM as described in How to configure HTTP Proxy for Red Hat Subscription Management.
    5. Prevent the configuration file from being deleted during the conversion:

      chattr +i /etc/rhsm/rhsm.conf
      
    6. Perform the conversion to RHEL.
      (BZ#1965487)

Obtaining support

IMPORTANT:
Conversions from CentOS Linux 6 and Oracle Linux 6 to RHEL 6 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.

Additional resources

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