Translated message

A translation of this page exists in English.

Warning message

Log in to add comments or rate this document.

CentOS または Oracle Linux から RHEL に変換する方法

Updated 2021-10-13T13:32:28+00:00

本記事では、オペレーティングシステムを別の Linux ディストリビューション (CentOS または Oracle Linux) から Red Hat Enterprise Linux (RHEL) に変換する方法を説明します。変換は、Convert2RHEL ユーティリティーを使用して実行します。これは現在 Red Hat のサポート対象外ですが、GitHub で入手可能です。


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

変換に成功したシステムの一部としてインストールされる Red Hat パッケージは、自動的に Red Hat サポート対象となります。

変換プロセスで変更されないサードパーティーパッケージには、Red Hat サポートが提供されない場合があります。「サードパーティーソフトウェアのサポートに関する Red Hat ポリシー」を参照してください。

Convert2RHEL ユーティリティーで問題が発生した場合は、GitHub で問題 を報告してください。

OS 変換の仕組み

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

利用可能な変換パス

現在では、以下の Linux ディストリビューションおよびアーキテクチャーのシステムを、対応する RHEL メジャーバージョンに変換できます。

ソース OS ターゲット OS アーキテクチャー
CentOS 8 RHEL 8 64 ビット Intel
CentOS 7 RHEL 7 64 ビット Intel
CentOS 6 RHEL 6 64 ビット Intel
Oracle Linux 8 RHEL 8 64 ビット Intel
Oracle Linux 7 RHEL 7 64 ビット Intel
Oracle Linux 6 RHEL 6 64 ビット Intel



RHEL 6 は、2020 年 11 月 30 日に ライフサイクル のメンテナンスサポート 2 フェーズを終了しました。変換後に RHEL 7 にアップグレード できない、または RHEL 8 にアップグレード できない場合で、サポート終了日以降も RHEL 6 のメンテナンスを継続する必要がある場合は、延長ライフサイクルサポートアドオン (ELS) の購入が推奨されます。

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

特定のシステム設定は、現時点では変換がサポートされていません。詳細は、既知の問題 を参照してください。

前提条件

  • OS の適切なメジャーバージョンに Convert2RHEL ユーティリティーをインストールします。
    ~~~
    # yum install -y https://github.com/oamg/convert2rhel/releases/download/v0.15/convert2rhel-0.15-1.el8.noarch.rpm
    # yum install -y https://github.com/oamg/convert2rhel/releases/download/v0.15/convert2rhel-0.15-1.el7.noarch.rpm
    # yum install -y https://github.com/oamg/convert2rhel/releases/download/v0.15/convert2rhel-0.15-1.el6.noarch.rpm
    ~~~

注記:
Convert2RHEL のすべての依存関係は、標準の CentOS/Oracle Linux リポジトリーで利用できます。ただし、サポート終了を迎えた CentOS 6 では利用できません。CentOS 6 リポジトリーは Vault にアーカイブされています。CentOS 6 リポジトリーを Vault に再設定して、Convert2RHEL の依存関係を利用できるようにします。

  • /etc/yum.repos.d/ ディレクトリーで設定され、RHEL ISO、FTP、または HTTP などを参照するカスタムリポジトリーで RHEL パッケージにアクセスできることを確認します。OS は、これらのリポジトリーが提供する RHEL のバージョンに変換されることに注意してください。ダウングレードと変換の失敗を防ぐためにも、RHEL マイナーバージョンが元の OS マイナーバージョンと同じか、またはそれ以降のバージョンであることを確認します。リポジトリーの設定方法 を参照してください。

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

  • 推奨: 元の OS のパッケージを、システムからアクセス可能なリポジトリーで利用できる最新バージョンに更新し、システムを再起動します。
    ~~~
    # yum update -y
    # restart
    ~~~
    この手順を完了しないと、ロールバック 機能が正しく機能しなくなります。また、任意のフェーズで変換を終了すると、システムが機能しなくなる可能性があります。

重要:
変換プロセスを開始する前に、システムのバックアップを作成します。

システムの変換

  1. カスタムリポジトリーを使用して Convert2RHEL を起動します。

    # convert2rhel --disable-submgr --enablerepo <RHEL_RepoID1> --enablerepo <RHEL_RepoID2> --debug
    

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

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

    # convert2rhel -h
    

    注記: 元のディストリビューションでのみ利用でき、RHEL リポジトリーに一致するものがないパッケージや、元の Linux ディストリビューションや RHEL のものではないサードパーティーパッケージは、変更されないまま留まることに注意してください。

  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 パッケージがインストールされるまで待ちます。

    注意: 変換に成功すると、このユーティリティーは convert2rhel コマンドを非対話的に実行するために必要なすべての引数とともに出力します。同様のセットアップでコマンドをコピーして、システムで使用できます。

  4. この時点で、システムは RAM に読み込まれている元のディストリビューションカーネルで稼働します。システムを再起動して、新たにインストールした RHEL カーネルで起動します。

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

    # yum list extras --disablerepo="*" --enablerepo=<RHEL_RepoID>
    
  6. 必要な場合は、変換後にシステムサービスを再構成します。

トラブルシューティング

ログ

Convert2RHEL ユーティリティーは、convert2rhel.log ファイルを /var/log/convert2rhel/ ディレクトリーに保存します。その内容は、標準出力に出力される内容と同じです。

--no-rpm-va オプションを使用しない限り、自動的に実行される rpm -Va コマンドの出力は、デバッグ目的で /var/log/convert2rhel/rpm_va.log ファイルに保存されます。

ロールバック

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 はツールの実行が変換の初期段階で停止しても、システムを元の状態に復元できなくなります。これは、Convert2RHEL が変換プロセス中に特定のパッケージを削除し、ロールバックの場合に元のリポジトリーからこれらを事前にダウンロードする必要があるためです。

  • ロールバックは、元の OS のすべてのパッケージが、システムからアクセス可能なリポジトリーで利用できる最新バージョンに更新されているシステムでのみ実行可能です。したがって、変換プロセスを開始する前に yum update コマンドを使用します。

注記: -y オプションを指定すると、自動ロールバックが不可能であるときを示す質問がスキップされます。

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

既知の問題

  • UEFI ベースのシステムは現在 RHEL に変換できません。(BZ#1898314)
  • ファイルが /mnt/ ディレクトリーに直接マウントされている場合、または /sys/ ディレクトリーが読み取り専用としてマウントされている場合は、変換に失敗します。(BZ#1887513)

サポートの利用

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

Convert2RHEL のバグを報告するには、Fedora EPEL インスタンスで Bugzilla チケット を開きます。

その他のリソース

「Convert2RHEL download page」
「Red Hat Enterprise Linux テクノロジーの機能と制限」
Red Hat Enterprise Linux 製品ドキュメント
『移行計画ガイド: RHEL 6 への移行』
『移行計画ガイド: RHEL 7 への移行』
「How do I upgrade from Red Hat Enterprise Linux 6 to Red Hat Enterprise Linux 7?」
『RHEL 8 の導入における検討事項』
『RHEL 7 から 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?」
ブログ投稿: 「Converting from CentOS to RHEL with Convert2RHEL and Satellite」

test link 8.3
test link 7.9
test link 6.10