ノート:

LeappでOracle Linuxをアップグレード

イントロダクション

Leappユーティリティは、オペレーティング・システムやアプリケーションを更新およびアップグレードするためのフレームワークです。ユーティリティのコンポーネントパッケージを使用すると、ソフトウェアを更新するためにプロファイルに異なるワークフローを作成できます。

再適用操作は、次の2つのフェーズで構成されます。

Leappは、Oracle Linux 7 Oracle Cloud InfrastructureインスタンスおよびOracle Linux 7オンプレミス・システムのアップグレードに使用できます。

このラボでは、現在のリリースのOracle Linux 7 Oracle Cloud InfrastructureインスタンスをOracle Linux 8にアップグレードする方法を説明します。

Leappは、ほかのどのオペレーティングシステムまたはバージョンでもサポートされていません。

ノート:本番環境でLeappを使用する前に、テスト環境でLeappのアップグレード・プロセスについて理解しておくことをお薦めします。これにより、プロセス、レポート、および発生する可能性のあるセキュリティまたは互換性の問題について、より的確に理解できます。

目的

この演習では、次のことを学習します。

前提条件

ノート: このドキュメント・リンク(「Leappによるシステム・アップグレードの実行」)で、Leappでアップグレードする前に行う必要があるシステムおよびカーネルの前提条件およびアップグレード前チェックの完全なリストを表示できます。

演習環境の設定

無料ラボ環境を使用する場合は、Oracle Linux Lab Basicsへのリンクを使用して、SSH接続を確立する方法とその他の使用手順を確認します。

これらの項では、デスクトップのターミナルからインスタンスにSSH接続する方法を説明します。

アップグレードの準備

この演習で使用するインスタンスには、環境固有の設定(プロキシ設定など)が事前に構成されています。

通常実行されるアップグレード前チェックの一部は、この環境では必要ないためスキップされます。

ノート: この演習で使用するLeappアップグレード・プロセスを示す無料のビデオを視聴できます。このリンクは、この演習の最後にある「詳細情報」セクションにあります。

  1. 演習システム・インスタンスへのSSH接続を確立します。

    Oracle Linux Lab Basicsへのリンクには、SSH接続を確立する方法とその他の使用手順が示されています。

  2. システムロケールが en_US.UTF-8に設定されていることを確認します。

    cat /etc/locale.conf
    

    ロケールが正しく設定されていない場合は、コマンドsudo localectl set-locale LANG=en_US.UTF-8を使用してこれを構成します。

最新パッケージに更新

すべてのシステム・パッケージをYumで最新バージョンに更新します。

sudo yum update -y

更新が完了したら、システムをリブートするまでに数分かかります。

sudo reboot

再起動が完了するまで数分待ってから、SSH接続をインスタンスに再接続します。

接続に失敗した場合は、もう少し待ってから再試行してください。

Leappユーティリティのインストール

Leappユーティリティとそのサポート・リポジトリをインストールします。

sudo yum install -y leapp --enablerepo=ol7_leapp,ol7_latest

アップグレード前チェックの実行

アップグレード前のプロセスは、アップグレードが成功したかどうかを評価します。アップグレード・プロセスに影響を及ぼす可能性のある潜在的な問題を特定します。

アップグレード前チェックは、システムのステータスを評価し、競合が発生する場所を特定するためにいつでも使用できます。システムは変更されませんが、システムに関する情報、構成、およびアップグレードの潜在的な問題を含むレポートファイルとデバッグログが作成されます。

  1. leapp preupgradeコマンドを実行して、アップグレード前のプロセスを開始します。

    この演習システムはクラウド・インスタンスであるため、コマンド・スイッチ--ociを使用します。

    sudo leapp preupgrade --oci
    

    システムが非クラウドシステムの場合、スイッチ --oraclelinuxが使用されます。

    --ociおよび--oraclelinuxは、クラウドまたは非クラウド・システムに関連するリポジトリおよび構成情報の事前設定に使用される便利なスイッチです。

    • 出力例:
    ============================================================  
                          UPGRADE INHIBITED                     
    ============================================================  
                                                                    
    Upgrade has been inhibited due to the following problems:  
        1. Inhibitor: Missing required answers in the answer file  
    Consult the pre-upgrade report for details and possible remediation.  
                                                                    
    ============================================================  
                       UPGRADE INHIBITED                        
    ============================================================  
                                                                    
                                                                    
    Debug output written to /var/log/leapp/leapp-preupgrade.log  
                                                                
    ============================================================  
                             REPORT                             
    ============================================================  
                                                                   
    A report has been generated at /var/log/leapp/leapp-report.json
    A report has been generated at /var/log/leapp/leapp-report.txt
                                                                  
    ============================================================
                         END OF REPORT                          
    ============================================================  
                                                                  
    Answerfile has been generated at /var/log/leapp/answerfile  
    

    leapp-report.txtファイルと answerfileが作成され、デバッグ情報は leapp-preupgrade.logログファイルに保存されます。

    この演習環境では、画面上の結果によって1つの問題が識別され、アップグレードが妨げられます。また、ファイル内で抑制されないその他の問題もあります。

  2. leapp-report.txtファイルを調べます。

    sudo cat /var/log/leapp/leapp-report.txt
    

    Risk Factor: high (inhibitor)とマークされた高リスク・エントリを識別します。これにより、アップグレードが完了しなくなります。

    このレポートには、問題のサマリーが表示され、問題を解決するためのソリューションが提供されます。

    このレポートは、アップグレードするかどうかに関係なく、システム内で何が構成されているか、どのような競合が発生するかについて適切なビューを提供する便利なイントロスペクション・ツールです。

  3. answerfileを調べます。

    sudo cat /var/log/leapp/answerfile
    
    • 出力例:
    [remove_pam_pkcs11_module_check]  
    # Title:              None  
    # Reason:             Confirmation  
    # =================== remove_pam_pkcs11_module_check.confirm ==================  
    # Label:              Disable pam_pkcs11 module in PAM configuration? If no, the upgrade process will be interrupted.  
    # Description:        PAM module pam_pkcs11 is no longer available in OL-8 since it was replaced by SSSD.  
    # Type:               bool  
    # Default:            None  
    # Available choices: True/False  
    # Unanswered question. Uncomment the following line with your answer  
    # confirm =  
    

    Available Choices: True/Falseセクションは、見つかった問題に対処するために answerfileを変更する方法を通知します。

    sudo leapp answerコマンドを使用して、[remove_pam_pkcs11_module_check] PAMモジュール・アイテムに回答Trueを指定します。

    sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True
    

    ノート:必要に応じて、sudo vi /var/log/leapp/answerfileコマンドを使用してanswerfileを編集し、True設定を挿入することもできます。

  4. answerfileが変更されたことを確認します。

    sudo cat /var/log/leapp/answerfile
    
    • 出力例:
    [remove_pam_pkcs11_module_check]  
    confirm = True  
    

    answerfile内のすべての項目と、leapp-report.txtファイル内のリスクの高い Risk Factor: high (inhibitor)エントリを解決する必要があります。

    アップグレード前コマンドはいつでも実行して、レポート・ファイルを生成し、必要な項目に対処できます。

システムをアップグレード

アップグレード後に比較するには、システムの現在のOSおよびカーネルバージョンを確認します。

  1. システムで実行されている Oracle Linuxのバージョンを確認します。

    sudo cat /etc/oracle-release
    
  2. 使用されているカーネル・バージョンを確認します。

    uname -r
    
  3. アップグレード・プロセスを実行します。

    sudo leapp upgrade --oci
    

    ノート:演習システムはクラウド・インスタンスであるため、コマンド・スイッチ--ociが再度使用されます。

    アップグレード・プロセスには約10分かかり、完了するとコマンド・プロンプトに戻ります。

    • 出力例:
    The downloaded packages were saved in cache until the next successful  
    transaction.  
    You can remove cached packages by executing 'dnf clean packages'.  
    ==> Processing phase 'InterimPreparation'  
    ====> * efi_interim_fix  
           Adjust EFI boot entry for first reboot  
    ====> * initram_disk_generator  
           Creates the upgrade initram disk  
    ====> * add_upgrade_boot_entry  
           Add new boot entry for Leapp provided initramfs.  
    A reboot is required to continue. Please reboot your system.  
      
    Debug output written to /var/log/leapp/leapp-upgrade.log  
      
    ============================================================  
                              REPORT
    ============================================================  
      
    A report has been generated at /var/log/leapp/leapp-report.json  
    A report has been generated at /var/log/leapp/leapp-report.txt  
      
    ============================================================  
                          END OF REPORT  
    ============================================================  
      
    Answerfile has been generated at /var/log/leapp/answerfile  
    

    また、アップグレードプロセスは answerfileleapp-report.txtを更新し、leapp-upgrade.logログファイルを作成します。

    ノート: leapp-report.txtファイル内の answerfile項目と Risk Factor: high (inhibitor)エントリに対処していない場合、プロセスはコマンド行に戻され、発生した問題を通知します。

  4. アップグレードが完了したら、システムをリブートします。

    sudo reboot
    

    再起動によってSSH接続が切断されます。ブート・プロセス中、Leappプロセスはパッケージを自動的にアップグレードします。

    アップグレード操作には、複数の自動リブートも含まれます。すべてのリブートが完了するまで、SSHセッションを再接続することはできません。

    約15分待ってから、SSHセッションをシステムに再接続します。接続に失敗した場合は、数分待機してから再試行してください。

アップグレードを確認します

システムに使用されているOSバージョンおよびカーネルとアップグレード前のバージョンを比較します。

  1. 実行中のOracle Linuxバージョンを確認します。

    sudo cat /etc/oracle-release
    
  2. 使用されているカーネル・バージョンを確認します。

    uname -r
    

    システムが Oracle Linux 8.5を実行しており、使用されているカーネルが el8を示しているように、アップグレードは完了します。

詳細情報

他の関連リソースを参照してください。

その他の学習リソース

他のラボをdocs.oracle.com/learnで探すか、Oracle Learning YouTubeチャネルでより無料の学習コンテンツにアクセスします。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品のドキュメントは、Oracle Help Centerを参照してください。