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

重要:

次のタスクは、包括的なものではありません。設定によっては、新しくアップグレードしたシステムを稼働状態に戻すために、他の手順を実行する必要がある場合があります。アップグレード後に生成された/var/log/leapp/leapp-report.txtを確認してください。このレポートには、アップグレードしたシステムを確実にサポート対象状態のままにするためのその他の推奨事項が含まれている場合があります。

  1. pythonバージョンを構成します。
    sudo alternatives --set python /usr/bin/python3
  2. ファイアウォールを有効にします。

    sudo systemctl start firewalld
    sudo systemctl enable firewalld
  3. SSHを使用してシステムにログインするなどして、ネットワーク接続が機能していることを確認します。

  4. Oracle OS Management Serviceによって管理されるインスタンスがある場合は、次を実行します:
    1. Oracle Cloud Infrastructureで、ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。
    2. Oracle Linux 7からOracle Linux 8にアップグレードしたインスタンスを選択します。
    3. 「リソース」セクションで、「OS管理」をクリックします。
    4. 「概要」タブで、水平省略記号(...)をクリックし、「OS管理詳細の表示」を選択します。
    5. 「リソース」領域から、「ソフトウェア・ソース」を選択します。
    6. すべてのOracle Linux 7ソースを削除します。「すべて選択」を選択し、「削除」をクリックします。
    7. Oracle Linux 8ベースのOS最新ソフトウェア・ソースを追加します。これが、アップグレードされた管理対象インスタンスのソフトウェア・ソースになります。
    8. その他の必要なソフトウェア・ソースを追加します。

    ノート:

    Oracle OS Management Serviceでは、管理対象インスタンスのOracle Linuxバージョンの変更を認識するのに時間がかかる場合があります。たとえば、10分から20分かかる場合があります。

    また、Oracle OS Management Serviceによって管理されているインスタンスのアップグレード後に、次のエラー・メッセージが/var/log/oracle-cloud-agent/plugins/osms/agent.logに表示される場合があります。
    2024-03-26 11:42:54,555 - INFO - gRPC Start: OSMS Agent service started
    2024-03-26 11:42:54,569 - ERROR - Error checking actions (next check in 240 seconds): [Errno 2] No such file or directory: 'osms': 'osms'

    これらのエラー・メッセージは、ステップ1でsudo alternatives --set python /usr/bin/python3コマンドを実行した後に解決されます。

  5. Oracle OS Management Hubによって管理されるインスタンスがある場合は、Oracle Linux 8に必要なソフトウェア・ソースをアタッチします。ソフトウェア・ソースの管理の詳細は、https://docs.oracle.com/en-us/iaas/osmh/doc/software-sources.htmを参照してください。

    ノート:

    Oracle OS Management Hubでは、管理対象インスタンスのOracle Linuxバージョンの変更を認識するのに時間がかかる場合があります。

    また、このステップを実行する前は、Oracle Linux 7およびOracle Linux 8リポジトリなど、Leappがアップグレードの実行に使用したリポジトリは有効なままです。このステップを実行すると、OS Management Hubを使用して構成したリポジトリのみが有効になります。

  6. Oracle Autonomous Linuxによって管理されるインスタンスがある場合は、Oracle Linux 8のすべての必須ソフトウェア・ソースをアタッチします。ソフトウェア・ソースの管理の詳細は、https://docs.oracle.com/en-us/iaas/autonomous-linux/doc/software-sources.htmを参照してください。

    ノート:

    Oracle Autonomous Linuxサービスでは、管理対象インスタンスのOracle Linuxバージョンの変更を認識するのに時間がかかる場合があります。

    また、このステップを実行する前は、Oracle Linux 7およびOracle Linux 8など、Leappがアップグレードの実行に使用したリポジトリは有効なままです。このステップを実行すると、Oracle Autonomous Linuxを使用して構成したリポジトリのみが有効になります。

  7. アップグレード前にyumをカスタマイズしていた場合は、アップグレードしたシステムの/etc/dnf/dnf.confファイル内でそれらを元に戻します。次に例を示します。

    proxy=proxy-url:port
  8. Oracle Cloud Infrastructure上のアップグレードしたOracle Linux 7インスタンスで、SSH接続が失われないようにそのスクリプトを更新します。

    1. テキスト・エディタを使用して、新しい/etc/dhcp/exit-hooks.d/dhclient-exit-hook-set-hostname.sh-ol8ファイルを開きます。

    2. 更新済dhclientスクリプト内で示されている内容を、このスクリプトに追加します。

    3. 現在のdhclient-exit-hookスクリプトを、作成した更新済ファイルと置き換えます。次のように入力します。

      sudo cp /etc/dhcp/exit-hooks.d/dhclient-exit-hook-set-hostname.sh-ol8 /etc/dhcp/exit-hooks.d/dhclient-exit-hook-set-hostname.sh
  9. アップグレード前にアンマウントしたネットワークにマウントされたファイル・システムを復元します。ファイル・システムとストレージの問題を参照してください。

  10. Pythonのインストールを確認します。

    Oracle Linux 8では、Pythonの使用方法に大きな違いがあります。特に、使用しているPythonのバージョンを明示的に選択する必要があります。また、pipを使用してサードパーティ製ライブラリをインストールした場合は、必要に応じてこれらのライブラリを手動で消去し再インストールします。詳細は、Oracle Linux 8 Pythonのインストールと管理を参照してください。

  11. KVMホストをアップグレードする場合は、KVM仮想マシンを再起動します。
    sudo virsh start vm-name
  12. SELinuxをEnforcingモードで実行するように設定します。

    アップグレード中、LeappユーティリティはSELinuxをPermissiveモードで実行するように設定します。この設定を元に戻すには、次のようにします。Enforcingモードに戻し、設定を確認します。次のように入力します。

    sudo setenforce enforcing

    SELinuxのモードは、次のようにして確認できます。

    getenforce
    Enforcing

    システムの再起動後もこの設定を維持するには、次の行を/etc/selinux/configに追加します。

    SELINUX=enforcing
  13. 暗号化ポリシーの設定などのセキュリティ・ポリシーを再評価してから再適用します。

    準備ステップでセキュア・ブートを無効にした場合は、ブート時にアクセスするシステムのファームウェアで再度有効にします。

  14. 不要な構成とファイルがないかシステムを検査します。

    ノート:

    これらの不要なファイルの一部は、アップグレード後に生成された/var/log/leapp/leapp-report.txt内でレポートされる場合があります。必ず、このレポートを確認し、アップグレード後の推奨事項を実施してください。

    このステップは、その構成と新しいOSバージョンとが一致していることを確認するために行います。このステップの実行は、前のシステムの状態から何を維持することが重要かで異なります。次のガイドラインを考慮してください。

    • 適用外となったカーネルおよびカーネル・モジュールを削除します。たとえば、システムでBtrfsファイル・システムを使用する場合は、UEKカーネルのみを使用できます。そのため、RHCKカーネルおよび以前のバージョンのUEKカーネルを削除することを検討してください。また、レスキュー・カーネルを再構築することもできます。

    • カーネルを削除する場合は、GRUBメニューを更新して、そのメニュー・オプションにシステム上の実際のカーネルのみが反映されるようにする必要もあります。

    • カスタマイズされたリポジトリなど、対処が必要な可能性のあるエントリについては、/etc/yum.repos.dを確認してください。

      たとえば、システム更新の間に、対応する既存の*.rpmファイルが上書きされないように、*.rpmnewファイルが作成される場合があります。*.rpmnewファイルの内容を基にして、対応する*.rpmファイルを変更する必要があります。

    • 以前のOracle Linuxバージョンから残っている、余分なパッケージを削除します。
      1. /etc/dnf/dnf.confを編集して、leappパッケージを参照するexclude=行を削除またはコメント・アウトします。次に例を示します:
        #exclude=python2-leapp,snactor,leapp-upgrade-el7toel8,leapp
      2. rpm -qaなどのコマンドを使用して、削除可能なパッケージをリストします。
        rpm -qa | grep el7
        rpm -qa | grep leapp
      3. その問合せでリストされたパッケージを、sudo dnf removeコマンドを使用して削除します。

    注意:

    システムに残っている余分なel7パッケージは、更新を受信しません。脆弱性スキャナやその他のセキュリティ監査によって、これらのパッケージに関する警告や障害がレポートされることがあります。

  15. 不要になった/root/tmp_leapp_py3ディレクトリを削除します。

  16. アップグレードを実行するためにシステムをULNから削除した場合は、そのシステムを再度登録し、適切なチャネルを構成します。

    詳細は、『Oracle Linux Oracle Linuxでのソフトウェアの管理』の「ULNへのOracle Linuxシステムの登録およびULNチャネル・サブスクリプション管理」を参照してください。