”DNF error: Error in POSTTRANS scriptlet in rpm package kernel-core”(CentOS 8.1)の回避方法

インストール中に次のエラーが発生しました。致命的なエラーとなるため、インストールを中止します。
DNF error: Error in POSTTRANS scriptlet in rpm package kernel-core
[インストーラを終了]

再現

1、下記のコマンドで仮想マシンを作成
~]# VM_NAME="<仮想マシン名>"
~]# virt-install \
> --name ${VM_NAME} \
> --hvm \
> --arch x86_64 \
> --os-type linux \
> --os-variant rhel8.1 \
> --vcpus 2 \
> --ram 2048 \
> --disk path=/var/lib/libvirt/images/${VM_NAME}.img,format=qcow2,size=50 \
> --network bridge=br0 \
> --graphics vnc,keymap=ja \
> --noautoconsole \
> --location /data/CentOS-8.1.1911-x86_64-dvd1.iso

インストールの開始中...
ファイル vmlinuz を読出中...                                                         | 7.7 MB  00:00:00
ファイル initrd.img を読出中...                                                      |  59 MB  00:00:00
割り当て中 '<仮想マシン名>.img'                                                      |  50 GB  00:00:00
仮想マシンのインストールが進行中です。インストール
が完了するまでコンソールの再接続を待っています。
2、(Cockpitからアクセスして)CentOS8をグラフィカルインストール
CentOS グラフィカルインストール
3、致命的なエラーのためインストールが完了しない。

[インストーラーを終了]のボタンが表示されるが反応しないので「force shutdown」しかない。

CentOS8 エラー画面

原因

バグ

回避策

下記、A)、B)、C)のいずれかの回避策を実施することにより仮想マシンに正常にCentOS8インストールされることを確認

CentOS8のインストールプロセスのエラーであり、インストールが正常に完了してしまえばインストールされたCentOS8には影響しない。

A)仮想マシンにシリアルコンソールを追加してテキストベースインストールする

(グラフィカル・モードでのインストールを利用せずテキスト モードでインストールする。)

仮想マシン作成コマンドを下記のようにする。

VM_NAME="<仮想マシン名>"
virt-install \
--name ${VM_NAME} \
--hvm \
--arch x86_64 \
--os-type linux \
--os-variant rhel8.1 \
--vcpus 2 \
--ram 2048 \
--disk path=/var/lib/libvirt/images/${VM_NAME}.img,format=qcow2,size=50 \
--network bridge=br0 \
--graphics vnc,keymap=ja \ ←この行を削除
--noautoconsole \
--location /data/CentOS-8.1.1911-x86_64-dvd1.iso
--extra-args='console=ttyS0' ←この行を追加
CentOS8 テキストベースインストール

B)virt-installコマンドの末尾に「–extra-args ro」など無害で意味を持たないオプションを追加してグラフィカルインストールする。

VM_NAME="<仮想マシン名>"
virt-install \
--name ${VM_NAME} \
--hvm \
--arch x86_64 \
--os-type linux \
--os-variant rhel8.1 \
--vcpus 2 \
--ram 2048 \
--disk path=/var/lib/libvirt/images/${VM_NAME}.img,format=qcow2,size=50 \
--network bridge=br0 \
--graphics vnc,keymap=ja \
--noautoconsole \
--location /data/CentOS-8.1.1911-x86_64-dvd1.iso \
--extra-args ro ←この行を追加
CentOS グラフィカルインストール

C)Cockpit上で仮想マシンを作成して,CentOS8のインストール後に仮想マシンのxmlダンプファイル(guest.xml)を適切に設定しなおす。

。。。手っ取り早いのですが、ちょっと本筋から外れますね。

以上

Linux