第7章 アップグレード後のタスクの実行

RHEL 8 へのインプレースアップグレード後に、次の主要なタスクが推奨されます。

前提条件

手順

アップグレードが完了したら、以下のタスクを実行します。

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

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

      # yum config-manager --save --setopt exclude=''
  2. 残りの Leapp パッケージを含む残りの RHEL 7 パッケージを削除します。

    1. 以前のカーネルバージョンを確認します。

      # cd /lib/modules && ls -d *.el7*
    2. 以前のカーネルから弱いモジュールを削除します。以前のカーネルが複数ある場合は、カーネルごとに次の手順を繰り返します。

      # [ -x /usr/sbin/weak-modules ] && /usr/sbin/weak-modules --remove-kernel <version>

      <version> を、前の手順で確認したカーネルバージョンに置き換えます。以下に例を示します。

      #  [ -x /usr/sbin/weak-modules ] && /usr/sbin/weak-modules --remove-kernel 3.10.0-1160.25.1.el7.x86_64
      注記

      以下のエラーメッセージは無視してください。これは、カーネルパッケージが過去に削除されている場合に生成されます。

      /usr/sbin/weak-modules: line 1081: cd: /lib/modules/<version>/weak-updates: No such file or directory
    3. 古いカーネルをブートローダーエントリーから削除します。以前のカーネルが複数ある場合は、カーネルごとにこの手順を繰り返します。

      # /bin/kernel-install remove <version> /lib/modules/<version>/vmlinuz

      version を、前の手順で確認したカーネルバージョンに置き換えます。以下に例を示します。

      # /bin/kernel-install remove 3.10.0-1160.25.1.el7.x86_64 /lib/modules/3.10.0-1160.25.1.el7.x86_64/vmlinuz
    4. 残りの RHEL 7 パッケージを見つけます。

      # rpm -qa | grep -e '\.el[67]' | grep -vE '^(gpg-pubkey|libmodulemd|katello-ca-consumer)' | sort
    5. RHEL 8 システムから、古いカーネルパッケージなど、残りの RHEL 7 パッケージと kernel-workaround パッケージを削除します。
    6. 残りの Leapp 依存関係パッケージを削除します。

      # yum remove leapp-deps-el8 leapp-repository-deps-el8
    7. 残りの空のディレクトリーを削除します。

      # rm -r /lib/modules/*el7*
  3. オプション: 残っているすべてのアップグレード関連データをシステムから削除します。

    # rm -rf /var/log/leapp /root/tmp_leapp_py3 /var/lib/leapp
    重要

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

  4. RHEL 8 でパッケージをインストールまたは使用できない YUM リポジトリーを無効にします。RHSM によって管理されるリポジトリーは自動的に処理されます。これらのリポジトリーを無効にするには、以下を実行します。

    # yum config-manager --set-disabled <repository_id>

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

  5. 現在のカーネルコマンドライン引数を新しいデフォルトに設定して、将来のカーネル更新が正しいパラメーターで起動されるようにします。

    • IBM Z アーキテクチャーの場合:

      # BOOT_OPTIONS="$(tr -s "$IFS" '\n' </proc/cmdline | grep -ve '^BOOT_IMAGE=' -e '^initrd=' | tr '\n' ' ')"
      # echo $BOOT_OPTIONS > /etc/kernel/cmdline
    • 他のアーキテクチャーの場合:

      # BOOT_OPTIONS="$(tr -s "$IFS" '\n' </proc/cmdline | grep -ve '^BOOT_IMAGE=' -e '^initrd=' | tr '\n' ' ')"
      # grub2-editenv - set "kernelopts=$BOOT_OPTIONS"
  6. 古いレスキューカーネルと初期 RAM ディスクを現在のカーネルとディスクに置き換えます。

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

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

      # /usr/lib/kernel/install.d/51-dracut-rescue.install add "$(uname -r)" /boot "/boot/vmlinuz-$(uname -r)"
      注記

      リアルタイムシステムなど、システムのカーネルパッケージの名前が異なる場合は、kernel-core を正しいパッケージ名に置き換えます。

    3. システムが IBM Z アーキテクチャー上にある場合は、zipl ブートローダーを更新します。

      # zipl
  7. セキュリティーポリシーを再評価して再適用します。具体的には、SELinux モードを Enforcing に変更します。詳細は、セキュリティーポリシーの適用 を参照してください。

検証手順

  1. 古いカーネルがブートローダーエントリーから削除されていることを確認します。

    # grubby --info=ALL | grep "\.el7" || echo "Old kernels are not present in the bootloader."
  2. 以前に削除したレスキューカーネルとレスキュー初期 RAM ディスクファイルが現在のカーネル用に作成されていることを確認します。

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

    # grubby --info $(ls /boot/vmlinuz-*rescue*)