RHEL 9 から RHEL 10 へのアップグレード


Red Hat Enterprise Linux 10

Red Hat Enterprise Linux 9 から Red Hat Enterprise Linux 10 へのインプレースアップグレードの手順

Red Hat Customer Content Services

概要

このドキュメントでは、Leapp ユーティリティーを使用して、Red Hat Enterprise Linux 9 から Red Hat Enterprise Linux 10 へのインプレースアップグレードを実行する方法を説明します。インプレースアップグレードでは、既存の RHEL 9 オペレーティングシステムが RHEL 10 バージョンに置き換えられます。

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

Red Hat ドキュメントに関するご意見やご感想をお寄せください。また、改善点があればお知らせください。

Jira からのフィードバック送信 (アカウントが必要)

  1. Jira の Web サイトにログインします。
  2. 上部のナビゲーションバーで Create をクリックします。
  3. Summary フィールドにわかりやすいタイトルを入力します。
  4. Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも追加してください。
  5. ダイアログの下部にある Create をクリックします。

主な移行の用語

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

更新

ソフトウェアパッチと呼ばれることもあります。更新は現行バージョン、オペレーティングシステム、または実行中のソフトウェアに追加されます。ソフトウェア更新は、問題またはバグに対応し、テクノロジーの操作が改善されます。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 への移行はマイグレーションです。ユーザーがあるラップトップから別のラップトップに移動したり、企業があるサーバーから別のサーバーに移動することもマイグレーションです。ただし、ほとんどのマイグレーションにはアップグレードも含まれており、この 2 つの用語が同様の意味で使用されることがあります。

  • RHEL へのマイグレーション: 既存のオペレーティングシステムを RHEL に変換すること。
  • RHEL 間でのマイグレーション: RHEL のあるバージョンから別のバージョンへのアップグレード。

第1章 サポート対象のアップグレードパス

インプレースアップグレードでは、システム上の RHEL 9 オペレーティングシステムを RHEL 10 バージョンに置き換えます。

重要

インプレースアップグレードは、RHEL 8 から RHEL 9、RHEL 9 から RHEL 10 など、RHEL のあるメジャーバージョンから次のバージョンへのみ実行できます。RHEL 8 から RHEL 10 など、複数のバージョンをまたいでシステムをアップグレードする場合は、対象のバージョンに達するまで、インプレースアップグレードを複数回実行する必要があります。詳細は、In-place upgrades over multiple RHEL major versions by using Leapp を参照してください。

現在、次のアップグレード元の RHEL 9 マイナーバージョンから、次のアップグレード先の RHEL 10 マイナーバージョンへのインプレースアップグレードを実行できます。

Expand
表1.1 サポート対象のアップグレードパス
システムの設定アップグレード元の OS バージョンアップグレード先の OS バージョン

RHEL

RHEL 9.6

RHEL 10.0

サポートされているアップグレードパスの詳細は、Red Hat Enterprise Linux のサポート対象のインプレースアップグレードパス および インプレースアップグレードのサポートポリシー を参照してください。

第2章 RHEL 10 へのアップグレードの計画

RHEL 9 から RHEL 10 へのアップグレードを開始する前に、システム要件、制限事項、その他の考慮事項を確認してください。

2.1. RHEL 9 から RHEL 10 へのアップグレードの計画

インプレースアップグレードは、システムを RHEL の次のメジャーバージョンにアップグレードする方法です。この方法は、推奨され、サポートされています。

RHEL 10 にアップグレードする前に、次の点を考慮してください。

  • アプリケーション - Leapp ユーティリティーを使用して、システムにインストールされているアプリケーションを移行できます。ただし、場合によっては、アップグレード中に Leapp によって実行されるアクションを指定するカスタムアクターを作成する必要があります。たとえば、アプリケーションの再設定や特定のハードウェアドライバーのインストールなどのアクションです。詳細は、Handling the migration of your custom and third-party applications を参照してください。Red Hat は、カスタムアクターに対応していません。

    重要

    SHA-1 アルゴリズムは RHEL 9 で非推奨となりました。システムに RSA/SHA-1 署名付きのパッケージが含まれている場合、アップグレードが拒否されます。アップグレードする前に、これらのパッケージを削除するか、RSA/SHA-256 署名を含むパッケージについてベンダーに問い合わせてください。詳細は、SHA-1 deprecation in Red Hat Enterprise Linux 9 を参照してください。

  • ブートローダー - RHEL 9 または RHEL 10 では、ブートローダーを BIOS から UEFI に切り替えることはできません。RHEL 9 システムで BIOS を使用しており、RHEL 10 システムで UEFI を使用する場合は、インプレースアップグレードではなく、RHEL 9 の新規インストールを実行してください。詳細は、Is it possible to switch the BIOS boot to UEFI boot on preinstalled Red Hat Enterprise Linux machine? を参照してください。
  • カスタマイズ - カスタムリポジトリーを使用するには、ナレッジベース記事 Configuring custom repositories を参照してください。
  • ダウンタイム - アップグレードプロセスには数分から数時間かかる場合があります。
  • 高可用性 - 高可用性アドオンを使用している場合は、ナレッジベース記事 Recommended Practices for Applying Software Updates to a RHEL High Availability or Resilient Storage Cluster に従ってください。
  • 言語: すべての Leapp のレポート、ログ、その他の生成されたドキュメントは、言語設定に関わらず、英語で表示されます。
  • オペレーティングシステム - オペレーティングシステムは、次の条件に該当する場合、Leapp ユーティリティーによってアップグレードできます。

    • アップグレード元の OS バージョンが、次のいずれかのサポートされているアーキテクチャーを備えたシステムにインストールされている。

      • 64 ビット Intel、AMD、および ARM
      • IBM POWER (リトルエンディアン)
      • 64 ビット IBM Z

        詳細は、Red Hat certified hardware を参照してください。

    • RHEL 10 の最小 ハードウェア要件 が満たされている。
    • 選択したアップグレード元およびアップグレード先の OS バージョンの最新コンテンツにアクセスできる。詳細は、アップグレードに向けた RHEL 9 システムの準備 を参照してください。
  • パブリッククラウド - Red Hat Update Infrastructure (RHUI) を使用するオンデマンドの Pay-As-You-Go (PAYG) インスタンスでは、インプレースアップグレードは現在サポートされていません。
  • Red Hat OpenStack Platform の Real Time for Network Functions Virtualization (NFV) - リアルタイムシステムでのアップグレードがサポートされています。
  • RHEL for Real Time - リアルタイムシステムでのアップグレードがサポートされています。
  • SAP HANA - SAP HANA を含むアップグレードは現在サポートされていません。
  • Satellite

  • セキュリティー - アップグレード前にセキュリティーの側面を評価し、アップグレードプロセスが完了したら追加の手順を実行してください。特に以下の点を考慮してください。

    • アップグレードの前に、システムが準拠する必要があるセキュリティー標準を定義し、RHEL 10 でのセキュリティーの変更点 を確認します。
    • アップグレードプロセス中、Leapp ユーティリティーにより SELinux モードが permissive に設定されます。
    • Leapp は、Federal Information Processing Standard (FIPS) 140 モードの RHEL 9.6 以降のシステムから RHEL 9 FIPS モード対応システムへのインプレースアップグレードをサポートしています。FIPS モード は、アップグレードプロセス全体を通じて有効な状態に維持されます。
    • アップグレードが完了したら、セキュリティーポリシーを再評価し、再適用します。セキュリティーポリシーの適用と更新の詳細は、セキュリティーポリシーの適用 を参照してください。
  • ストレージとファイルシステム

Leapp ユーティリティーの主な既知の制限は次のとおりです。

  • 既知の制限 - 現在、Leapp の主な既知の制限は次のとおりです。

    • イーサネットまたは Infiniband を使用するネットワークベースのマルチパスおよびネットワークストレージは、アップグレードではサポートされていません。これには、FCoE を使用した SAN と FC を使用した SAN からの起動が含まれます。FC を使用した SAN はサポートされていることに注意してください。
    • 現在、インプレースアップグレードは、RHEL サブスクリプションに Red Hat Update Infrastructure を使用して Red Hat Subscription Manager (RHSM) を使用しない、残りのパブリッククラウドのオンデマンドインスタンスではサポートされません。
    • Ansible Automation Platform がインストールされているシステムでは、インプレースアップグレードはサポートされていません。RHEL 10 で RHEL 9 の Ansible Automation Platform インストールを使用するには、Red Hat ナレッジベースソリューション How do I migrate my Ansible Automation Platform installation from one environment to another? を参照してください。
    • Red Hat JBoss Enterprise Application Platform (EAP) は、RHEL 10 へのアップグレードではサポートされていません。アップグレード後に、システムに手動で JBoss EAP をインストールして設定する必要があります。
    • Stratis ファイルシステムのアップグレードはサポートされていません。

Red Hat Insights を使用すると、Insights に登録したシステムのうち、どのシステムに RHEL 10 のサポート対象のアップグレードパスが適用されるかを確認できます。Advisor の推奨事項では、RHEL 9 のマイナーバージョンのみが考慮され、システムのアップグレード前の評価は実行されないことに注意してください。Advisor サービスの推奨事項の概要 も参照してください。

第3章 アップグレードの準備

アップグレード後に問題を回避し、システムを RHEL の次のメジャーバージョンにアップグレードできることを確認するには、アップグレード前に必要なすべての準備手順を完了してください。

すべてのシステムで、アップグレードに向けた RHEL 9 システムの準備 で説明されている準備手順を実行する必要があります。さらに、Satellite Server に登録されているシステムでは、アップグレードのための Satellite 登録システムの準備 で説明されている準備手順も実行する必要があります。

3.1. アップグレードに向けた RHEL 9 システムの準備

この手順では、Leapp ユーティリティーを使用して RHEL 10 へのインプレースアップグレードを実行する前に必要な手順を説明します。

アップグレードプロセス中に Red Hat Subscription Manager (RHSM) を使用しない場合は、Performing an in-place upgrade without Red Hat Subscription Manager の手順に従ってください。

前提条件

手順

  1. オプション: アップグレードに必要のないシステム以外の OS ファイルシステムをアンマウントし、/etc/fstab ファイルからコメントアウトします。たとえば、システム自体とは関係のないデータファイルのみを含むファイルシステムは、アップグレードに不要です。これにより、アップグレードプロセスに必要な時間が短縮されます。また、アップグレード時にカスタムまたはサードパーティーのアクターによって適切に移行されないサードパーティーアプリケーションに関連する、潜在的な問題を防ぐことができます。
  2. RHSM を使用してアップグレードする場合は、Simple Content Access (SCA) が有効なアカウントにシステムが登録されていることを確認します。

    # subscription-manager status
    +-------------------------------------------+
       System Status Details
    +-------------------------------------------+
    Overall Status: Disabled
    Content Access Mode is set to Simple Content Access. This host has access to content, regardless of subscription status.
    System Purpose Status: Disabled
    Copy to Clipboard Toggle word wrap
  3. 適切なリポジトリーが有効になっていることを確認します。次のコマンドは、64 ビット Intel アーキテクチャーの Base リポジトリーと AppStream リポジトリーを有効にします。他のアーキテクチャーは、RHEL 9 リポジトリー を参照してください。

    # subscription-manager repos --enable rhel-9-for-x86_64-baseos-rpms --enable rhel-9-for-x86_64-appstream-rpms
    Copy to Clipboard Toggle word wrap
    注記

    オプション: CodeReady Linux Builder (Optional とも呼ばれます) リポジトリーまたは Supplementary リポジトリーを有効にします。これらのリポジトリーの内容に関する詳細は、パッケージマニフェスト を参照してください。

  4. システムのリリースバージョンを設定します。

    # subscription-manager release --set 9.6
    Copy to Clipboard Toggle word wrap
  5. 指定したバージョンにパッケージをロックするために dnf versionlock プラグインを使用している場合は、次のコマンドを実行してロックを解除します。

    # dnf versionlock clear
    Copy to Clipboard Toggle word wrap
  6. leapp および leapp-repository パッケージが最新であることを確認します。

    1. RHEL 9.6: バージョン 0.19.0leapp パッケージとバージョン 0.22.0leapp-repository パッケージ。

      leapp-repository パッケージには、leapp-upgrade-el9toel10 RPM パッケージが含まれています。

      注記

      インターネット非接続のシステムのみ: Red Hat カスタマーポータル から次のパッケージをダウンロードします。

      • leapp
      • leapp-deps
      • python3-leapp
      • leapp-upgrade-el9toel10
      • leapp-upgrade-el9toel10-deps
  7. Leapp ユーティリティーをインストールします。

    # dnf install leapp-upgrade
    Copy to Clipboard Toggle word wrap
  8. すべてのパッケージを最新の RHEL 9 バージョンに更新して再起動します。

    # dnf update
    # reboot
    Copy to Clipboard Toggle word wrap
  9. オプション: rpmnew ファイルと rpmsave ファイルを確認し、修正してから削除します。
  10. 設定管理システムを使用する場合は、そのシステムがインプレースアップグレードプロセスに干渉しないことを確認します。

    • 設定管理システムに Puppet、Salt、Chef などのクライアント/サーバーアーキテクチャーがある場合は、leapp preupgrade コマンドを実行する前にシステムを無効にしてください。アップグレード時に問題が発生するのを防ぐために、アップグレードが完了するまで設定管理システムを有効にしないでください。
    • 設定管理システムにエージェントレスアーキテクチャーがある場合は、設定およびデプロイメントファイルを実行しないでください。たとえば、システムに Ansible がある場合は、アップグレード中に Ansible Playbook を実行しないでください。

      警告

      設定管理システムを使用したアップグレード前およびアップグレードプロセスの自動化は、Red Hat ではサポートされていません。詳細は、Using configuration management systems to automate parts of the Leapp pre-upgrade and upgrade process on Red Hat Enterprise Linux を参照してください。

  11. ISO イメージを使用してアップグレードする場合は、ISO イメージにアップグレード先の OS バージョン (RHEL 10.0 など) が含まれていることを確認します。また、アップグレードプロセス全体を通じて Leapp ユーティリティーがイメージにアクセスできるように、イメージが永続的なローカルマウントポイントに保存されていることを確認します。

3.2. アップグレードのための Satellite 登録システムの準備

Satellite に登録されているシステムの RHEL 10 へのインプレースアップグレードを実行する前に、システムを準備する必要があります。この手順は Satellite Server で実行します。

重要

Satellite システムのユーザーは、この手順と アップグレードに向けた RHEL 9 システムの準備 の両方で説明されている準備手順を完了する必要があります。

前提条件

手順

  1. RHEL 9 リポジトリーが含まれるサブスクリプションマニフェストを Satellite Server にインポートします。詳細は、該当するバージョンの Red Hat Satellite の「コンテンツの管理」ガイドで「Red Hat サブスクリプションの管理」の章を参照してください。
  2. Satellite Server で必要なすべての RHEL 9 および RHEL 10 リポジトリーを有効にし、アップグレード元およびアップグレード先 OS バージョンの最新の更新と同期します。必要なリポジトリーはコンテンツビューで利用可能であり、関連付けられたアクティベーションキーで有効になっている必要があります。

    注記

    RHEL 10 リポジトリーの場合は、各リポジトリーのアップグレード先の OS バージョン (例: RHEL 10.0) を有効にしてください。RHEL 10 バージョンのリポジトリーのみを有効にした場合、インプレースアップグレードが拒否されます。

    たとえば、Extended Update Support (EUS) サブスクリプションのない Intel アーキテクチャーの場合は、少なくとも次のリポジトリーを有効にします。

    • Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs)

      rhel-9-for-x86_64-appstream-rpms

      x86_64 <source_os_version>

    • Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)

      rhel-9-for-x86_64-baseos-rpms

      x86_64 <source_os_version>

    • Red Hat Enterprise Linux 10 for x86_64 - AppStream (RPMs)

      rhel-10-for-x86_64-appstream-rpms

      x86_64 <target_os_version>

    • Red Hat Enterprise Linux 10 for x86_64 - BaseOS (RPMs)

      rhel-10-for-x86_64-baseos-rpms

      x86_64 <target_os_version>

      <source_os_version><target_os_version> は、それぞれアップグレード元の OS バージョンとアップグレード先の OS バージョンに置き換えます (例: 9.6 と 10.0)。

      他のアーキテクチャーは、RHEL 9 リポジトリー および RHEL 10 リポジトリー を参照してください。

      詳細は、該当するバージョンの Red Hat Satelliteコンテンツの管理 ガイドで コンテンツのインポート の章を参照してください。

  3. 必要な RHEL 9 リポジトリーおよび RHEL 10 リポジトリーを含むコンテンツビューにコンテンツホストを割り当てます。

    詳細は、該当するバージョンの Red Hat Satelliteコンテンツの管理 ガイドで コンテンツビューの管理 の章を参照してください。

検証

  1. 正しい RHEL 9 リポジトリーおよび RHEL 10 リポジトリーが Satellite Server の正しいコンテンツビューに追加されていることを確認します。

    1. Satellite Web UI で、Content > Lifecycle > Content Views に移動して、コンテンツビューの名前をクリックします。
    2. Repositories タブをクリックし、リポジトリーが期待どおりに表示されることを確認します。

      注記

      以下のコマンドを使用して、リポジトリーがコンテンツビューに追加されていることを確認することもできます。

      # hammer repository list --search 'content_label ~ rhel-9' --content-view <content_view_name> --organization <organization> --lifecycle-environment <lifecycle_environment>
      # hammer repository list --search 'content_label ~ rhel-10' --content-view <content_view_name> --organization <organization> --lifecycle-environment <lifecycle_environment>
      Copy to Clipboard Toggle word wrap

      <content_view_name> をコンテンツビューの名前に、<organization> を組織に、<lifecycle_environement> をライフサイクル環境の名前に置き換えます。

  2. コンテンツビューに関連付けられたアクティベーションキーで、正しい RHEL 10 リポジトリーが有効になっていることを確認します。

    1. Satellite Web UI で、Content > Lifecycle > Activation Keys に移動し、アクティベーションキーの名前をクリックします。
    2. Repository Sets タブをクリックし、必要なリポジトリーのステータスが Enabled であることを確認します。
  3. 予想されるすべての RHEL 9 リポジトリーがホストで有効になっていることを確認します。以下に例を示します。

    # subscription-manager repos --list-enabled | grep "^Repo ID"
    Repo ID:   rhel-9-for-x86_64-baseos-rpms
    Repo ID:   rhel-9-for-x86_64-appstream-rpms
    Copy to Clipboard Toggle word wrap

第4章 アップグレード前のレポートの確認

システムのアップグレード可能性を評価するには、leapp preupgrade コマンドでアップグレード前のプロセスを開始します。このフェーズでは、Leapp ユーティリティーがシステムに関するデータを収集し、アップグレードの可能性を評価し、アップグレード前のレポートを生成します。アップグレード前のレポートは、潜在的な問題についてまとめ、推奨される解決策を提案します。このレポートは、アップグレードを進めることが可能かどうかの判断にも役立ちます。

重要

アップグレード前の評価ではシステム設定は変更されませんが、/var/lib/leapp ディレクトリーの無視できないサイズの領域が消費されます。ほとんどの場合、アップグレード前の評価には最大 4 GB の領域が必要ですが、実際のサイズはシステム設定によって異なります。ホストされたファイルシステムに十分な領域がない場合、アップグレード前のレポートに完全な分析結果が表示されない可能性があります。問題を防ぐには、システムの /var/lib/leapp ディレクトリーに十分な領域があることを確認するか、領域の消費がシステムの他の部分に影響を与えないようにディレクトリーを専用のパーティションに移動してください。

レポートでアップグレードの阻害要因が見つからない場合でも、必ずアップグレード前レポート全体を確認してください。アップグレード前のレポートには、アップグレードされたシステムが正しく機能することを確認するために、アップグレード前に完了する推奨アクションが含まれています。

インプレースアップグレードプロセスではなく、RHEL 9 システムの新規インストールを実行する場合も、アップグレード前のレポートを確認すると有用です。

次のいずれかの方法を使用して、アップグレード前の段階でアップグレード可能性を評価できます。

  • 生成された leapp-report.txt ファイル内のアップグレード前レポートを確認し、コマンドラインを使用して報告された問題を手動で解決します。
  • Web コンソールを使用してレポートを確認し、利用可能な場合は自動修復を適用し、推奨される修復ヒントを使用して残りの問題を修正します。
注記

たとえば、独自のカスタムスクリプトを使用してアップグレード前のレポートを処理し、異なる環境間にある複数のレポートの結果を比較できます。詳細は Red Hat Enterprise Linux のアップグレード前のレポートワークフローの自動化 を参照してください。

重要

アップグレード前のレポートでは、インプレースアップグレードプロセス全体をシミュレートできないため、システムの阻害要因となる問題をすべて特定することはできません。その結果、レポート内のすべての問題を確認して修正した後でも、インプレースアップグレードが終了する可能性があります。たとえば、アップグレード前のレポートでは、壊れたパッケージのダウンロードに関連する問題は検出できません。

4.1. コマンドラインでの RHEL 9 から RHEL 10 へのアップグレード可能性の評価

コマンドラインを使用して、アップグレードする前に、アップグレード前のフェーズで潜在的なアップグレードの問題を特定します。

前提条件

  • アップグレードの準備 に記載されている手順が完了している。
  • 制限のない SELinux ロールを使用して root にログインしている。

    注記

    sudo を使用している場合は、各 leapp コマンドを実行するときに -r unconfined_r -t unconfined_t オプションを使用する必要があります。次に例を示します。

    $ sudo -r unconfined_r -t unconfined_t leapp preupgrade
    Copy to Clipboard Toggle word wrap

手順

  1. RHEL 9 システムで、アップグレード前のフェーズを実行します。

    # leapp preupgrade --target <_target_os_version_>
    Copy to Clipboard Toggle word wrap

    target_os_version は、アップグレード先の OS バージョン (例: 10.0) に置き換えます。アップグレード先の OS バージョンが定義されていない場合、Leappサポート対象のアップグレードパス の表 1.1 に指定されているデフォルトのアップグレード先の OS バージョンを使用します。

    • アップグレードに /etc/yum.repos.d/ ディレクトリーの カスタムリポジトリー を使用する場合は、以下のように選択したリポジトリーを有効にします。

      # leapp preupgrade --enablerepo <repository_id1> --enablerepo <repository_id2> ...
      Copy to Clipboard Toggle word wrap

      repository_id はリポジトリー ID に置き換えます。

    • RHSM を使用せずにアップグレード する場合、または RHUI を使用してアップグレードする場合は、--no-rhsm オプションを追加します。
    • Extended Upgrade Support (EUS) または Advanced Update Support (AUS) サブスクリプションをお持ちの場合は、--channel <channel> オプションを追加します。<channel> はチャネル名 (例: eus または aus) に置き換えます。
    • Red Hat OpenStack Platform で RHEL for Real Time または Real Time for Network Functions Virtualization (NFV) を使用している場合は、--enablerepo オプションを使用してデプロイメントを有効にします。以下に例を示します。

      # leapp preupgrade --enablerepo rhel-10-for-x86_64-rt-rpms
      Copy to Clipboard Toggle word wrap

      詳細は、Real-Time Compute の設定 を参照してください。

  2. /var/log/leapp/leapp-report.txt ファイル内のレポートを調べて、報告されたすべての問題を手動で解決します。報告された問題の中には、修正の提案が含まれているものもあります。阻害 要因の問題があると、それを解決するまでアップグレードできません。

    レポートには次のリスク因子レベルが含まれます。

    • - システム状態が悪化する可能性が非常に高い
    • - システムとアプリケーションの両方に影響を与える可能性がある
    • - システムに影響はないが、アプリケーションに影響を与える可能性がある
    • Info - システムまたはアプリケーションへの影響がないと考えられる情報です。
  3. 特定のシステム設定では、Leapp ユーティリティーは手動で回答する必要がある True/False の質問表を生成します。アップグレード前のレポートに Missing required answers in the answer file のメッセージが含まれる場合は、次の手順を実行します。

    1. /var/log/leapp/answerfile ファイルを開き、true または false の質問を確認します。
    2. /var/log/leapp/answerfile ファイルを手動で編集し、# 記号を削除してファイルの確認行のコメントを解除し、True または False として回答を確定します。詳細は、トラブルシューティングのヒント を参照してください。

      注記

      または、以下のコマンドを実行して、True/False の質問に回答できます。

      # leapp answer --section <question_section>.<field_name>=<answer>
      Copy to Clipboard Toggle word wrap
  4. 前の手順を繰り返してアップグレード前レポートを再実行し、すべての重要な問題が解決されたことを確認します。

アップグレード前のアップグレード前フェーズで潜在的な問題と、Web コンソールを使用して自動修復を適用する方法を特定します。Web コンソールの詳細は、RHEL Web コンソールの使用 を参照してください。

前提条件

  • アップグレードの準備 に記載されている手順を完了している。
  • 制限のない SELinux ロールを使用して root にログインしている。

    注記

    sudo を使用している場合は、各 leapp コマンドを実行するときに -r unconfined_r -t unconfined_t オプションを使用する必要があります。次に例を示します。

    $ sudo -r unconfined_r -t unconfined_t leapp preupgrade
    Copy to Clipboard Toggle word wrap

手順

  1. cockpit-leapp プラグインをインストールします。

    # dnf install cockpit-leapp
    Copy to Clipboard Toggle word wrap
  2. root として、または sudo で管理コマンドを入力するパーミッションがあるユーザーとして Web コンソールにログインします。
  3. RHEL 9 システムで、コマンドラインまたは Web コンソールのターミナルからアップグレード前のフェーズを実行します。

    # leapp preupgrade --target <target_os_version>
    Copy to Clipboard Toggle word wrap

    target_os_version は、アップグレード先の OS バージョン (例: 10.0) に置き換えます。アップグレード先の OS バージョンが定義されていない場合、Leappサポート対象のアップグレードパス の表 1.1 に指定されているデフォルトのアップグレード先の OS バージョンを使用します。

    • アップグレードに /etc/yum.repos.d/ ディレクトリーの カスタムリポジトリー を使用する場合は、以下のように選択したリポジトリーを有効にします。

      # leapp preupgrade --enablerepo <repository_id1> --enablerepo <repository_id2> ...
      Copy to Clipboard Toggle word wrap
    • RHSM を使用せずにアップグレード する場合、または RHUI を使用してアップグレードする場合は、--no-rhsm オプションを追加します。
    • Extended Upgrade Support (EUS) または Advanced Update Support (AUS) サブスクリプションをお持ちの場合は、--channel <channel> オプションを追加します。<channel> はチャネル名 (eus または `aus` など) に置き換えます。
    • Red Hat OpenStack Platform で RHEL for Real Time または Real Time for Network Functions Virtualization (NFV) を使用している場合は、--enablerepo オプションを使用してデプロイメントを有効にします。以下に例を示します。

      # leapp preupgrade --enablerepo rhel-10-for-x86_64-rt-rpms
      Copy to Clipboard Toggle word wrap

      詳細は、Real-Time Compute の設定 を参照してください。

  4. Web コンソールで、ナビゲーションメニューから Upgrade Report を選択し、報告されたすべての問題を確認します。阻害 要因の問題があると、それを解決するまでアップグレードできません。問題を詳細に表示するには、行を選択して詳細ペインを開きます。

    図4.1 Web コンソールのインプレースアップグレードレポート

    レポートには次のリスク因子レベルが含まれます。

    • - システム状態が悪化する可能性が非常に高い
    • - システムとアプリケーションの両方に影響を与える可能性がある
    • - システムに影響はないが、アプリケーションに影響を与える可能性がある
    • Info - システムまたはアプリケーションへの影響がないと考えられる情報です。
  5. 特定の設定では、Leapp ユーティリティーは手動で回答する必要がある True/False の質問表を生成します。アップグレードレポートの 回答ファイルで必須の回答が抜けている 行が含まれている場合は、次の手順を実行します。

    1. 回答ファイルで必須の回答が抜けている 行を選択し、Detail ペインを開きます。デフォルトの回答は修復コマンドの最後に記載されています。
    2. デフォルトの応答を確定するには、Add to Remediation Plan を選択して修復を後で実行するか、Run Remediation を選択して修復をすぐに実行します。
    3. 代わりにデフォルト以外の回答を選択するには、ターミナルで、回答する質問と確認した回答を指定した leapp answer コマンドを実行します。

      # leapp answer --section <question_section>.<field_name>=<answer>
      Copy to Clipboard Toggle word wrap
      注記

      /var/log/leapp/answerfile ファイルを手動で編集し、# 記号を削除してファイルの confirm 行のコメントを解除し、True または False として回答を確定します。詳細は、トラブルシューティングのヒント を参照してください。

  6. 一部の問題には、問題を自動的に解決するために実行できる修復コマンドがあります。修復コマンドは個別に実行することも、修復コマンドでまとめて実行することもできます。

    1. 単一の修復コマンドを実行するには、問題の Detail ペインを開き、Run Remediation をクリックします。
    2. 修復コマンドを修復計画に追加するには、問題の Detail ペインを開き、Add to Remediation Plan をクリックします。

      図4.2 詳細ペイン

    3. 追加されたすべての修復コマンドを含む修復計画を実行するには、レポートの右上隅にある Remediation plan リンクをクリックします。Execute Remediation Plan をクリックして、一覧表示されたすべてのコマンドを実行します。
  7. レポートを確認し、報告されたすべての問題を解決したら、手順 3 ~ 7 を繰り返してレポートを再実行し、すべての重要な問題が解決されたことを確認します。

第5章 アップグレードの実行

準備手順を完了し、アップグレード前のレポートで見つかった問題を確認および解決したら、システムでインプレースアップグレードを実行できます。

5.1. RHEL 9 から RHEL 10 へのアップグレードの実行

この手順では、Leapp ユーティリティーを使用して RHEL 9 から RHEL 10 へのアップグレードを実行するために必要なステップを説明します。

前提条件

  • システム全体のバックアップを含め、アップグレードの準備 に記載されている手順を完了した。
  • アップグレード前のレポートの確認 に記載されている手順を完了し、報告された問題をすべて解決した。
  • アップグレードが失敗しないように、ウイルス対策ソフトウェアを一時的に無効にした。

手順

  1. システム全体のバックアップまたは仮想マシンのスナップショットが存在することを確認してください。これにより、ご利用の環境で、以下の標準の災害復旧手順に従って、システムをアップグレード前と同じ状態に戻せるようになります。次のバックアップオプションを使用できます。

  2. RHEL 9 システムで、アップグレードプロセスを開始します。

    # leapp upgrade --target <_target_os_version_>
    Copy to Clipboard Toggle word wrap

    target_os_version は、アップグレード先の OS バージョン (例: 10.0) に置き換えます。アップグレード先の OS バージョンが定義されていない場合、Leappサポート対象のアップグレードパス の表 1.1 に指定されているデフォルトのアップグレード先の OS バージョンを使用します。

    • アップグレードに /etc/yum.repos.d/ ディレクトリーの カスタムリポジトリー を使用する場合は、以下のように選択したリポジトリーを有効にします。

      # leapp upgrade --enablerepo <repository_id1> --enablerepo <repository_id2> ...
      Copy to Clipboard Toggle word wrap
    • RHSM を使用せずにアップグレード する場合、または RHUI を使用してアップグレードする場合は、--no-rhsm オプションを追加します。
    • ISO イメージを使用してアップグレードする場合は、--no-rhsm および --iso <file_path> オプションを追加します。<file_path> は、保存された ISO イメージへのファイルパス (/home/rhel9.iso など) に置き換えます。
    • Extended Upgrade Support (EUS) または Advanced Update Support (AUS) サブスクリプションをお持ちの場合は、--channel channel オプションを追加します。channelleapp preupgrade コマンドで使用した値 (例: eus または aus) に置き換えます。leapp preupgrade および leapp upgrade コマンドの両方で、--channel オプションで同じ値を使用する必要があります。
    • Red Hat OpenStack Platform で RHEL for Real Time または Real Time for Network Functions Virtualization (NFV) を使用している場合は、--enablerepo オプションを使用してデプロイメントを有効にします。以下に例を示します。

      # leapp upgrade --enablerepo rhel-10-for-x86_64-rt-rpms
      Copy to Clipboard Toggle word wrap

      詳細は、Real-Time Compute の設定 を参照してください。

  3. アップグレードプロセスの開始時に、Leapp は、アップグレード前のレポートの確認 で説明されているアップグレード前のフェーズを再度実行します。

    • システムがアップグレード可能な場合、Leapp は必要なデータをダウンロードし、アップグレード用の RPM トランザクションを準備します。
    • システムが信頼性の高いアップグレードの条件を満たしていない場合、Leapp はアップグレードプロセスを終了し、問題の記録と推奨される解決策を /var/log/leapp/leapp-report.txt ファイルに出力します。詳細は、トラブルシューティング を参照してください。
  4. システムを手動で再起動します。

    # reboot
    Copy to Clipboard Toggle word wrap

    この段階で、システムが RHEL 10 ベースの初期 RAM ディスクイメージ (initramfs) で起動します。Leapp はすべてのパッケージをアップグレードし、自動的に RHEL 10 システムを再起動します。

    または、--reboot オプションを指定して leapp upgrade コマンドを実行し、この手動の手順を省略することもできます。

    障害が発生した場合は、トラブルシューティング の説明に従ってログと既知の問題を調査してください。

  5. RHEL 10 システムにログインし、アップグレード後の状態の確認 の説明に従ってその状態を確認します。
  6. アップグレードレポートおよび アップグレード後のタスクの実行 で説明されているすべてのアップグレード後のタスクを実行します。

第6章 アップグレード後の状態の確認

RHEL 10 へのインプレースアップグレードを実行した後、システムが正しい状態にあることを確認します。これにより、システムに影響を与える可能性のある重大なエラーを特定して修正できます。

6.1. RHEL 10 システムのアップグレード後の状態を確認する

RHEL 10 へのアップグレードが完了したら、システムが必要な状態にあるかどうかを確認します。

前提条件

  • アップグレードの実行 で説明されている手順に従ってシステムがアップグレードされ、RHEL 10 にログインできる。

手順

  • 現在の OS バージョンが RHEL 10 であることを確認します。以下に例を示します。

    # cat /etc/redhat-release
    Red Hat Enterprise Linux release 10.0 (Coughlan)
    Copy to Clipboard Toggle word wrap
  • オペレーティングシステムのカーネルバージョンを確認します。以下に例を示します。

    # uname -r
    6.12.0-55.2.1.el10_0.x86_64
    Copy to Clipboard Toggle word wrap

    .el10 は重要です。このバージョンは 6.12.0 より前であってはならないことに注意してください。

  • Red Hat Subscription Manager を使用している場合:

    • 正しい製品がインストールされていることを確認します。以下に例を示します。

      # subscription-manager list --installed
      +-----------------------------------------+
          	  Installed Product Status
      +-----------------------------------------+
      Product Name: Red Hat Enterprise Linux for x86_64
      Product ID:   479
      Version:      10.0
      Arch:         x86_64
      Status:       Subscribed
      Copy to Clipboard Toggle word wrap
    • アップグレード直後に、リリースバージョンが予想されるアップグレード先の OS バージョンに設定されていることを確認します。以下に例を示します。

      # subscription-manager release
      Release: 10.0
      Copy to Clipboard Toggle word wrap
  • ネットワークサービスが機能していることを確認します。たとえば、SSH を使用してサーバーに接続します。
  • アプリケーションのアップグレード後のステータスを確認します。場合によっては、移行や設定を手動で変更しないといけない場合があります。たとえば、データベースを移行するには、データベースサーバーの設定および使用 の手順に従います。

第7章 RHEL 10 システムにおけるアップグレード後のタスクの実行

インプレースアップグレード後、不要なパッケージを削除して RHEL 10 システムをクリーンアップし、互換性のないリポジトリーを無効にして、レスキューカーネルと初期 RAM ディスクを更新します。

7.1. アップグレード後のタスクの実行

RHEL 10 へのアップグレードを実行した後、次の推奨される主要なタスクを完了します。

前提条件

手順

  1. /etc/dnf/dnf.conf 設定ファイルの除外リストから残りの Leapp パッケージを削除します。これには、アップグレードエクステンション開発用のツールである snactor パッケージが含まれます。インプレースアップグレード中に、Leapp ユーティリティーでインストールされた Leapp パッケージが exclude リストに自動的に追加され、重要なファイルが削除または更新されないようにします。インプレースアップグレード後、システムから削除する前に、これらの Leapp パッケージを exclude リストから削除する必要があります。

    • exclude リストからパッケージを手動で削除するには、/etc/dnf/dnf.conf 設定ファイルを編集し、除外リストから必要な Leapp パッケージを削除します。
    • exclude リストからすべてのパッケージを削除するには、次のコマンドを実行します。

      # dnf config-manager --save --setopt exclude=''
      Copy to Clipboard Toggle word wrap
  2. Leapp パッケージを含め、残っている RHEL 9 パッケージを削除します。

    1. 残っている RHEL 9 パッケージを見つけます。

      # rpm -qa | grep -e '\.el[789]' | grep -vE '^(gpg-pubkey|libmodulemd|katello-ca-consumer)' | sort
      Copy to Clipboard Toggle word wrap
    2. 残っている RHEL 9 パッケージを RHEL 10 システムから削除します。RPM の依存関係が維持されるようにするには、このアクションを実行するときに DNF を使用します。受け入れる前にトランザクションを確認して、パッケージが誤って削除されないようにしてください。

      以下に例を示します。

      # dnf remove $(rpm -qa | grep \.el[789] | grep -vE 'gpg-pubkey|libmodulemd|katello-ca-consumer')
      Copy to Clipboard Toggle word wrap
    3. 残りの Leapp 依存関係パッケージを削除します。

      # dnf remove leapp-deps-el10 leapp-repository-deps-el10
      Copy to Clipboard Toggle word wrap
  3. オプション: 残っているすべてのアップグレード関連データをシステムから削除します。

    # rm -rf /var/log/leapp /root/tmp_leapp_py3 /var/lib/leapp
    Copy to Clipboard Toggle word wrap
    重要

    このデータを削除すると、Red Hat サポートによるアップグレード後の問題の調査とトラブルシューティングが制限される可能性があります。

  4. RHEL 10 と互換性のないパッケージを含む DNF リポジトリーを無効にします。RHSM によって管理されるリポジトリーは自動的に処理されます。これらのリポジトリーを無効にするには、以下を実行します。

    # dnf config-manager --set-disabled <repository_id>
    Copy to Clipboard Toggle word wrap

    repository_id はリポジトリー ID に置き換えます。

  5. 古いレスキューカーネルと初期 RAM ディスクを現在のカーネルとディスクに置き換えます。

    1. 既存のレスキューカーネルと初期 RAM ディスクを削除します。

      # rm /boot/vmlinuz-*rescue* /boot/initramfs-*rescue* 
      Copy to Clipboard Toggle word wrap
    2. レスキューカーネルと関連する初期 RAM ディスクを再インストールします。

      # /usr/lib/kernel/install.d/51-dracut-rescue.install add "$(uname -r)" /boot "/boot/vmlinuz-$(uname -r)"
      Copy to Clipboard Toggle word wrap
    3. システムが IBM Z アーキテクチャーを使用している場合は、zipl ブートローダーを更新します。

      # zipl
      Copy to Clipboard Toggle word wrap
  6. .オプション: 既存の設定ファイルを確認します。

    • rpmnewrpmsaveleappsave ファイルを確認し、修正してから削除します。rpmsaveleappsave は同等であり、同様に処理できることに注意してください。詳細は、What are rpmnew & rpmsave files? を参照してください。
    • 有効ではなくなった RHEL 9 DNF モジュールの設定ファイルを /etc/dnf/modules.d/ ディレクトリーから削除します。関連する DNF モジュールが存在しない場合、このファイルはシステムに影響を与えないことに注意してください。
  7. セキュリティーポリシーを再評価して再適用します。具体的には、SELinux モードを Enforcing に変更します。詳細は、セキュリティーポリシーの適用 を参照してください。

検証

  1. 以前に削除したレスキューカーネルとレスキュー初期 RAM ディスクファイルが現在のカーネル用に作成されていることを確認します。

    # ls /boot/vmlinuz-*rescue* /boot/initramfs-*rescue* 
    # lsinitrd /boot/initramfs-*rescue*.img | grep -qm1 "$(uname -r)/kernel/" && echo "OK" || echo "FAIL"
    Copy to Clipboard Toggle word wrap
  2. レスキューブートエントリーが既存のレスキューファイルを参照していることを確認します。grubby の出力を参照してください。

    # grubby --info /boot/vmlinuz-*rescue*
    Copy to Clipboard Toggle word wrap
  3. grubby の出力を確認し、RHEL 9 ブートエントリーが設定されていないことを確認します。

    # grubby --info ALL
    Copy to Clipboard Toggle word wrap
  4. /boot/loader/entries ファイルに以前の RHEL に関連するファイルが存在しないことを確認します。

    # grep -r ".el9" "/boot/loader/entries/" || echo "Everything seems ok."
    Copy to Clipboard Toggle word wrap

第8章 セキュリティーポリシーの適用

インプレースアップグレードプロセス中に、SELinux ポリシーを Permissive モードに切り替える必要があります。さらに、セキュリティープロファイルには、メジャーリリース間の変更が含まれる可能性があります。システムのセキュリティーを復元するには、SELinux を再度強制モードに切り替え、システム全体の暗号化ポリシーを確認します。特定のセキュリティープロファイルに準拠するようにシステムを修正することもできます。また、一部のセキュリティー関連コンポーネントでは、正しくアップグレードするために更新前の手順が必要です。

8.1. SELinux モードの Enforcing への変更

Leapp ユーティリティーは、インプレースアップグレードプロセス時に SELinux モードを Permissive に設定します。システムが正常にアップグレードされたら、手動で SELinux モードを Enforcing に変更する必要があります。

前提条件

手順

  1. ausearch ユーティリティーなどを使用して、SELinux 拒否がないことを確認します。

    # ausearch -m AVC,USER_AVC -ts boot
    Copy to Clipboard Toggle word wrap

    前述のステップは、最も一般的な環境だけを対象としたものです。考えられるすべての SELinux 拒否を確認するには、「SELinux の使用」の SELinux 拒否の特定 セクションを参照してください。このセクションでは、すべての手順が説明されています。

  2. 任意のテキストエディターで /etc/selinux/config ファイルを開きます。以下に例を示します。

    # vi /etc/selinux/config
    Copy to Clipboard Toggle word wrap
  3. SELINUX=enforcing オプションを設定します。

    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #       enforcing - SELinux security policy is enforced.
    #       permissive - SELinux prints warnings instead of enforcing.
    #       disabled - No SELinux policy is loaded.
    SELINUX=enforcing
    # SELINUXTYPE= can take one of these two values:
    #       targeted - Targeted processes are protected,
    #       mls - Multi Level Security protection.
    SELINUXTYPE=targeted
    Copy to Clipboard Toggle word wrap
  4. 変更を保存して、システムを再起動します。

    # reboot
    Copy to Clipboard Toggle word wrap

検証

  1. システムの再起動後に、getenforce コマンドが Enforcing を返すことを確認します。

    $ getenforce
    Enforcing
    Copy to Clipboard Toggle word wrap

8.2. システム全体の暗号化ポリシー

システム全体の暗号化ポリシーは、コア暗号化サブシステムを設定するシステムコンポーネントで、TLS、IPSec、SSH、DNSSec、および Kerberos の各プロトコルに対応します。

インプレースアップグレードプロセスでは、RHEL 9 で使用していた暗号化ポリシーが保持されます。たとえば、RHEL 9 で DEFAULT 暗号化ポリシーを使用していた場合、RHEL 10 にアップグレードしたシステムでも DEFAULT が使用されます。事前定義されたポリシーの特定の設定は異なることに注意してください。RHEL 10 の暗号化ポリシーには、より厳格でセキュアなデフォルト値が含まれています。詳細は、セキュリティーの強化システム全体の暗号化ポリシーの使用 セクションを参照してください。カスタム暗号化ポリシーは、インプレースアップグレード全体で保持されます。

現在のシステム全体の暗号化ポリシーを表示または変更するには、update-crypto-policies ツールを使用します。

$ update-crypto-policies --show
DEFAULT
Copy to Clipboard Toggle word wrap

たとえば、以下のコマンドは、システム全体の暗号化ポリシーレベルを FUTURE に切り替えます。これで、近い将来の攻撃に耐えられるはずです。

# update-crypto-policies --set FUTURE
Setting system policy to FUTURE
Copy to Clipboard Toggle word wrap

システム全体の暗号化ポリシーをカスタマイズすることもできます。詳細は、サブポリシーを使用したシステム全体の暗号化ポリシーのカスタマイズ および システム全体のカスタム暗号化ポリシーの作成および設定 を参照してください。カスタム暗号化ポリシーを使用する場合は、暗号化とコンピューターハードウェアの進歩によってもたらされる脅威を軽減するために、ポリシーを確認および更新することを検討してください。

8.3. セキュリティーベースラインに従ってハードニングされたシステムのアップグレード

RHEL 10 へのアップグレードを正常に実行した後、システムを完全にハードニングするには、OpenSCAP スイートによって提供される自動修復を使用できます。OpenSCAP 修復は、PCI-DSS、OSPP、または ACSC Essential Eight などのセキュリティーベースラインに、お使いのシステムを合わせます。設定コンプライアンスに関する推奨事項は、セキュリティーオファリングが進化したため、RHEL のメジャーバージョン間で異なります。

ハードニング済みの RHEL 9 システムをアップグレードする場合、Leapp ツールには、完全なハードニングを維持するための直接的な手段が ありません。コンポーネント設定の変更によっては、アップグレード中にシステムが RHEL 10 の推奨設定から逸脱する可能性があります。

注記

RHEL 9 と RHEL 10 のスキャンに同じ SCAP コンテンツを使用することはできません。システムのコンプライアンスが Red Hat Satellite や Red Hat Insights などのツールで管理されている場合は、管理プラットフォームを更新します。

自動修復の代わりに、OpenSCAP で生成されたレポートに従って、手動で変更を行うことができます。コンプライアンスレポートの生成は、設定コンプライアンスを確保するためのシステムのスキャン を参照してください。

重要

自動修復は、デフォルト設定の RHEL システムで対応しています。アップグレード後にシステム設定が変更されたため、自動修復を実行しても、システムが必要なセキュリティープロファイルに完全に準拠しない場合があります。一部の要件を手動で修正する必要がある場合があります。

次の手順の例では、PCI-DSS プロファイルに従ってシステム設定をハードニングします。

前提条件

  • scap-security-guide パッケージが RHEL 10 システムにインストールされている。

手順

  1. 適切なセキュリティーコンプライアンスデータストリームの .xml ファイルを見つけます。

    $ ls /usr/share/xml/scap/ssg/content/
    ...
    ssg-rhel10-ds.xml
    ...
    Copy to Clipboard Toggle word wrap

    詳細は、設定コンプライアンスのプロファイルの表示 セクションを参照してください。

  2. 適切なデータストリームから選択したプロファイルに従って、システムを修正します。

    # oscap xccdf eval --profile <profile_ID> --remediate /usr/share/xml/scap/ssg/content/ssg-rhel10-ds.xml
    Copy to Clipboard Toggle word wrap

    <profile_ID> は、システムをハードニングする際に準拠する必要があるプロファイルの ID に置き換えます。RHEL 10 でサポートされているプロファイルの完全なリストは、RHEL 10 でサポートされている SCAP Security Guide プロファイル を参照してください。

    警告

    --remediate オプションを有効にしてシステム評価を実行した場合、慎重に行わないと、システムが機能不全に陥る場合があります。Red Hat は、セキュリティーハードニング関連の修復によって行われた変更を自動的に元に戻す方法は提供していません。修復は、デフォルト設定の RHEL システムで対応しています。インストール後にシステムが変更した場合は、修復を実行しても、必要なセキュリティープロファイルに準拠しない場合があります。

  3. システムを再起動します。

    # reboot
    Copy to Clipboard Toggle word wrap

検証

  1. システムがプロファイルに準拠していることを確認し、結果を HTML ファイルに保存します。

    $ oscap xccdf eval --report pcidss_report.html --profile pci-dss /usr/share/xml/scap/ssg/content/ssg-rhel10-ds.xml
    Copy to Clipboard Toggle word wrap

8.4. USBGuard ポリシーの確認

USBGuard ソフトウェアフレームワークを使用すると、カーネルの USB デバイス認証機能に基づいて、許可されているデバイスおよび禁止されているデバイスのリストを使用して、侵入型 USB デバイスからシステムを保護できます。

前提条件

  • アップグレードの前に、シナリオの要件を反映した USB デバイス用のルールセットを作成している。
  • usbguard サービスが RHEL 10 システムにインストールされ、実行されている。

手順

  1. /etc/usbguard ディレクトリーに保存されている *.conf ファイルをバックアップします。
  2. usbguard generate-policy を使用して、新しいポリシーファイルを生成します。このコマンドは、現在存在する USB デバイスのルールのみを生成することに注意してください。
  3. 新たに生成されたルールを、以前のポリシーのルールと比較します。

    1. 新しいポリシーを生成したときに存在したデバイスのルールと、同じデバイスのアップグレード前のルールに違いがあることが確認された場合は、後で挿入される可能性のあるデバイスも、元のルールを相応に修正する必要があります。
    2. 新しく生成されたルールとアップグレード前のルールに違いがない場合は、RHEL 9 で作成されたポリシーファイルを変更せずに使用できます。

8.5. fapolicyd データベースの更新

fapolicyd ソフトウェアフレームワークは、ユーザー定義のポリシーに基づいてアプリケーションの実行を制御します。

まれに、fapolicyd 信頼データベース形式で問題が発生する場合があります。データベースを再構築するには、以下を実行します。

  1. サービスを停止します。

    # systemctl stop fapolicyd
    Copy to Clipboard Toggle word wrap
  2. データベースを削除します。

    # fapolicyd-cli --delete-db
    Copy to Clipboard Toggle word wrap
  3. サービスを起動します。

    # systemctl start fapolicyd
    Copy to Clipboard Toggle word wrap

カスタム信頼ファイルを信頼データベースに追加した場合は、fapolicyd-cli -f update <FILE> コマンドを使用して個別に更新するか、fapolicyd-cli -f update を使用してまとめて更新します。変更を適用するには、fapolicyd-cli –update コマンドを使用するか、fapolicyd サービスを再起動します。

また、カスタムバイナリーには、新しい RHEL バージョン用の再構築が必要になる場合があります。このような更新は、fapolicyd データベースを更新する前に行ってください。

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

RHEL 9 から RHEL 10 へのアップグレードのトラブルシューティングを行う際には、次のヒントを参照してください。

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

以下のトラブルシューティングリソースを参照してください。

コンソールの出力

デフォルトでは、エラーおよび重大のログレベルのメッセージのみが Leapp ユーティリティーによってコンソール出力に出力されます。ログレベルを変更するには、leapp upgrade コマンドで --verbose または --debug オプションを使用します。

  • verbose モードでは、情報、警告、エラー、および重大なメッセージが Leapp により出力されます。
  • debug モードでは、デバッグ、情報、警告、エラー、および重大なメッセージが Leapp により出力されます。

ログ

  • /var/log/leapp/leapp-upgrade.log ファイルには、initramfs フェーズで見つかった問題が記載されます。
  • /var/log/leapp/dnf-debugdata/ ディレクトリーには、トランザクションのデバッグデータが含まれます。このディレクトリーは、leapp upgrade コマンドを --debug オプション付きで実行した場合にのみ存在します。
  • /var/log/leapp/answerfile には、Leapp が回答を求めている質問が記載されます。
  • journalctl ユーティリティーでは、すべてのログが出力されます。

レポート

9.2. トラブルシューティングのヒント

以下のトラブルシューティングのヒントを参照してください。

アップグレード前のフェーズ

  • システムが アップグレードの計画 に記載されている条件をすべて満たしていることを確認してください。
  • アップグレードの準備 で説明されているすべての手順を実行してください。たとえば、カーネルが使用する接頭辞 (eth) に基づく名前を持つネットワークインターフェイスカード (NIC) を、システムで複数使用していないことを確認します。
  • /var/log/leapp/answerfile ファイルで、Leapp に必要なすべての質問に回答してください。回答がないと、Leapp によってアップグレードが拒否されます。以下に例を示します。

    • Are there no VDO devices on the system? (システムに VDO デバイスはありませんか?)
  • アップグレード前のレポートで特定されたすべての問題は、/var/log/leapp/leapp-report.txt にあることを確認してください。これを行うには、Web コンソールを使用したアップグレードの可能性の評価および自動修復の適用 で説明されているように、Web コンソールを使用することもできます。

例9.1 Leapp answerfile

以下は、編集されていない /var/log/leapp/answerfile ファイルの例です。

[check_vdo]
# Title:              None
# Reason:             Confirmation
# ============================= check_vdo.confirm =============================
# Label:              Are all VDO devices, if any, successfully converted to LVM management?
# Description:        Enter True if no VDO devices are present on the system or all VDO devices on the system have been successfully converted to LVM management. Entering True will circumvent check of failures and undetermined devices. Recognized VDO devices that have not been converted to LVM management can still block the upgrade despite the answer.All VDO devices must be converted to LVM management before upgrading.
# Reason:             To maximize safety all block devices on a system that meet the criteria as possible VDO devices are checked to verify that, if VDOs, they have been converted to LVM management. If the devices are not converted and the upgrade proceeds the data on unconverted VDO devices will be inaccessible. In order to perform checking the 'vdo' package must be installed. If the 'vdo' package is not installed and there are any doubts the 'vdo' package should be installed and the upgrade process re-run to check for unconverted VDO devices. If the check of any device fails for any reason an upgrade inhibiting report is generated. This may be problematic if devices are dynamically removed from the system subsequent to having been identified during device discovery. If it is certain that all VDO devices have been successfully converted to LVM management this dialog may be answered in the affirmative which will circumvent block device checking.
# Type:               bool
# Default:            None
# Available choices: True/False
# Unanswered question. Uncomment the following line with your answer
# confirm =
Copy to Clipboard Toggle word wrap

Label フィールドは、回答が必要な質問を指定します。この例では、質問は Are all VDO devices, if any, successfully converted to LVM management? です。

この質問に回答するには、最後の行をコメント解除し、回答として True または False を入力します。この例では、選択した回答は True です。

[check_vdo]
...
# Available choices: True/False
# Unanswered question. Uncomment the following line with your answer
confirm = True
Copy to Clipboard Toggle word wrap

ダウンロードフェーズ

  • RPM パッケージのダウンロード中に問題が発生した場合は、/var/log/leapp/dnf-debugdata/ ディレクトリーにあるトランザクションデバッグデータを調べてください。

    注記

    /var/log/leapp/dnf-debugdata/ ディレクトリーは空であるか、トランザクションデバッグデータが生成されていない場合は存在しません。これは、必要なリポジトリーが利用できない場合に発生する可能性があります。

Initramfs フェーズ

  • このフェーズでは、潜在的な失敗により Dracut シェルにリダイレクトされます。ジャーナルを確認してください。

    # journalctl
    Copy to Clipboard Toggle word wrap

    または、reboot コマンドを使用して Dracut シェルからシステムを再起動し、/var/log/leapp/leapp-upgrade.log ファイルを確認します。

アップグレード後のフェーズ

  • システムが正常にアップグレードされたように見えても、古い RHEL 9 カーネルで起動した場合は、システムを再起動して、GRUB のデフォルトエントリーのカーネルバージョンを確認します。
  • アップグレード後の状態の確認 で推奨されている手順を必ず行ってください。
  • SELinux を Enforcing モードに切り替えてから、アプリケーションやサービスが停止したり、適切に動作しなかったりした場合は、ausearchjournalctldmesg のいずれかのユーティリティーで、サービスの拒否を検索します。

    # ausearch -m AVC,USER_AVC -ts boot
    # journalctl -t setroubleshoot
    # dmesg | grep -i -e selinux -e type=1400
    Copy to Clipboard Toggle word wrap

    最も一般的な問題は、ラベルが間違っていることにより発生します。詳細は、SELinux 関連の問題のトラブルシューティング を参照してください。

9.3. RHEL 9 から RHEL 10 へのアップグレードに関する既知の問題

以下は、アップグレード時に発生する可能性がある既知の問題です。

  • RHEL 9 システムで、Red Hat によって提供されているが RHEL 10 では利用できないデバイスドライバーが使用されている場合、Leapp によってアップグレードが拒否されます。ただし、RHEL 9 システムが、Leapp/etc/leapp/files/device_driver_deprecation_data.json ファイルにデータがないサードパーティー製のデバイスドライバーを使用している場合、Leapp はそのようなドライバーを検出せず、アップグレードを続行します。その結果、アップグレード後にシステムが起動しなくなる可能性があります。
  • お使いのシステムに (Red Hat が署名していない) サードパーティーパッケージの名前が、Red Hat が提供するパッケージの名前と同じ場合は、インプレースアップグレードに失敗します。この問題を回避するには、アップグレードする前に、以下のいずれかのオプションを選択します。

    1. サードパーティーパッケージの削除
    2. サードパーティーパッケージを、Red Hat が提供するパッケージに置き換えます。
  • インプレースアップグレードは、ソフトウェア Redundant Array of Independent Disks (RAID) を備えたシステムでは失敗する可能性があります。(BZ#1957192)
  • Leapp ユーティリティーは、通常、インプレースアップグレード時に、RHEL 9 と RHEL 10 の間でネットワークインターフェイスコントローラー (NIC) 名を保持します。ただし、ネットワークボンディングを使用するシステムなど、一部のシステムでは、RHEL 9 と RHEL 10 の間で NIC 名を更新する必要があります。これらのシステムで、以下の手順を実行します。

    1. Leapp ユーティリティーが元の RHEL 9 の NIC 名を誤って保持しないように、LEAPP_NO_NETWORK_RENAMING=1 環境変数を設定します。
    2. インプレースアップグレードを実行します。
    3. ネットワークが正常に機能していることを確認します。必要に応じて、ネットワーク設定を手動で更新します。

      (BZ#1919382)

  • /etc/fstab ファイルで定義されているマウントされたファイルシステムのいずれかに shared 伝播フラグが設定されていない場合、アップグレードが失敗する可能性があります。この問題を回避するには、これらのファイルシステムを再マウントして shared として設定します。

    # mount -o remount --make-shared <mountpoint>
    Copy to Clipboard Toggle word wrap

    mountpoint は、各ファイルシステムのマウントポイントに置き換えます。

    詳細は、Red Hat ナレッジベースソリューション Leapp "Can not load RPM file" during the DNF transaction check を参照してください。(RHEL-23449)

  • HTTP プロキシーを使用する場合は、Red Hat Subscription Manager がこのようなプロキシーを使用するように設定するか、--proxy <hostname> オプションで subscription-manager コマンドを実行する必要があります。そうでない場合は、subscription-manager コマンドの実行に失敗します。設定変更の代わりに --proxy オプションを使用する場合は、Leapp がプロキシーを検出できないため、アップグレードプロセスが失敗します。この問題の発生を防ぐには、rhsm.conf ファイルを手動で編集します。詳細は、Red Hat ナレッジベースソリューション How to configure HTTP Proxy for Red Hat Subscription Management を参照してください。(BZ#1689294)
  • RHEL 9 コンテンツにアクセスするためにプロキシーを必要とするシステムの場合、通常、/etc/dnf/dnf.conf 設定ファイルで DNF によるプロキシーの使用を設定する必要があります。現在の DNF 設定がターゲットシステムの DNF バージョンと互換性がない場合は、/etc/leapp/files/dnf.conf 設定ファイルで有効なターゲット設定を指定します。詳細は、Red Hat ナレッジベースソリューション How does Leapp work with a proxy? を参照してください。
  • 非推奨の /etc/ssl/certs/ca-certificates.crt ファイルをルート証明書として使用するように設定されている場合、Kerberos クライアントがアップグレード後に動作しなくなる可能性があります。設定を修正するには、代わりに /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem ファイルを使用します。(RHEL-65265)
  • IBM Z マシンで、システムがマルチパス LVM SCSI LUN 上にある場合、アップグレードが失敗する可能性があります。(RHEL-76159)

9.4. サポートの利用

サポートケースを作成するには、製品で RHEL 9 を選択し、システムの sosreport を添付します。

  • システムで sosreport を生成するには、次のコマンドを実行します。
# sosreport
Copy to Clipboard Toggle word wrap

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

sosreport の生成に関する詳細は、Red Hat ナレッジベースソリューション What is an sosreport and how to create one in Red Hat Enterprise Linux? を参照してください。

カスタマーポータルでサポートケースを作成して管理する方法の詳細は、Red Hat ナレッジベースソリューション How do I open and manage a support case on the Customer Portal? を参照してください。

付録A RHEL 9 リポジトリー

システムが、Red Hat Subscription Manager (RHSM) を使用して Red Hat コンテンツ配信ネットワーク (CDN) に登録されている場合は、インプレースアップグレード時に RHEL 9 リポジトリーが自動的に有効になります。ただし、RHSM を使用して Red Hat Satellite に登録したシステムでは、アップグレード前のレポートを実行する前に、RHEL 9 と RHEL 10 の両方のリポジトリーを手動で有効にして同期する必要があります。

注記

各リポジトリーのアップグレード元の OS バージョン (例: 9.6) を必ず有効にしてください。RHEL 9 バージョンのリポジトリーのみを有効にした場合、インプレースアップグレードが拒否されます。

アップグレード時に Red Hat Satellite を使用する予定の場合は、Satellite Web UI または hammer repository-set enable コマンドおよび hammer product synchronize コマンドのいずれかを使用して、アップグレード前に少なくとも次の RHEL 9 リポジトリーを有効にして同期する必要があります。

Expand
表A.1 RHEL 9 リポジトリー
アーキテクチャーリポジトリーリポジトリー IDリポジトリー名リリースバージョン

64 ビット Intel および AMD

BaseOS

rhel-9-for-x86_64-baseos-rpms

Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)

x86_64 <source_os_version>

AppStream

rhel-9-for-x86_64-appstream-rpms

Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs)

x86_64 <source_os_version>

64-bit ARM

BaseOS

rhel-9-for-aarch64-baseos-rpms

Red Hat Enterprise Linux 9 for ARM 64 - BaseOS (RPMs)

aarch64 <source_os_version>

AppStream

rhel-9-for-aarch64-appstream-rpms

Red Hat Enterprise Linux 9 for ARM 64 - AppStream (RPMs)

aarch64 <source_os_version>

IBM Power (リトルエンディアン)

BaseOS

rhel-9-for-ppc64le-baseos-rpms

Red Hat Enterprise Linux 9 for Power, little endian - BaseOS (RPMs)

ppc64le <source_os_version>

AppStream

rhel-9-for-ppc64le-appstream-rpms

Red Hat Enterprise Linux 9 for Power, little endian - AppStream (RPMs)

ppc64le <source_os_version>

IBM Z

BaseOS

rhel-9-for-s390x-baseos-rpms

Red Hat Enterprise Linux 9 for IBM z Systems - BaseOS (RPMs)

s390x <source_os_version>

AppStream

rhel-9-for-s390x-appstream-rpms

Red Hat Enterprise Linux 9 for IBM z Systems - AppStream (RPMs)

s390x <source_os_version>

<source_os_version> は、アップグレード元の OS バージョン (例 : 9.6) に置き換えます。

付録B RHEL 10 リポジトリー

システムが Red Hat Subscription Manager (RHSM) を使用して Red Hat Content Delivery Network (CDN) に登録されている場合、インプレースアップグレード中に RHEL 10 リポジトリーが自動的に有効になります。ただし、RHSM を使用して Red Hat Satellite に登録したシステムでは、アップグレード前のレポートを実行する前に、RHEL 9 と RHEL 10 の両方のリポジトリーを手動で有効にして同期する必要があります。

注記

各リポジトリーのアップグレード先の OS バージョン (例: 10.0) を必ず有効にしてください。RHEL 10 バージョンのリポジトリーのみを有効にした場合、インプレースアップグレードが拒否されます。

アップグレード時に Red Hat Satellite を使用する予定の場合は、Satellite Web UI または hammer repository-set enable コマンドおよび hammer product synchronize コマンドのいずれかを使用して、アップグレード前に少なくとも次の RHEL 10 リポジトリーを有効にして同期する必要があります。

Expand
表B.1 RHEL 10 リポジトリー
アーキテクチャーリポジトリーリポジトリー IDリポジトリー名リリースバージョン

64 ビット Intel および AMD

BaseOS

rhel-10-for-x86_64-baseos-rpms

Red Hat Enterprise Linux 10 for x86_64 - BaseOS (RPMs)

x86_64 <target_os_version>

AppStream

rhel-10-for-x86_64-appstream-rpms

Red Hat Enterprise Linux 10 for x86_64 - AppStream (RPMs)

x86_64 <target_os_version>

64-bit ARM

BaseOS

rhel-10-for-aarch64-baseos-rpms

Red Hat Enterprise Linux 10 for ARM 64 - BaseOS (RPMs)

aarch64 <target_os_version>

AppStream

rhel-10-for-aarch64-appstream-rpms

Red Hat Enterprise Linux 10 for ARM 64 - AppStream (RPMs)

aarch64 <target_os_version>

IBM Power (リトルエンディアン)

BaseOS

rhel-10-for-ppc64le-baseos-rpms

Red Hat Enterprise Linux 10 for Power, little endian - BaseOS (RPMs)

ppc64le <target_os_version>

AppStream

rhel-10-for-ppc64le-appstream-rpms

Red Hat Enterprise Linux 10 for Power, little endian - AppStream (RPMs)

ppc64le <target_os_version>

IBM Z

BaseOS

rhel-10-for-s390x-baseos-rpms

Red Hat Enterprise Linux 10 for IBM z Systems - BaseOS (RPMs)

s390x <target_os_version>

AppStream

rhel-10-for-s390x-appstream-rpms

Red Hat Enterprise Linux 10 for IBM z Systems - AppStream (RPMs)

s390x <target_os_version>

<target_os_version> は、アップグレード先の OS バージョン (例 : 10.0) に置き換えます。

法律上の通知

Copyright © 2025 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.
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

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

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat