Upgrading from RHEL 6 to RHEL 7

Red Hat Enterprise Linux 7

Instructions for an in-place upgrade from Red Hat Enterprise Linux 6 to Red Hat Enterprise Linux 7

Red Hat Customer Content Services

Abstract

This document provides instructions on how to perform an in-place upgrade from Red Hat Enterprise Linux (RHEL) 6 to RHEL 7. During the in-place upgrade, the existing RHEL 6 operating system is replaced by the RHEL 7 version.

Preface

This document describes steps for an in-place upgrade from RHEL 6 to RHEL 7. The supported in-place upgrade path is from RHEL 6.10 to RHEL 7.9.

If you are using SAP HANA, follow How do I upgrade from RHEL 6 to RHEL 7 with SAP HANA instead. Note that the upgrade path for RHEL with SAP HANA might differ.

The process of upgrading from the latest version of RHEL 6 to the latest version of RHEL 7 consists of the following steps:

  1. Check that Red Hat supports the upgrade of your system. See Chapter 1, Planning an upgrade for more information.
  2. Prepare your system for the upgrade by installing required repositories and packages and by removing unsupported packages. See Chapter 2, Preparing a RHEL 6 system for the upgrade got more information.
  3. Check your system for problems that might affect your upgrade using the Preupgrade Assistant. See Chapter 3, Assessing upgrade suitability for more information.
  4. Upgrade your system by running the Red Hat Upgrade Tool. See Chapter 4, Upgrading your system from RHEL 6 to RHEL 7 for more information.

Providing feedback on Red Hat documentation

We appreciate your input on our documentation. Please let us know how we could make it better. For submitting your feedback, create a Bugzilla ticket:

  1. Go to the Bugzilla website.
  2. As the Component, use Documentation.
  3. Fill in the Description field with your suggestion for improvement. Include a link to the relevant part(s) of documentation.
  4. Click Submit Bug.

Key migration terminology

While the following migration terms are commonly used in the software industry, these definitions are specific to Red Hat Enterprise Linux (RHEL).

Update

Sometimes called a software patch, an update is an addition to the current version of the application, operating system, or software that you are running. A software update addresses any issues or bugs to provide a better experience of working with the technology. In RHEL, an update relates to a minor release, for example, updating from RHEL 8.1 to 8.2.

Upgrade

An upgrade is when you replace the application, operating system, or software that you are currently running with a newer version. Typically, you first back up your data according to instructions from Red Hat. When you upgrade RHEL, you have two options:

  • In-place upgrade: During an in-place upgrade, you replace the earlier version with the new version without removing the earlier version first. The installed applications and utilities, along with the configurations and preferences, are incorporated into the new version.
  • Clean install: A clean install removes all traces of the previously installed operating system, system data, configurations, and applications and installs the latest version of the operating system. A clean install is ideal if you do not need any of the previous data or applications on your systems or if you are developing a new project that does not rely on prior builds.

Operating system conversion

A conversion is when you convert your operating system from a different Linux distribution to Red Hat Enterprise Linux. Typically, you first back up your data according to instructions from Red Hat.

Migration

Typically, a migration indicates a change of platform: software or hardware. Moving from Windows to Linux is a migration. Moving a user from one laptop to another or a company from one server to another is a migration. However, most migrations also involve upgrades, and sometimes the terms are used interchangeably.

  • Migration to RHEL: Conversion of an existing operating system to RHEL
  • Migration across RHEL: Upgrade from one version of RHEL to another

Chapter 1. Planning an upgrade

An in-place upgrade is the recommended way to upgrade your system to a later major version of RHEL.

To ensure that you are aware of all major changes between RHEL 6 and RHEL 7, consult the Migration Planning Guide before beginning the in-place upgrade process. You can also verify whether your system is supported for an in-place upgrade by running the Preupgrade Assistant. The Preupgrade Assistant assesses your system for potential problems that could interfere or inhibit the upgrade before any changes are made to your system. See also Known Issues.

Note

Once you perform an in-place upgrade on your system, it is possible to get the previous working system back in limited configurations of the system by using the Red Hat Upgrade Tool integrated rollback capability or by using suitable custom backup and recovery solution, for example, by using the Relax-and-Recover (ReaR) utility. For more information, see Rolling back the upgrade.

This RHEL 6 to RHEL 7 upgrade procedure is fully supported if your RHEL system meets the following criteria:

  • Red Hat Enterprise Linux 6.10: Your system must have the latest RHEL 6.10 packages installed.
  • Architecture and variant: Only the indicated combinations of architecture and variant from the following matrix are supported:

    Product VariantIntel 64-bit architectureIBM POWER, big endianIBM Z 64-bit architectureIntel 32-bit architecture

    Server Edition

    Supported

    Supported

    Supported

    Unsupported

    HPC Compute Node

    Supported

    N/A

    N/A

    Unsupported

    Desktop Edition

    Unsupported

    N/A

    N/A

    Unsupported

    Workstation Edition

    Unsupported

    N/A

    N/A

    Unsupported

    Server running CloudForms software

    Unsupported

    N/A

    N/A

    N/A

    Server running Satellite software

    Unsupported. To upgrade Satellite environments from RHEL 6 to RHEL 7, see the Red Hat Satellite Installation Guide.

    N/A

    N/A

    N/A

    Note

    Upgrades of 64-bit IBM Z systems are supported unless Direct Access Storage Device (DASD) with Linux Disk Layout (LDL) is used.

  • Supported groups of packages: Only packages from the following groups can be installed on the system before an in-place upgrade:

    • Minimal (@minimal)
    • Base (@base)
    • Web Server (@web-server)
    • DHCP Server
    • NFS File Server (@nfs-server)
    • Print Server (@print-server)
    • CIFS file server
    • Graphical Administration Tools
    • Perl Support
    • Security Tools

      Note

      Although upgrades of other packages and groups are not supported, certain packages can be uninstalled from the RHEL 6 system and reinstalled on the upgraded RHEL 7 system.

  • File systems: The file system type from the RHEL 6 system is preserved during an in-place upgrade and cannot be changed.
  • Desktop: System upgrades with GNOME and KDE installs are unsupported. For more information, see Upgrading from RHEL 6 to RHEL 7 on Gnome Desktop Environment failed.
  • Virtualization: Upgrades with KVM or VMware virtualization are supported. Upgrades of RHEL on Microsoft Hyper-V are unsupported.
  • High Availability: Upgrades of systems using the High Availability add-on are unsupported.
  • Public Clouds: The in-place upgrade is unsupported for on-demand instances on Public Clouds.
  • Third-party packages: The in-place upgrade is unsupported on systems using third-party packages, especially packages with third-party drivers that are needed for booting.
  • The /usr directory: The in-place upgrade is unsupported on systems where the /usr directory is on a separate partition. For more information, see Why does Red Hat Enterprise Linux 6 to 7 in-place upgrade fail if /usr is on separate partition?.

Chapter 2. Preparing a RHEL 6 system for the upgrade

This procedure describes the steps that are necessary before performing an in-place upgrade to RHEL 7.

Prerequisites

  • You have verified that your system setup is supported for an upgrade from RHEL 6 to RHEL 7. See Planning an upgrade for more information.

Procedure

  1. Ensure that your system is registered to Red Hat Subscription Management (RHSM).

    If your RHEL 6 system is registered to Red Hat Network (RHN), you must migrate to RHSM. See Migrating from RHN to RHSM in Red Hat Enterprise Linux for details.

  2. Ensure that you have access to the latest RHEL 6 content. If you use the yum-plugin-versionlock plug-in to lock packages to a specific version, clear the lock:

    # yum versionlock clear

    See How to restrict yum to install or upgrade a package to a fixed specific package version? for more information.

  3. Enable the Extras repository, which contains necessary packages for a pre-upgrade assessment and an in-place upgrade.

    1. For the Server variant on the 64-bit Intel architecture on server edition:

      # subscription-manager repos --enable rhel-6-server-extras-rpms --enable rhel-6-server-optional-rpms
    2. For IBM POWER, big endian systems:

      # subscription-manager repos --enable rhel-6-for-power-extras-rpms --enable rhel-6-for-power-optional-rpms
    3. For the IBM Z architecture:

      # subscription-manager repos --enable rhel-6-for-system-z-extras-rpms --enable rhel-6-for-system-z-optional-rpms
    4. For the HPC Compute Node variant on the 64-bit Intel architecture:

      # subscription-manager repos --enable rhel-6-for-hpc-node-extras-rpms --enable rhel-6-for-hpc-node-optional-rpms
  4. Install the Preupgrade Assistant and Red Hat Upgrade Tool:

    # yum install preupgrade-assistant preupgrade-assistant-el6toel7 redhat-upgrade-tool
  5. Remove all unsupported package groups:

    # yum groupremove group_name

    Replace group_name with each unsupported group name. To locate a list of installed group names, run yum grouplist.

  6. Check Known Issues and apply workarounds where applicable. Especially, on systems with multiple network interfaces:

    1. If the system has static routes configured, replace the static route file. See redhat-upgrade-tool fails to reconfigure the static routes on the network interfaces, preventing the upgrade to happen for more information.
    2. If the system runs NetworkManager, stop NetworkManager prior to running the upgrade tool. See redhat-upgrade-tool fails to reconfigure the network interfaces, preventing the upgrade to happen for more information.
  7. Update all packages to their latest RHEL 6 version:

    # yum update
  8. Reboot the system:

    # reboot
  9. Back up all your data before performing the upgrade to prevent potential data loss.

Verification steps

  1. Verify that you are registered with the Red Hat Subscription Manager:

    # yum update

    The Loaded plug-ins: entry must contain subscription-manager.

  2. Verify that only supported package groups are installed:

    # yum grouplist

Chapter 3. Assessing upgrade suitability

The Preupgrade Assistant assesses your system for any potential problems that might occur during an in-place upgrade before any changes to your system are made.

The Preupgrade Assistant does the following:

  • Leaves your system unchanged except for storing information or logs. It does not modify the assessed system.
  • Assesses the system for possible in-place upgrade limitations, such as package removals, incompatible obsoletes, name changes, or deficiencies in some configuration file compatibilities.
  • Provides a report with the assessment result.
  • Provides post-upgrade scripts to address more complex problems after the in-place upgrade.

You should run the Preupgrade Assistant multiple times. Always run the Preupgrade Assistant after you resolve problems identified by the pre-upgrade report to ensure that no critical problems remain before performing the upgrade.

You can review the system assessment results using one of the following methods:

  • Locally on the assessed system using the command line.
  • Remotely over the network using the web user interface (UI). You can use the web UI to view multiple reports at once.
Important

The Preupgrade Assistant is a modular system. You can create your own custom modules to assess the possibility of performing an in-place upgrade. For more information, see How to create custom Preupgrade Assistant modules for upgrading from RHEL 6 to RHEL 7.

3.1. Assessing upgrade suitability from the command line

Viewing a Preupgrade Assistant report locally ensures that you do not expose the data about your system to the network. The pre-upgrade assessment results can be viewed locally using the following methods:

  • As result codes in the standard output on the command line.
  • As a detailed HTML file in a web browser.

When the preupg command is run without further options, it produces the result.html and preupg_results-*.tar.gz files in the /root/preupgrade/ directory.

Prerequisites

Procedure

  1. Run the Preupgrade Assistant to perform an assessment of the system.

    # preupg
  2. Review each assessment result entry:

    1. Inspect result codes on the standard output For more information on assessment codes, see the Assessment result codes table.
    2. View the assessment report in greater detail by opening the HTML file with results in a web browser:

      # web_browser file:///root/preupgrade/result.html
  3. View the README file in the /root/preupgrade/ directory for more information about the output directory structure, exit codes, and risk explanations associated with the Preupgrade Assistant utility.
  4. Resolve problems found by the Preupgrade Assistant during the assessment by following the Remediation text in the report.

    Important

    The assessment report might require you to perform certain tasks after you have completed the in-place upgrade to RHEL 7. Take note of these post-upgrade tasks and perform them after the upgrade.

  5. Run the Preupgrade Assistant again. If there are no new problems to be resolved, you can proceed with upgrading your system.

3.2. Assessing upgrade suitability from a web UI

The Preupgrade Assistant browser-based interface can collect assessment reports from multiple systems and provides convenient filtering of the results. Because the upgrade procedure does not support upgrading the GNOME desktop, this procedure gives you a way to display the Preupgrade Assistant results on a remote GUI desktop.

Important

To use the Preupgrade Assistant web UI remotely, you must install and configure the Apache HTTP Server, add files to the /etc/httpd/conf.d/ directory and run the httpd service on the system to serve the content.

If you are concerned about exposing the data about your system to the network, or if you want to avoid adding content to the system you are upgrading, you can review the pre-upgrade assessment results using the following alternative methods:

  • Locally using the Preupgrade Assistant web UI on localhost (127.0.0.1) without configuring the Apache HTTP Server.
  • Remotely following the procedure described in Assessing upgrade suitability from the command line, copying the /root/preupgrade/result.html file to a remote system, and opening the HTML file in a web browser in the remote system.

Prerequisites

Procedure

  1. Install the Apache HTTP Server and the Preupgrade Assistant web UI:

    # yum install httpd preupgrade-assistant-ui
  2. To make the Preupgrade Assistant web UI available to all network interfaces on the local system through TCP port 8099 by default, change the default private httpd pre-upgrade configuration to the public configuration:

    # cp /etc/httpd/conf.d/99-preup-httpd.conf.public /etc/httpd/conf.d/99-preup-httpd.conf
  3. Optional: To access the Preupgrade Assistant using a host name instead of an IP address, for example, preupg-ui.example.com:

    • Ensure you have a DNS CNAME record pointing the preupg-ui.example.com name to the system you are upgrading.
    • Change the NameVirtualHost line in the 99-preup-httpd.conf file to NameVirtualHost preupg-ui.example.com:8099.
  4. If you have a firewall running and SELinux in enforcing mode, allow access to the port needed by the Preupgrade Assistant web UI service:

    # setsebool httpd_run_preupgrade on
    # iptables -I INPUT -m state --state NEW -p tcp --dport 8099 -j ACCEPT
  5. Restart the httpd service to load the new configuration.

    # service httpd restart
  6. From a web browser on another system, access the Preupgrade Assistant web UI service by using either an IP address (for example, http://192.168.122.159:8099) or a hostname (for example, http://preupg-ui.example.com:8099).
  7. When accessing the Preupgrade Assistant web UI for the first time, decide whether to access the UI with or without authentication.

    1. To access the UI with authentication, log in as an existing user or create a new one. When you select Submit to create a new user, the authentication system is automatically enabled.
    2. To access the UI without authentication, select Disable Authentication.
  8. Return to the system you plan to upgrade and run the Preupgrade Assistant in the command line with an automatic submission to the Preupgrade Assistant web UI server:

    # preupg -u http://hostname:port/submit/

    For example:

    # preupg -u http://preupg-ui.example.com:8099/submit/
  9. Return to your web browser on the remote server and reload the Preupgrade Assistant Web UI.

    Preupgrade Assistant web UI
  10. In the web UI, find and expand the assessment report that you generated by running the Preupgrade Assistant. Go through each item in the report and resolve the reported problems. For information on assessment result codes, see the Assessment result codes table.

    Important

    The assessment report might require you to perform certain tasks after you have completed the in-place upgrade to RHEL 7. Take note of these post-upgrade tasks and perform them after the upgrade.

  11. Run the Preupgrade Assistant again and upload the report to the web UI. If there are no new problems to be resolved, you can proceed with the upgrade.

3.3. Pre-upgrade assessment result codes

When you run the Preupgrade Assistant, an assessment result is generated. Each result in the assessment is assigned a code. Refer to the table below for an explanation of each code and a potential action to take.

Table 3.1. Pre-upgrade assessment result codes

Result codeExplanation

PASS

No problems found.

FAIL

Extreme upgrade risk. In-place upgrade is impossible.

NEEDS_ACTION

High upgrade risk. You must resolve the problem before running the Red Hat Upgrade Tool.

NEEDS_INSPECTION

Medium or lower upgrade risks. The upgrade might not fail, but it might result in a system that is not fully operational. You must check certain parts of the system and, if needed, fix the problems.

FIXED

Changes required for the upgrade were applied automatically. You do not need to perform any action.

INFORMATIONAL

Useful, but not critical, information.

NOT_APPLICABLE

The assessed package is not installed on your system.

ERROR

An error occurred in the tooling. Report this type of problem to Red Hat Support.

notchecked

The respective module has not been checked. See Known issues for more details.

Chapter 4. Upgrading your system from RHEL 6 to RHEL 7

After you have corrected all problems reported by the Preupgrade Assistant, use the Red Hat Upgrade Tool to upgrade your system from RHEL 6.10 to RHEL 7.9. Always perform any necessary post-install tasks to ensure your system is up-to-date and to prevent upgrade-related problems.

Important

Test the upgrade process on a safe, non-production system before you perform it on any production system.

Prerequisites

Procedure

  1. Prepare source repositories or media with RHEL 7 packages in one of the following locations:

    • An installation repository created from a DVD ISO where you download RHEL 7 packages, for example, an FTP server or an HTTPS site that contains the RHEL 7.9 packages. For more information, see Preparing installation sources.
    • Mounted installation media
    • An ISO image

      In any of the above options, you can configure custom repositories and additional repositories provided by Red Hat. For example, certain packages available in the RHEL 6 Base system are provided in the RHEL 7 Extras repository and are not on a RHEL 7 DVD.

      If you know that your system requires packages that are not in the RHEL 7 Base repository, you can install a separate RHEL 7 system to act as a yum repository that provides the required packages over FTP or HTTP.

      To set up an additional repository that you can use during the upgrade, follow instructions in How to create a local repository for updates. Then use the --addrepo=REPOID=URL option with the redhat-upgrade-tool command.

  2. Disable active repositories to prevent problems with combining packages from different major releases of RHEL.

    1. Install the yum-utils package:

      # yum install yum-utils
    2. Disable active repositories:

      # yum-config-manager --disable \*

      For more information, see Can I install packages from different versions of RHEL.

  3. Run the Red Hat Upgrade Tool to download RHEL 7 packages and prepare the package installation. Specify the location of the Red Hat Enterprise Linux 7 packages:

    • Installation repository

      # redhat-upgrade-tool --network 7.9 --instrepo ftp-or-http-url --cleanup-post
    • Mounted installation media

      # redhat-upgrade-tool --device device_path --cleanup-post

      If you do not specify the device path, the Red Hat Upgrade Tool scans all mounted removable devices.

    • ISO image

      # redhat-upgrade-tool --iso iso_path --cleanup-post
      Important

      You can use the following options with the redhat-upgrade-tool command for all three locations:

      • --cleanup post: Automatically removes Red Hat-signed packages that do not have a RHEL 7 replacement. Recommended. If you do not use the --cleanup-post option, you must remove all remaining RHEL 6 packages after the in-place upgrade to ensure that your system is fully supported.
      • --snapshot-root-lv and --snapshot-lv: Creates snapshots of system volumes. Snapshots are required to perform a rollback of the RHEL system in case of upgrade failure. For more information, see Rollbacks and cleanup after upgrading RHEL 6 to RHEL 7.
  4. Reboot the system when prompted.

    # reboot

    Depending on the number of packages being upgraded, this process can take up to several hours to complete.

  5. Manually perform any post-upgrade tasks described in the pre-upgrade assessment result.
  6. If your system architecture is 64-bit Intel, upgrade from GRUB Legacy to GRUB 2. See the System Administrators Guide for more information.
  7. If Samba is installed on the upgraded host, manually run the testparm utility to verify the /etc/samba/smb.conf file. If the utility reports any configuration errors, you must fix them before you can start Samba.
  8. Optional: If you did not use the --cleanup-post option when running the Red Hat Upgrade Tool, clean up orphaned RHEL 6 packages:

    # rpm -qa | grep .el6 &> /tmp/el6.txt
    # rpm -e $(cat /tmp/el6.txt) --nodeps
    Warning

    Be careful not to accidentally remove custom packages that are compatible with RHEL 7.

    Warning

    Using the rpm command to remove orphaned packages might cause broken dependencies in some RHEL 7 packages. Refer to Fixing dependency errors for information on how to fix those dependency errors.

  9. Update your new RHEL 7 packages to their latest version.

    # yum update
    # reboot

Verification steps

  1. Verify that the system was upgraded to the latest version of RHEL 7.

    # cat /etc/redhat-release
    Red Hat Enterprise Linux Server release 7.9 (Maipo)
  2. Verify that the system is automatically resubscribed for RHEL 7.

    # yum repolist
    Loaded plugins: product-id, subscription-manager
    repo id                             repo name                                  status
    rhel-7-server-rpms/7Server/x86_64   Red Hat Enterprise Linux 7 Server (RPMs)   23,676

    If the repository list does not contain RHEL repositories, run the following commands to unsubscribe the system, resubscribe the system as a RHEL 7 system, and add required repositories:

    # subscription-manager remove --all
    # subscription-manager unregister
    # subscription-manager register
    # subscription-manager attach --pool=poolID
    # subscription-manager repos --enable=repoID

If any problems occur during or after the in-place upgrade, see Troubleshooting for assistance.

Chapter 5. Troubleshooting

Troubleshoot and solve package-related issues after the in-place upgrade from RHEL 6.10 to RHEL 7.9.

5.1. Troubleshooting resources

You can refer to the following troubleshooting resources.

Console Output

By default, only error and critical log level messages are printed to the console output by the Pre-upgrade Assistant. To also print debug, info, and warning messages, use the --debug option with the redhat-upgrade-tool command.

Logs

The /var/log/upgrade.log file lists issues found during the upgrade phase.

Reports

The /root/preupgrade/result.html file lists issues found during the pre-upgrade phase. This report is also available in the web console. For more information, see Assessing upgrade suitability from a web UI.

5.2. Fixing dependency errors

During an in-place upgrade, certain packages might be installed without some of their dependencies.

Procedure

  1. Identify dependencies errors:

    # yum check dependencies

    If the command displays no output, no further actions are required.

  2. To fix dependency errors, reinstall the affected packages. During this operation, the yum utility automatically installs missing dependencies. If the required dependencies are not provided by repositories available on the system, install those packages manually.

5.3. Installing missing packages

Certain packages might be missing after the upgrade from RHEL 6 to RHEL 7. This problem can occur for several reasons:

  • You did not provide a repository to the Red Hat Upgrade Tool that contained these packages. Install missing packages manually.
  • Certain problems are preventing some RPMs from being installed. Resolve these problems before installing missing packages.
  • You are missing NetworkManager because the service was not configured and running before the upgrade. Install and configure NetworkManager manually. For more information, see Getting started with NetworkManager.

Procedure

  1. Review which packages are missing from your RHEL 7 system using one of the following methods:

    • Review the pre-upgrade report.
    • Run the following command to generate a list of expected packages in RHEL 7 and compare with the packages that are currently installed to determine which packages are missing.

      $ /root/preupgrade/kickstart/RHRHEL7rpmlist* | grep -v "#" | cut -d "|" -f 3 | sort | uniq
  2. Install missing packages using one of the following methods:

    • Locate and install all missing packages at once. This is the quickest method of getting all missing packages.

      # cd /root/preupgrade
      # bash noauto_postupgrade.d/install_rpmlist.sh kickstart/RHRHEL7rpmlist_kept
    • If you know that you want to install only some of the missing packages, install each package individually.

      # yum install package
Note

For further details about other files with lists of packages you should install on the upgraded system, see the /root/preupgrade/kickstart/README file and the pre-upgrade report.

5.4. Known issues

The following are issues known to occur when upgrading from RHEL 6 to RHEL 7:

5.5. Rolling back the upgrade

If the in-place upgrade to RHEL 7 is unsuccessful, it is possible to get the previous RHEL 6 working system back in limited configurations using one of the following methods:

5.6. Obtaining support

If you experience problems during the in-place upgrade, notify Red Hat so that these problems can be addressed. There are several methods for obtaining support.

  • Open an sosreport using one of the following methods:

    • Open a support case, select RHEL 7 as the product, and provide an sosreport from your system.
    • Generate an sosreport directly on your system:

      # sosreport

      Note that you can leave the case ID empty.

  • Submit a bug report.
  • Submit a debug log in the upgraded system in the /var/log/upgrade.log file.

For details on generating a sosreport, see the solution What is an sosreport and how to create one in Red Hat Enterprise Linux?.

For more information on opening and managing a support case on the Customer Portal, see the article How do I open and manage a support case on the Customer Portal?.

Chapter 6. Additional resources

Legal Notice

Copyright © 2021 Red Hat, Inc.
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.
Java® is a registered trademark of Oracle and/or its affiliates.
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.
All other trademarks are the property of their respective owners.