RPM ベースの Linux ディストリビューションから RHEL への変換

Red Hat Enterprise Linux 8

CentOS Linux または Oracle Linux から Red Hat Enterprise Linux 7 および Red Hat Enterprise Linux 8 に変換する手順

概要

本書では、オペレーティングシステムを CentOS Linux または Oracle Linux から RHEL 7 および RHEL 8 に変換する方法を説明します。

はじめに

本書では、オペレーティングシステムを別の Linux ディストリビューション (CentOS Linux または Oracle Linux) から、Red Hat Enterprise Linux (RHEL) 7 または RHEL 8 に変換する方法を説明します。変換は Convert2RHEL ユーティリティーにより実行されます。

注記

Red Hat では現在、CentOS Linux 6 または Oracle Linux 6 から RHEL 6 への変換はサポートしていません。サポートされない変換の詳細は、「How to convert from CentOS Linux 6 or Oracle Linux 6 to RHEL 6」を参照してください。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、弊社 の CTO、Chris Wright のメッセージ を参照してください。

Red Hat ドキュメントへのフィードバック (英語のみ)

ご意見ご要望をお聞かせください。ドキュメントの改善点はございませんか。改善点を報告する場合は、以下のように行います。

  • 特定の文章に簡単なコメントを記入する場合は、以下の手順を行います。

    1. ドキュメントの表示が Multi-page HTML 形式になっていて、ドキュメントの右上端に Feedback ボタンがあることを確認してください。
    2. マウスカーソルで、コメントを追加する部分を強調表示します。
    3. そのテキストの下に表示される Add Feedback ポップアップをクリックします。
    4. 表示される手順に従ってください。
  • より詳細なフィードバックを行う場合は、Bugzilla のチケットを作成します。

    1. Bugzilla の Web サイトにアクセスします。
    2. Component で Documentation を選択します。
    3. Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも記入してください。
    4. Submit Bug をクリックします。

主な移行の用語

以下の移行用語はソフトウェア業界で一般的に使用されますが、これらの定義は Red Hat Enterprise Linux (RHEL) に固有のものです。

Update

ソフトウェアパッチと呼ばれることもあります。更新は現行バージョン、オペレーティングシステム、または実行中のソフトウェアに追加されます。ソフトウェア更新は、問題またはバグに対応し、テクノロジーの操作が改善されます。RHEL では、更新は、RHEL 8.1 から 8.2 への更新といったマイナーリリースに関連します。

アップグレード

アップグレードは、現在実行しているアプリケーション、オペレーティングシステム、またはソフトウェアを置き換える場合です。通常、まず Red Hat の指示に従い、データをバックアップします。RHEL をアップグレードすると、以下の 2 つのオプションがあります。

  • In-place upgrade: インプレースアップグレードの場合は、以前のバージョンを削除せずに、以前のバージョンを新しいバージョンに置き換えます。設定や設定と共にインストールされたアプリケーションとユーティリティーは、新規バージョンに組み込まれています。
  • clean install: clean install は、以前にインストールされたオペレーティングシステム、システムデータ、設定、およびアプリケーションのすべてのトレースを削除し、最新バージョンのオペレーティングシステムをインストールします。システムに以前のデータまたはアプリケーションが必要ない場合や、以前のビルドに依存しない新規プロジェクトを開発する場合は、クリーンインストールに適しています。

オペレーティングシステムへの変換

変換は、オペレーティングシステムを別の Linux ディストリビューションから Red Hat Enterprise Linux に変換する際に使用されます。通常、まず Red Hat の指示に従い、データをバックアップします。

移行

通常、移行はプラットフォーム (ソフトウェアまたはハードウェア) の変更を示しています。Windows から Linux への移行は移行です。ユーザーをラップトップから別のサーバーに移動するか、あるサーバーから別のサーバーに会社を移行することは移行です。ただし、ほとんどの移行ではアップグレードが関係し、相互に意味のある用語が使用されることがあります。

  • RHEL への移行: 既存のオペレーティングシステムの RHEL への移行
  • RHEL 間での移行: RHEL のあるバージョンから別のバージョンへのアップグレード

第1章 サポート対象の変換パス

重要

Red Hat は、変換プロセスをスムーズに行えるようにするために、Red Hat コンサルティングサービス のサポートを利用することを推奨します。

実行中のシステムで自動変換プロセスが実行されます。Convert2RHEL ユーティリティーは、元の Linux ディストリビューションのすべての RPM パッケージを RHEL バージョンに置き換えます。プロセスの最後には、RHEL カーネルを起動するためにシステムを再起動する必要があります。

元のディストリビューションでのみ利用でき、RHEL リポジトリーに一致するものがないパッケージと、元の Linux ディストリビューションや RHEL からのサードパーティーパッケージは変換の影響を受けません。Red Hat は、変換プロセス中に変更されないサードパーティーパッケージのサポートはしていません。サードパーティーソフトウェアのサポートに関する Red Hat ポリシー を参照してください。

現在、システムを以下の Linux ディストリビューション、アーキテクチャー、およびバージョンから、表 1.1 に記載されている RHEL の対応するマイナーバージョンに変換できます。

表1.1 サポート対象の変換パス

ソース OSターゲット OSアーキテクチャー

CentOS Linux 8.4

RHEL 8.4

64 ビット Intel

CentOS Linux 7.9

RHEL 7.9

64 ビット Intel

Oracle Linux 8.4

RHEL 8.4

64 ビット Intel

Oracle Linux 7.9

RHEL 7.9

64 ビット Intel

重要

現在、CentOS Stream から RHEL への変換はできません。

Linux ディストリビューション変換に対する Red Hat のサポートポリシーの詳細は「Convert2RHEL サポートポリシー」を参照してください。

第2章 RHEL 変換の準備

この手順では、CentOS Linux または Oracle Linux から Red Hat Enterprise Linux (RHEL) への変換を実行する前に必要な手順を説明します。

前提条件

  • RHEL への変換でシステムが対応していることを確認している。詳細は、「サポート対象の変換パス」を参照してください。
  • 重要なアプリケーション、データベースサービスおよびデータを格納するその他のサービスを停止し、データの整合性の問題を軽減している。
  • 変換が失敗するのを防ぐために一時的にコンピューターソフトウェアを無効にしている。
  • 元のシステムを復元しないように、設定管理システム (Salt、Chef、Puppet、Ansible など) を無効にしたり、適切に再設定したりしている。

手順

  1. システムをバックアップし、システムを復元できることを確認します。
  2. 既知の問題および制限 を確認し、システムが変換に対応していることを確認します。必要に応じて回避策を適用します。
  3. 標準カーネルが起動したカーネルであることを確認します。

    • CentOS Linux: 標準の CentOS Linux カーネル
    • Oracle Linux: Red Hat Compatible Kernel (RHCK)

      システムを起動するカーネルが標準カーネルではない場合 (CentOS リアルタイムカーネルまたは Oracle Linux Unbreakable Enterprise Kernel (UEK) など)、デフォルトカーネルを標準カーネルに変更してシステムを再起動します。

  4. Convert2RHEL をインストールします。

    1. Red Hat GPG キーをダウンロードします。

      # curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release https://www.redhat.com/security/data/fd431d51.txt
    2. Convert2RHEL リポジトリーをインストールします。

      # curl -o /etc/yum.repos.d/convert2rhel.repo https://ftp.redhat.com/redhat/convert2rhel/version_number/convert2rhel.repo

      version_number は、OS の適切なメジャーバージョンに置き換えます (例: 7 または 8)。

    3. Convert2RHEL ユーティリティーをインストールします。

      # yum -y install convert2rhel
  5. 以下のいずれかの方法で RHEL パッケージにアクセスできることを確認します。

    1. Red Hat Subscription Manager (RHSM) を介した Red Hat コンテンツ配信ネットワーク (CDN)。RHSM にアクセスするには、Red Hat アカウントと適切な RHEL サブスクリプションが必要です。テーブル 1.1 に従って、OS が RHEL の対応するマイナーバージョンに変換されることに注意してください。
    2. フルサポートまたはメンテナンスサポートがあるバージョンの Red Hat Satellite。詳細は、「Red Hat Satellite の製品ライフサイクル」を参照してください。

      注記

      Satellite サーバーが以下の条件を満たすことを確認します。

      • Satellite には、RHEL リポジトリーをインポートしたサブスクリプションマニフェストがあります。詳細は、Red Hat Satellite の特定のバージョン (バージョン 6.8 など) の『コンテンツ管理ガイド』の「サブスクリプションの管理」を参照してください。
      • 必要なすべてのリポジトリーが有効になり、最新の RHEL 7.9 または RHEL 8.4 の更新と同期され、Satellite で公開されます。OS の適切なメジャーバージョンに対して、少なくとも以下のリポジトリーを有効にします。

        • Red Hat Enterprise Linux 7 Server RPMs x86_64 7Server
        • Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8.4
        • Red Hat Enterprise Linux 8 for x86_64 - BaseOS RPMs 8.4
    3. /etc/yum.repos.d/ ディレクトリーで設定され、RHEL 7.9 リポジトリーまたは RHEL 8.4 リポジトリーのミラーを参照しているカスタムリポジトリー。ローカルネットワークにのみ接続可能で、RHSM から Red Hat CDN にアクセスできないシステムにカスタムリポジトリーを使用します。ダウングレードと変換の失敗を防ぐために、リポジトリーに RHEL マイナーバージョンで利用可能な最新のコンテンツが含まれていることを確認してください。詳細は、「Creating a Local Repository and Sharing With Disconnected/Offline/Air-gapped Systems」を参照してください。

      注記

      RHEL 8 コンテンツは、BaseOS と AppStream の 2 つのデフォルトリポジトリーで配布されます。カスタムリポジトリーを使用して RHEL パッケージにアクセスする場合は、変換を成功させるために両方のデフォルトリポジトリーを設定する必要があります。Convert2RHEL ユーティリティーを実行する場合は、--enablerepo オプションを使用して両方のリポジトリーを有効にする必要があります。RHEL 8 リポジトリーの詳細は、『RHEL 8 の導入における検討事項』を参照してください。

  6. Red Hat Satellite サーバーで RHEL パッケージにアクセスする場合は、コンシューマー RPM を /usr/share/convert2rhel/subscription-manager/ ディレクトリーにダウンロードします。

    # 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

    satellite.example.com を Satellite サーバーのホスト名に置き換えます。

  7. 表 1.1 で指定されている変換でサポートされるマイナーバージョンに元の OS を更新し、システムを再起動します。

    変換に失敗した場合に、ロールバック機能を使用するためにサポートされる OS のマイナーバージョンの最新パッケージで変換を実行する必要があります。詳細は、「ロールバック」を参照してください。

第3章 RHEL システムへの変換

この手順では、システムを CentOS Linux または Oracle Linux (RHEL) に移行するのに必要な手順を説明します。

Red Hat CDN、または RHSM 経由で Satellite を使用して RHEL パッケージにアクセスする場合に、移行時のシステムの登録、サブスクライブ方法には 2 種類あります。

  • 組織 ID とアクティベーションキーを指定する方法。この方法は、多くのシステムを移行する場合や、スクリプトを使用して移行プロセスを自動化する場合に推奨されます。アクティベーションキーを作成するには、組織の管理者である必要があります。RHSM で Satellite を使用して RHEL パッケージにアクセスする場合は、この方法を使用する必要があります。
  • ユーザー名、パスワード、およびプール ID を指定する方法。RHSM から Red Hat CDN を使用して RHEL パッケージにアクセスする場合は、この方法を使用できます。

前提条件

手順

  1. Convert2RHEL ユーティリティーを起動します。

    Convert2RHEL は RHSM またはカスタムリポジトリーのいずれかで使用できます。

    • RHSM を使用する場合:

      • 組織 ID とアクティベーションキーを指定する場合:

        # convert2rhel --org organization_ID --activationkey activation_key

        Red Hat CDN または、Red Hat Satellite の Satellite Web UI を使用する場合には organization_IDactivation_key は、Red Hat カスタマーポータル からの組織 ID およびアクティベーションキーに置き換えます。

        注記

        Satellite で RHEL パッケージにアクセスする場合は、組織 ID とアクティベーションキーを使用して convert2rhel コマンドを実行する必要があります。

      • ユーザー名、パスワード、およびプール ID を指定する場合:

        # convert2rhel --username username --password password --pool pool_ID

        username および password は、ご利用中の Red Hat アカウントの認証情報に置き換えます。pool_ID は、システムに割り当てるサブスクリプションのプール ID に置き換えます。プール ID が分からない場合は、--pool オプションを省略して、アカウントで利用できるサブスクリプションの一覧を生成します。

    • カスタムリポジトリーを使用する場合:

      # convert2rhel --no-rhsm --enablerepo RHEL_RepoID1 --enablerepo RHEL_RepoID2

      RHEL_RepoID を、/etc/yum.repos.d/ ディレクトリーで設定したカスタムリポジトリーに置き換えます (例: rhel-7-server-rpms または rhel-8-baseos および rhel-8-appstream)。

      利用可能なオプションをすべて表示するには、-h-help オプションを使用します。

      # convert2rhel -h
      注記

      RHSM またはカスタムリポジトリーで変換する場合は、--enablerepo オプションを使用して追加のパッケージを RHEL の対応パッケージに置き換えて、RHEL 7 Extras リポジトリーまたは Optional リポジトリーを手動で有効にできます。Optional リポジトリーのパッケージはサポートされないことに注意してください。詳細は「Red Hat Enterprise Linux における Optional および Supplementary チャンネルのサポートポリシー」を参照してください。

  2. Convert2RHEL が元のディストリビューションのパッケージを RHEL パッケージに置き換える前に、以下の警告メッセージが表示されます。

    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.

    この時点で Convert2RHEL による変更は自動的に元に戻されます。変換プロセスを続行することを確認します。

  3. Convert2RHEL が RHEL パッケージをインストールし、正常に終了するまで待ちます。
  4. 推奨手順: 変換にカスタムリポジトリーを使用している場合は、RHEL システムを登録してサブスクライブします。詳細は、「How to register and subscribe a system offline to the Red Hat Customer Portal?」を参照してください。
  5. この時点で、システムは RAM に読み込まれている元のディストリビューションカーネルで稼働します。システムを再起動して、新たにインストールした RHEL カーネルを起動します。

    # reboot
  6. 変更されていない元の OS からサードパーティーパッケージを削除します (通常は、RHEL 対応がないパッケージ)。これらのパッケージの一覧を表示するには、以下を使用します。

    # yum list extras --disablerepo="*" --enablerepo=RHEL_RepoID

    RHEL_RepoID は、お使いのリポジトリーに置き換えます。

検証

  • システムが期待どおりに動作することを確認します。必要な場合は、変換後にシステムサービスを再設定し、依存関係エラーを修正します。詳細は、「依存関係エラーの修正」を参照してください。

第4章 ロールバック

Convert2RHEL ユーティリティーは、制限されたロールバック機能を提供します。ユーザーが変換をキャンセルした場合や、変換が失敗した場合、ユーティリティーは、以下の条件下で変換プロセス中に加えられた変更のロールバックを実行します。

  • 元に戻すことができるのは、Convert2RHEL が元のディストリビューションのパッケージを RHEL パッケージに置き換えるまで実行された変更のみです。この瞬間は警告メッセージで表示されます。

    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.

    これには、プロセスを続行するかどうかの質問が続きます。

    注記

    convert2RHEL コマンドとともに -y オプションを指定すると、自動ロールバック可能ではなくなったときを示す質問がスキップされます。

  • ロールバックを実行するには、元のディストリビューションのパッケージを提供するリポジトリー (特にベースリポジトリー) が必要です。Convert2RHEL はこれらのレポジトリーへのアクセスなしでは、ツールの実行が初期段階で停止しても、システムを元の状態に戻すことができません。これは、Convert2RHEL が変換プロセス時に特定のパッケージを削除し、ロールバックのために元のリポジトリーからこれらのパッケージを先制的にダウンロードする必要があるためです。
  • ロールバックは、元の OS のすべてのパッケージが、システムからアクセス可能なリポジトリーで取得できる最新バージョンに更新されているシステムでのみ実行可能です。したがって、変換プロセスを開始する前に yum update コマンドを使用します。
警告

Convert2RHEL がパッケージ置き換えフェーズを開始した後に変換プロセスがキャンセルまたは失敗すると、システムが機能しなくなる可能性があります。そのような場合は、手動の修正が必要になります。サポートが必要な場合は Red Hat Consulting services までお問い合わせください。

第5章 トラブルシューティング

本章では、トラブルシューティングに使用するリソースおよびヒントを紹介します。

5.1. トラブルシューティングのリソース

変換プロセス中に発生する可能性のある問題のトラブルシューティングを容易にするため、コンソールおよびログファイルに出力されるログメッセージを確認してください。

コンソールの出力

デフォルトでは、Convert2RHEL ユーティリティーにより、情報、警告、エラー、重要なログレベルのメッセージのみがコンソールに出力されます。デバッグメッセージも出力するには、convert2rhel コマンドで --debug オプションを使用します。

ログ

  • /var/log/convert2rhel/convert2rhel.log ファイルには、デバッグ、情報、警告、エラー、重要なメッセージの一覧が表示されます。
  • /var/log/convert2rhel/rpm_va.log ファイルには、ユーザーが修正した変換されていないシステムのパッケージファイルがすべて表示されます。この出力は、rpm -Va コマンドで生成されます。これは --no-rpm-va オプションを convert2rhel コマンドで指定しない限り、自動的に実行されます。

5.2. 依存関係エラーの修正

異なる Linux ディストリビューションから RHEL への移行時に、特定のパッケージが、一部の依存関係がない状態でインストールされることがあります。

前提条件

手順

  1. 依存関係エラーを特定します。

    # yum check dependencies

    コマンドが出力を表示しない場合、それ以上のアクションは必要ありません。

  2. 依存関係エラーを修正するには、影響を受けるパッケージを再インストールします。この操作中に、yum ユーティリティーは不足している依存関係を自動的にインストールします。必要な依存関係がシステムで利用可能なリポジトリーにより提供されていない場合は、それらのパッケージを手動でインストールします。

5.3. 既知の問題および制限

変換中に以下の問題と制限が発生することが知られています。

  • UEFI ベースのシステムは現在 RHEL に変換できません。(BZ#1898314)
  • ファイルが /mnt/ ディレクトリーに直接マウントされている、または /sys/ ディレクトリーが読み取り専用としてマウントされている場合は、変換が停止します。
  • 現在、Red Hat またはサードパーティーの高可用性クラスターソフトウェアを使用するシステムは、RHEL への変換に対応していません。Red Hat は、新規インストールした RHEL システムに移行してこのような環境の整合性を確保することを推奨します。
  • RHEL カーネルモジュールに存在しないカーネルモジュールを使用するシステムは、現時点では移行に対応していません。Red Hat は、外部カーネルモジュールを無効化またはアンインストールしてから移行し、移行が済んでからこのカーネルモジュールを有効化または再インストールすることを推奨します。対応していないカーネルモジュールには以下が含まれます。

    • 特殊なアプリケーション、GPU、ネットワークドライバー、またはストレージドライバー用のカーネルモジュール
    • DKMS によってビルドされたカスタムコンパイルカーネルモジュール
  • FIPS モードのシステムは、移行に対応していません。
  • パブリッククラウドインスタンスで Red Hat Update Infrastructure (RHUI) を使用して RHEL パッケージにアクセスすることはできません。代わりに RHSM、Red Hat Satellite、またはカスタムリポジトリーを使用してください。
  • HTTP プロキシーサーバーを使用してインターネットに接続するシステムは、RHSM を介して Red Hat CDN または Satellite を使用して変換できません。この問題を回避するには、yum の HTTP プロキシーを有効にし、RHSM の HTTP プロキシーを設定します。

    1. RHEL の Yum Command のプロキシー設定を有効にする方法」に従って、yum が HTTP プロキシーを使用するように設定しますか?
    2. Oracle Linux 変換では、以下の URL を参照するリポジトリーを定義し、有効にします。

    3. subscription-manager パッケージをインストールします。
    4. How to configure HTTP Proxy for Red Hat Subscription Management」の説明に従い、RHSM の HTTP プロキシーを設定します。
    5. 変換中に設定ファイルが削除されないようにします。

      chattr +i /etc/rhsm/rhsm.conf
    6. RHEL への変換を実行します。

      (BZ#1965487)

  • 変換中に python39-psycopg2-debug パッケージがインストールされた RHEL 8 システムで依存関係の問題が発生するため、RHEL システムが破損します。この問題を回避するには、変換前に python39-psycopg2-debug パッケージを削除します。

5.4. サポートの利用

変換中に問題が発生した場合は Red Hat にお知らせください。問題に対応させていただきます。サポートを取得する方法は複数あります。

  • サポートケースを作成します。

    • 製品に RHEL 7 または RHEL 8 を選択し、システムから sosreport を添付します。
    • システムで直接 sosreport を生成するには、以下のコマンドを実行します。

      # sosreport

      ケース ID は空のままにできます。

  • バグ報告 を送信します。

    • バグを開き、製品で RHEL 7 または RHEL 8 を選択し、コンポーネントに convert2rhel を選択します。

sosreport を生成する方法は、ナレッジベースのソリューション「Red Hat Enterprise Linux 上での sosreport の役割と取得方法」を参照してください。

カスタマーポータルでサポートケースを作成し、管理する方法は、ナレッジベースのアーティクル「カスタマーポータルでサポートケースを作成および管理する」を参照してください。

Linux ディストリビューション変換に対する Red Hat のサポートポリシーの詳細は「Convert2RHEL サポートポリシー」を参照してください。

第6章 関連情報