从 RHEL 6 升级至 RHEL 7

Red Hat Enterprise Linux 7

把 Red Hat Enterprise Linux 6 原位(in-place)升级到 Red Hat Enterprise Linux 7

Red Hat Customer Content Services

摘要

本文档提供了有关如何执行把 Red Hat Enterprise Linux(RHEL)6 原位升级到 RHEL 7 的步骤。在原位升级过程中,现有 RHEL 6 操作系统被 RHEL 7 替换。

前言

本文档论述了从 RHEL 6 原位升级到 RHEL 7 的步骤。支持的原位升级路径是从 RHEL 6.10 升级到 RHEL 7.9。

如果您正在使用 SAP HANA,请参阅如何将使用 SAP HANA 的 RHEL 6 升级到 RHEL 7。请注意,使用 SAP HANA 的 RHEL 的升级路径可能会有所不同。

从 RHEL 6 的最新版本升级到 RHEL 7 的最新版本包括以下步骤:

  1. 检查红帽是否支持您的升级系统。如需更多信息,请参阅 第 1 章 计划升级
  2. 准备系统升级:安装所需的软件仓库和软件包,删除不受支持的软件包。请参阅第 2 章 为 RHEL 6 系统升级做准备 获取更多信息。
  3. 使用 Preupgrade Assistant 检查您的系统是否存在可能会影响升级的问题。如需更多信息,请参阅 第 3 章 评估升级是否可行
  4. 运行 Red Hat Upgrade Tool 来升级您的系统。如需更多信息,请参阅 第 4 章 将您的系统从 RHEL 6 升级到 RHEL 7

对红帽文档提供反馈

我们感谢您对文档提供反馈信息。请让我们了解如何改进文档。要提交反馈意见,请创建一个 Bugzilla ticket:

  1. 进入 Bugzilla 网站。
  2. 在 Component 中选择 Documentation
  3. Description 中输入您要提供的信息。包括文档相关部分的链接。
  4. Submit Bug

第 1 章 计划升级

建议使用原位升级的方法将您的系统升级到新的 RHEL 主版本。

为了确保您了解 RHEL 6 和 RHEL 7 之间的重要变化,请在开始原位升级前参考迁移规划指南。您还可以运行 Preupgrade Assistant 来验证您的系统是否支持原位升级。在对您的系统进行任何更改前,Preupgrade Assistant 会评估您的系统是否存在可能会影响或限制升级的问题。请参阅已知问题

注意

当对系统进行原位升级后,可以使用 Red Hat Upgrade Tool 集成的回滚功能,或其他适当的备份和恢复解决方案(例如,使用 Relax-and-Recover(ReaR)程序)恢复回以前的系统。如需更多信息,请参阅回滚升级

如果 RHEL 系统满足以下条件,则完全支持这个 RHEL 6 到 RHEL 7 的升级步骤:

  • Red Hat Enterprise Linux 6.10:系统必须安装了最新的 RHEL 6.10 软件包。
  • 构架和变体: 仅支持以下列表中的架构和变体的组合:

    产品变体Intel 64 位构架IBM POWER,big endianIBM Z 64 位架构Intel 32 位构架

    服务器版

    支持

    支持

    支持

    不支持

    HPC Compute 节点

    支持

    不适用

    不适用

    不支持

    桌面版

    不支持

    不适用

    不适用

    不支持

    工作站版

    不支持

    不适用

    不适用

    不支持

    服务器运行 CloudForms 软件

    不支持

    不适用

    不适用

    不适用

    服务器运行 Satellite 软件

    不支持。要将 Satellite 环境从 RHEL 6 升级到 RHEL 7,请参阅 Red Hat Satellite 安装指南

    不适用

    不适用

    不适用

    注意

    支持升级 64 位 IBM Z 系统,使用带有 Linux Disk Layout(LDL)的直接访问存储设备(DASD)除外。

  • 支持的软件包组:在原位升级前,系统只能安装以下组中的软件包:

    • Minimal (@minimal)
    • Base (@base)
    • Web Server (@web-server)
    • DHCP Server
    • NFS File Server (@nfs-server)
    • Print Server (@print-server)
    • CIFS file server

      注意

      虽然不支持升级其他软件包和组,但特定的软件包可以从 RHEL 6 系统中卸载,并在升级到 RHEL 7 系统后重新安装。

  • 文件系统: RHEL 6 系统中的文件系统类型会在原位升级过程中保留,且无法更改。
  • 桌面:不支持使用 GNOME 和 KDE 安装进行系统升级。
  • 虚拟化:支持使用 KVM 或 VMware 虚拟化的升级。不支持在 Microsoft Hyper-V 上升级 RHEL。
  • 高可用性:不支持使用高可用性附加组件系统的升级。
  • 公共云:对于公共云中的 on-demand 实例不支持原位升级。
  • 第三方软件包:不支持使用第三方软件包的系统的原位升级,特别是引导时所需的软件包带有第三方驱动程序。
  • /usr 目录:不支持 /usr 目录位于独立分区的系统的原位升级。如需更多信息,请参阅如果 /usr 位于独立的分区,为什么 Red Hat Enterprise Linux 6 到 7 原位升级会失败?

第 2 章 为 RHEL 6 系统升级做准备

这里介绍了在进行到 RHEL 7 的原位升级前需要执行的步骤。

先决条件

  • 已确认您的系统设置支持从 RHEL 6 升级到 RHEL 7。如需更多信息,请参阅规划升级

流程

  1. 确定您的系统已注册到Red Hat Subscription Management(RHSM)

    如果您的 RHEL 6 系统注册到 Red Hat Network(RHN),则需要迁移至 RHSM。详情请参阅 将 Red Hat Enterprise Linux 从 RHN 迁移到 RHSM

  2. 确保您可以访问最新的 RHEL 6 内容。如果您使用 yum-plugin-versionlock 插件将软件包锁定到特定版本,请清除相关的锁定:

    # yum versionlock clear

    详情请查看 How to restrict yum to install or upgrade a package to a fixed specific package version?

  3. 启用 Extras 软件仓库,其中包含预升级评估和原位升级所需的软件包。

    1. 对于 64 位 Intel 构架的服务器版本:

      # subscription-manager repos --enable rhel-6-server-extras-rpms --enable rhel-6-server-optional-rpms
    2. 对于 IBM POWER,big endian 系统:

      # subscription-manager repos --enable rhel-6-for-power-extras-rpms --enable rhel-6-for-power-optional-rpms
    3. 对于 IBM Z 架构:

      # subscription-manager repos --enable rhel-6-for-system-z-extras-rpms --enable rhel-6-for-system-z-optional-rpms
    4. 对于 64 位 Intel 架构中的 HPC Compute 节点变体:

      # subscription-manager repos --enable rhel-6-for-hpc-node-extras-rpms --enable rhel-6-for-hpc-node-optional-rpms
  4. 安装 Preupgrade Assistant 和 Red Hat Upgrade Tool:

    # yum install preupgrade-assistant preupgrade-assistant-el6toel7 redhat-upgrade-tool
  5. 删除所有不支持的软件包组:

    # yum remove @group

    使用不支持的组名称替换 group

  6. 检查已知问题,并在适用的地方应用临时解决方案。特别是,在使用多个网络接口的系统中:

    1. 如果系统配置了静态路由,替换静态路由文件。请参阅 redhat-upgrade-tool 无法重新配置网络接口上的静态路由,导致无法进行升级
    2. 如果系统运行 NetworkManager,在运行升级工具前停止 NetworkManager。如需更多信息,请参阅 redhat-upgrade-tool 无法重新配置网络接口,从而导致升级无法进行
  7. 将所有软件包更新到其最新的 RHEL 6 版本:

    # yum update
  8. 重启系统:

    # reboot
  9. 执行升级前备份所有数据,以防止潜在的数据丢失。

验证步骤

  1. 验证是否已在 Red Hat Subscription Manager 中注册:

    # yum update

    Loaded plug-ins: 条目必须包含 subscription-manager

  2. 验证是否只安装了支持的软件包组:

    # yum grouplist

第 3 章 评估升级是否可行

Preupgrade Assistant 评估您的系统,在系统进行任何更改之前,发现在原位升级过程中可能出现的任何潜在问题。

Preupgrade Assistant 进行以下操作:

  • 除了保存相关信息或日志外,您的系统不会有其他任何变化。它不会修改被评估的系统。
  • 评估系统以了解可能的原位升级限制,如删除软件包、不兼容的启用功能、名称更改或者在某些配置文件的兼容性问题。
  • 提供一个包含评估结果的报告。
  • 提供升级后的脚本以解决原位升级后的复杂问题。

您应该多次运行 Preupgrade Assistant。在解决了预升级报告发现的问题后,再次运行 Preupgrade Assistant,以确保在执行升级前已解决了所有关键的问题。

您可以使用以下方法之一查看系统评估结果:

  • 在被评估的系统中,本地使用命令行。
  • 使用 Web 用户界面(UI)远程通过网络进行远程访问。您可以使用 Web UI 一次查看多个报告。
重要

Preupgrade Assistant 是一个模块化系统。您可以创建自己的自定义模块来评估进行原位升级的可能性。如需更多信息,请参阅如何创建用于从 RHEL 6 升级到 RHEL 7 的自定义 Preupgrade Assistant 模块

3.1. 使用命令行评估升级的可能性

在本地查看 Preupgrade Assistant 报告可确保您不会向网络公开您的系统数据。可使用以下方法在本地查看预升级的评测结果:

  • 在命令行的标准输出中查看代码。
  • 使用网页浏览器查看详细的 HTML 文件。

preupg 命令在没有使用其他选项的情况下运行时,它会在 /root/preupgrade/ 目录中生成 result.htmlpreupg_results-*.tar.gz 文件。

先决条件

流程

  1. 运行 Preupgrade Assistant 对系统执行评估。

    # preupg
  2. 查看每个评估结果条目:

    1. 检查标准输出的结果代码以了解有关评估代码的更多信息,请参阅评估结果代码表
    2. 使用 web 浏览器打开 HTML 文件来更详细地查看评估报告:

      # web_browser file:///root/preupgrade/result.html
  3. 查看 /root/preupgrade/ 目录中的 README 文件以了解更多与 Preupgrade Assistant 工具相关的输出目录结构、退出代码和风险解释信息。
  4. 在评估过程中,按照报告中的 Remediation 内容解决 Preupgrade Assistant 发现的问题。

    重要

    评估报告可能需要您在完成到 RHEL 7 的原位升级后执行某些任务。记录下这些升级后的任务,并在升级后执行这些任务。

  5. 再次运行 Preupgrade Assistant。如果没有需要解决的新问题,您可以继续升级您的系统。

3.2. 从 Web UI 获取有关升级可行性的信息

基于浏览器的 Preupgrade Assistant 界面可以从多个系统中收集评估报告,并方便地过滤结果。因为升级步骤不支持对 GNOME 桌面的升级,您可以使用这个方法在远程 GUI 桌面上显示 Preupgrade Assistant 结果。

重要

要使用 Preupgrade Assistant web UI,您必须远程安装并配置 Apache HTTP 服务器,将文件添加到 /etc/httpd/conf.d/ 目录中,并在系统中运行 httpd 服务来提供内容。

如果您担心将系统数据公开到网络中,或者要避免在要升级的系统中添加内容,您可以使用以下替代方法查看预升级结果:

  • 在无需配置 Apache HTTP 服务器的本地系统上使用 Preupgrade Assistant web UI(127.0.0.1)。
  • 远程遵循使用命令行评估升级的可行性,将 /root/preupgrade/result.html 文件复制到远程系统,并在远程系统的 web 浏览器中打开 HTML 文件。

先决条件

流程

  1. 安装 Apache HTTP 服务器和 Preupgrade Assistant Web UI:

    # yum install httpd preupgrade-assistant-ui
  2. 要使 Preupgrade Assistant web UI 默认通过 TCP 端口 8099 供本地系统中的所有网络接口使用,请将默认的专用 httpd 预升级配置改为公共配置:

    # cp /etc/httpd/conf.d/99-preup-httpd.conf.public /etc/httpd/conf.d/99-preup-httpd.conf
  3. 可选:使用主机名而不是 IP 地址访问 Preupgrade Assistant,例如 preupg-ui.example.com:

    • 确定您有一个 DNS CNAME 记录,将 preupg-ui.example.com 名称指向您要升级的系统。
    • 99-preup-httpd.conf 文件中的 NameVirtualHost 行改为 NameVirtualHost preupg-ui.example.com:8099
  4. 如果您有一个防火墙并在 enforcing 模式下运行 SELinux,允许访问 Preupgrade Assistant Web UI 服务所需的端口:

    # setsebool httpd_run_preupgrade on
    # iptables -I INPUT -m state --state NEW -p tcp --dport 8099 -j ACCEPT
  5. 重启 httpd 服务以载入新配置。

    # service httpd restart
  6. 在另一个系统上使用网页浏览器访问 Preupgrade Assistant web UI 服务。使用 IP 地址(例如 http://192.168.122.159:8099)或主机名(如 http://preupg-ui.example.com:8099)。
  7. 首次访问 Preupgrade Assistant Web UI 时,决定是否使用在访问 UI 时需要身份验证。

    1. 要通过身份验证访问 UI,以现有用户身份登录或创建新用户。当您选择 Submit 创建新用户时,会自动启用身份验证系统。
    2. 如果在不需要身份验证的情况下访问 UI,请选择 Disable Authentication
  8. 返回到您要升级的系统,并在命令行中运行 Preupgrade Assistant,并自动提交 Preupgrade Assistant Web UI 服务器:

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

    例如:

    # preupg -u http://preupg-ui.example.com:8099/submit/
  9. 返回到远程服务器上的网页浏览器并重新载入 Preupgrade Assistant Web UI。

    Preupgrade Assistant web UI
  10. 在 Web UI 中,找到并扩展您通过运行 Preupgrade Assistant 生成的评估报告。检查报告中的每个项目,并解决报告的问题。有关评估结果代码的信息,请参阅输出代码表

    重要

    评估报告可能需要您在完成到 RHEL 7 的原位升级后执行某些任务。记录下这些升级后的任务,并在升级后执行这些任务。

  11. 再次运行 Preupgrade Assistant 并将报告上传到 Web UI。如果没有需要解决的新问题,您可以进行升级。

3.3. 预升级评估结果代码

运行 Preupgrade Assistant 时会生成一个评估结果。为评测的每个结果分配一个代码。请参考下表,以了解每个代码的解释以及可能需要执行的操作。

表 3.1. 预升级评估结果代码

结果代码解释

PASS

未找到问题。

FAIL

升级风险极大。无法进行原位升级。

NEEDS_ACTION

升级风险较高。在运行 Red Hat Upgrade Tool 前,必须先解决这个问题。

NEEDS_INSPECTION

中度或较低的升级风险。升级可能不会失败,但可能会导致系统无法完全正常工作。您必须检查系统的某些部分,如果需要,解决相关的问题。

FIXED

升级所需的更改已被自动应用。您不需要执行任何操作。

INFORMATIONAL

有用的信息(但并不关键)。

NOT_APPLICABLE

评估的软件包没有安装在您的系统中。

ERROR

工具中发生错误。向红帽支持报告此类问题。

notchecked

相关的模块还没有被检查。请参阅已知问题以了解更多详细信息。

第 4 章 将您的系统从 RHEL 6 升级到 RHEL 7

在解决了 Preupgrade Assistant 报告的所有问题后,请使用 Red Hat Upgrade Tool 将系统从 RHEL 6.10 升级到 RHEL 7.9。执行所有必要的安装后任务,以确保您的系统保持最新状态,并防止出现与升级相关的问题。

重要

先在一个安全的、非生产环境的系统中进行测试,然后再在生产环境的系统上进行升级过程。

先决条件

流程

  1. 在以下位置之一,准备 RHEL 7 软件包的源仓库或介质:

    • 从二进制 DVD ISO 创建的安装软件仓库,其中包括您下载的 RHEL 7 软件包。例如,一个 FTP 服务器或包含 RHEL 7.9 软件包的 HTTPS 站点。如需更多信息,请参阅准备安装源
    • 挂载安装介质
    • ISO 镜像

      在以上的任何选项中,您都可以配置自定义软件仓库和红帽提供的其他软件仓库。例如: RHEL 6 Base 系统中的特定软件包在 RHEL 7 Extras 软件仓库中提供,它们没有包括在 RHEL 7 DVD 中。

      如果您的系统需要没有包括在 RHEL 7 Base 软件仓库中的软件包,您可以安装一个单独的 RHEL 7 系统作为一个yum 软件仓库,用来通过 FTP 或 HTTP 提供需要的软件包。

      要设置升级过程中可以使用的额外软件仓库,请参阅如何创建本地软件仓库用于更新。然后在 redhat-upgrade-tool 命令中使用 --addrepo=REPOID=URL 选项。

  2. 禁用活跃软件仓库以防止合并来自不同 RHEL 主版本的软件包时出现问题。

    1. 安装 yum-utils 软件包:

      # yum install yum-utils
    2. 禁用活跃的软件仓库:

      # yum-config-manager --disable \*

      如需更多信息,请参阅是否可以安装来自不同 RHEL 版本的软件包

  3. 运行 Red Hat Upgrade Tool 下载 RHEL 7 软件包并准备软件包安装。指定 Red Hat Enterprise Linux 7 软件包的位置:

    • 安装软件仓库

      # redhat-upgrade-tool --network 7.9 --instrepo ftp-or-http-url --cleanup-post
    • 挂载安装介质

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

      如果没有指定设备路径,Red Hat Upgrade Tool 会扫描所有挂载的可移动设备。

    • ISO 镜像

      # redhat-upgrade-tool --iso iso_path --cleanup-post
      重要

      在以上提到的三个方法中,您都可以在 redhat-upgrade-tool 命令使用以下选项:

      • --cleanup post:自动删除没有被相应的 RHEL 7 软件包替换的、红帽签名的软件包。UEFI 系统需要这个选项,以防止引导加载程序出现问题。在非 UEFI 系统中也推荐使用这个选项。如果不使用 --cleanup-post 选项,则必须在原位升级后删除所有剩余的 RHEL 6 软件包,以确保您的系统被完全支持。有关 UEFI 系统要求的更多信息,请参阅在从 Red Hat Enterprise Linux 6 原位升级到 7 时无法引导服务器
      • --snapshot-root-lv--snapshot-lv: 创建系统卷快照。如果升级失败,需要使用快照来回滚 RHEL 系统。如需更多信息,请参阅将 RHEL 6 升级到 RHEL 7 后的回滚和清理
  4. 提示时重启系统。

    # reboot

    根据要升级的软件包数量,这个过程可能需要几小时时间完成。

  5. 手动执行预升级结果中描述的任何升级后任务。
  6. 如果您的系统构架是 64 位 Intel,请从 GRUB Legacy 升级到 GRUB 2。如需更多信息,请参阅系统管理员指南
  7. 如果在升级的主机上安装了 Samba,请手动运行 testparm 工具来验证 /etc/samba/smb.conf 文件。如果实用程序报告任何配置错误,您必须在启动 Samba 前进行修复。
  8. 可选:如果您在运行 Red Hat Upgrade Tool 时没有使用 --cleanup-post 选项,清理孤立的 RHEL 6 软件包:

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

    请小心,不要意外删除与 RHEL 7 兼容的自定义软件包。

    警告

    使用 rpm 命令删除孤立的软件包可能会导致一些 RHEL 7 软件包中的依赖关系被破坏。有关如何修复依赖关系错误的信息,请参阅修复依赖关系错误。

  9. 将您的 RHEL 7 软件包更新至其最新版本。

    # yum update
    # reboot

验证步骤

  1. 验证系统已升级到最新版本的 RHEL 7。

    # cat /etc/redhat-release
    Red Hat Enterprise Linux Server release 7.9 (Maipo)
  2. 验证是否为 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

    如果仓库列表不包含 RHEL 软件仓库,运行以下命令取消订阅系统,重新将系统订阅为 RHEL 7 系统,并添加所需的软件仓库:

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

如果在原位升级过程中或之后出现任何问题,请参阅故障排除获得帮助。

第 5 章 故障排除

在从 RHEL 6.10 升级到 RHEL 7.9 后,排除并解决与软件包相关的问题。

5.1. 故障排除资源

您可以参考以下故障排除资源。

控制台输出

默认情况下,Pre-upgrade Assistant 只会将级别为错误(error)和严重(critical)的日志信息输出到控制台输出中。要输出 debug、info 和 warning 级别的信息,在 redhat-upgrade-tool 命令中使用 --debug 选项。

日志

/var/log/upgrade.log 文件列出了在升级阶段发现的问题。

报告

/root/preupgrade/result.html 文件列出了在预升级阶段发现的问题。此报告也可以在 web 控制台中获得。如需更多信息,请参阅从 Web UI 评估升级是否适合性

5.2. 修复依赖关系错误

在原位升级过程中,可能会在没有依赖软件包的情况下安装某些软件包。

流程

  1. 找出与依赖关系相关的错误:

    # yum check dependencies

    如果该命令没有显示输出结果,则不需要进一步的操作。

  2. 要修复依赖关系错误,请重新安装受影响的软件包。在此操作中,yum 工具会自动安装缺少的依赖软件包。如果系统中可用的软件仓库未提供所需的依赖软件包,请手动安装这些软件包。

5.3. 安装缺少的软件包

从 RHEL 6 升级到 RHEL 7 后可能会缺少某些软件包。这可能会因为以下原因造成:

  • 您没有向 Red Hat Upgrade Tool 提供包含这些软件包的软件仓库。手动安装缺少的软件包。
  • 某些问题导致无法安装 RPM。在安装缺少的软件包前解决这些问题。
  • 因为在升级前服务没有被配置并运行,所以缺少了 NetworkManager。手动安装和配置 NetworkManager。如需更多信息,请参阅开始使用 NetworkManager

流程

  1. 使用以下方法之一查看 RHEL 7 系统缺少哪些软件包:

    • 查看升级前报告。
    • 运行以下命令在 RHEL 7 中生成预期软件包列表,并与当前安装的软件包进行比较,以确定缺少哪些软件包。

      $ /root/preupgrade/kickstart/RHRHEL7rpmlist* | grep -v "#" | cut -d "|" -f 3 | sort | uniq
  2. 使用以下方法之一安装缺少的软件包:

    • 同时查找并安装所有缺少的软件包。这是获取所有缺少的软件包的最快方法。

      # cd /root/preupgrade
      # bash noauto_postupgrade.d/install_rpmlist.sh kickstart/RHRHEL7rpmlist_kept
    • 如果您只需要安装部分缺少的软件包,请单独安装相关的软件包。

      # yum install package
注意

有关您应该在升级的系统上安装的软件包列表的其它文件详情,请查看/root/preupgrade/kickstart/README 文件和预升级报告。

5.4. 已知问题

从 RHEL 6 升级到 RHEL 7 时已知的问题如下:

5.5. 回滚升级

如果到 RHEL 7 的原位升级失败,可以使用以下方法之一将以前的 RHEL 6 工作系统恢复到有限的配置中:

5.6. 获取支持

如果您在原位升级过程中遇到问题,请通知红帽以便解决这些问题。有几种获得支持的方法。

  • 使用以下方法之一打开 sosreport:

    • 创建一个支持问题单,选择 RHEL 7 作为产品,并提供 sosreport
    • 直接在您的系统中生成 sosreport:

      # sosreport

      请注意:您可以将问题单 ID 留空。

  • 提交错误报告
  • /var/log/upgrade.log 文件中提交升级系统的 debug 日志。

有关生成 sosreport 的详情,请参阅 What is an sosreport and how to create one in Red Hat Enterprise Linux?

有关在客户门户网站中建立和管理支持问题单的详情,请参阅 How do I open and manage a support case on the Customer Portal?

第 6 章 其它资源

法律通告

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.