はじめに
2024年5月22日に、 Red Hat Enterprise Linux 8.10 がリリースされました。
閉域環境等、Red Hat のリポジトリに接続できない環境から RHEL8.6 を RHEL8.10 にアップデートしましたので、参考としてその記録を残します。
単純に言うと、 VMware および Red Hat が公開しているいくつかの公式手順を組み合わせて実施しました。
RHEL の OS をオフラインアップデートする手順としては、下記を利用します。
利用する ISO は、下記よりダウンロードします。
また、 RHEL の VM は ESXi 上にあったため、ISO のマウント等は vSphere Client (vCenter Server)、または VMware Host Client (ESXi Server) 経由で行います。
手順としては下記を参照しました。
環境
- VMware vSphere 7.0 (ESXi + vCenter Server)
- Red Hat Enterprise Linux 8.6 (構築時はインターネットに接続可能な環境で Red Hat のリポジトリを利用してインストール、その後閉鎖環境に移動)
流れ
大まかな流れは下記の通りです。
- Red Hat のサイトから ISO をダウンロード
- ISO をデータストアにアップロード
- VM に ISO を接続
- リポジトリの構成
- アップデートの実施
- OS 再起動の実施
- VM と ISO ファイルの接続を解除
以下、各手順について補足していきます。
手順
Red Hat のサイトから ISO をダウンロード
のサイトから ISO ファイルをダウンロードします。
「Full installation image」と記載されている、 13.3GB のバイナリファイルをダウンロードします。ダウンロード後、 sha256sum
コマンドを利用し、 CheckSum を確認しておくとよいでしょう。
ISO をデータストアにアップロード
ISO をデータストアにアップロードします。
vSphere Client (vCenter Server の Web UI)、または VMware Host Client (ESXi Server の Web UI) から行えます。
手順は下記です。
VM に ISO を接続
VM の設定の編集をクリックし、「CD/DVD Drive」の項目から「Datastore ISO file」を選択します。
アップロードした ISO ファイルをクリックし、「Connect」のチェックボックスをクリックすることで VM に ISO を接続できます。
手順は以下の通りです。前提条件として「仮想マシンがパワーオフされていること」とありますが、私の検証環境では起動したままでも実施できました。
正常に完了すると、 VM から /dev/cdrom のパスで ISO ファイルにアクセスできるようになります。
リポジトリの構成
下記のナレッジに従い、リポジトリを構成します。
BaseOS という名称のリポジトリと、 AppStream という名称のリポジトリを作成することができると思います。
アップデートの実施
リポジトリが構成できたら、アップデートを実施します。実行前後で VM のスナップショットを取得しておくとよいでしょう。
dnf --disablerepo=* --enablerepo=BaseOS,AppStream update
私の検証環境では、なぜか依存関係がうまく解決されず、以下のようなエラーが発生しました。
Problem: package python3-policycoreutils-2.9-25.el8.noarch requires python3-libsemanage >= 2.9-7, but none of the providers can be installed
- package policycoreutils-python-utils-2.9-25.el8.noarch requirespython3-policycoreutils = 2.9-25.el8, but none of the providers can be installed
...(以下略)
不足していると言われたパッケージを個別にインストールすることで解消され、その後再度アップデートを実行すると正常に完了しました。
dnf --disablerepo=* --enablerepo=BaseOS install python3-libsemanage
OS の再起動
kernel のアップデートに伴い再起動が必要なので、 OS の再起動を行います。
OS を停止、 vSphere Client 等管理コンソール画面から起動します。
shutdown -h now
VM と ISO ファイルの接続を解除
最後に、 VM と ISO ファイルの接続を解除します。必須ではありませんが、私の作業においては 4台の VM を順次アップデートせねばならなかったため、この手順が必須でした。
VM に接続された ISO を他の VM に接続するためには、一度元の VM との接続を解除する必要があるためです。
下記の手順の通り、 VM上で eject cdrom
コマンドを実行します。
その後 VM の設定編集画面を確認すると、「Connect」のチェックボックスのチェックが外れていることが確認できます。
手順は下記です。
こちらに記載してある通り、 eject cdrom
を実行せず、「Connect」のチェックボックスを手動で外す操作によって ISO の接続を解除しようとすると、 VM が一時的に応答を停止するため注意してください。
おわりに
以上です。ご参考になれば幸いです。
なお実施に際しては参考程度にとどめ、 実際に実施する際は検証環境でのテスト、各種ベンダサポートの利用等をご検討いただけますようお願いします。