(作業メモ 20250917) RedHat の強制再登録と VirtualBox の利用

17 9月

毎回面倒なことになるのですが、clonezilla イメージから 復活させた RedHat 9 が登録はされているけど、アップデートできない状態になっていました。

いったん登録を削除すれば良いのかもしれませんが、よくわからなかったので強制的に再登録しました。

    subscription-manager register --force

これでアップデートできるようになりました。サイトで確認します。

上の方のシステムです。下の方の以前に登録したシステムとは、色々と記載が違います。

上図はサブスクリプションです。Active は ゼロです。これで良いのだろうか?

アップデートはできるようになったのですが、いざ VirtualBox をインストールしようとすると(これが目的です)、何かの不整合が生じたみたいで、結局 RedHat をインストールしなおすことにしました。ついでだと思って RedHat 10 をインストールしようとしたら、USB メモリから起動すらしない。あとで書きますが、パソコンが古いことが影響したのではないかと思います。それで RedHat 9 をインストールしました。これが、いきなりインストール直後に再びアップデートができない。登録はできているけれども、アップデートはできない。今回は、アップデートしようとすると、下記のようなメッセージがでます。

    Multiple matches of libdnf-plugin-subscription-manager この後長いIDのような文字列が続く

最初は、先の登録を削除しなかったので、それが何か悪さをしているのかと思ったのですが、そうではないらしい。同じソフトウェアで異なるバージョンが存在するときに生じる云々という記事があって、下記のコマンドで解消しました。

    sudo dnf update

これでアップデートも受け取れるし大丈夫と思ったら、アップデート後の再起動時に、このシステムはこれ以降サポートされないかもしれないという感じのメッセージが出てきて上手く起動しなくなりました。パソコンのマザーボードは LGA 2011 の初期型です。xeon E5-2xxx シリーズの CPU を載せています。メモリは DDR3 で、2013 年ごろのものです。

結局、RedHat はあきらめて、Ubuntu 24 にしました。こちらは普通に動きそう。VirtualBox は他のパソコンで動かすことにします。ついにサーバーの交代の時期なのかもしれません。

RedHat 10 には、EPEL も ntfs-3g も準備完了でした。もう VirtualBox は用意されています。しかし、VirtualBox のインストールは今のところうまく行かない。RedHat 10 は、この5月ぐらいに公開されたものなのですね。9 が無難かもしれない。

投稿を分けた方がいいのでしょうけど、それは後で考えるとして、記録を残します。

RedHat 9 をインストールして、VirtualBox を利用しようとしています。すでに利用していて、記事も書いたのですが、その通りにやってみても、今度は上手くいかない。整理のために、書いてみます。RedHat でアプリのインストールするときに、実際何をやっているのか、初めて意識しました。

各種ファイルへのリンク

EPEL のインストールは問題がありません。

この後やることとしては、virtualbox.repo を /etc/yum.repos.d に置くことで、その中身は下記です。

    [virtualbox]
    name=Oracle Linux / RHEL / CentOS-$releasever / $basearch - VirtualBox
    baseurl=http://download.virtualbox.org/virtualbox/rpm/el/$releasever/$basearch
    enabled=1
    gpgcheck=1
    repo_gpgcheck=1
    gpgkey=https://www.virtualbox.org/download/oracle_vbox_2016.asc

次に、GPG鍵をインストールすることですが、以前書いた記事では下記のようなコマンドでした。しかしこれが失敗しているようです。

    rpm --import https://www.virtualbox.org/download/oracle_vbox.asc

だいいち、repo ファイルに記述されているものと名前が異なります?これは訂正するならば、下記の URL かと思われます。

    https://www.virtualbox.org/download/oracle_vbox_2016.asc

ただし、直接アクセスして、oracle_vbox_2016.asc ファイルをいったんダウンロードしても良さそう。これをどこに置くか良くわからなかったのですが、ひとまず /etc/pki/rpm-gpg/ に置いてみました(鍵ってどこに置くんだろう?)。それで、先の repo ファイルを下記のように書き換えます。

    [virtualbox]
    name=Oracle Linux / RHEL / CentOS-$releasever / $basearch - VirtualBox
    baseurl=http://download.virtualbox.org/virtualbox/rpm/el/$releasever/$basearch
    enabled=1
    gpgcheck=1
    repo_gpgcheck=1
    #gpgkey=https://www.virtualbox.org/download/oracle_vbox_2016.asc
    gpgkey=file:///etc/pki/rpm-gpg/oracle_vbox_2016.asc

ローカルの GPG 鍵を参照するようにとの指示のつもりです。これで何とか下記のようなコマンドがエラーなく通りました。

    dnf search virtualbox

    (以下、出力です)

    サブスクリプション管理リポジトリーを更新しています。
    メタデータの期限切れの最終確認: 1:53:31 前の 2025年09月22日 15時23分28秒 に実施しました。
    ========================= 名前 & 概要 一致: virtualbox =========================
    VirtualBox-6.1.x86_64 : Oracle VM VirtualBox
    VirtualBox-7.0.x86_64 : Oracle VM VirtualBox
    VirtualBox-7.1.x86_64 : Oracle VirtualBox
    VirtualBox-7.2.x86_64 : Oracle VirtualBox

後は、以前と同じようなコマンドを続けて打ちました。打ち込むコマンドを並べます。

    dnf install VirtualBox-7.2 -y

    usermod -aG vboxusers 使用するユーザー名

    wget https://download.virtualbox.org/virtualbox/7.2.2/Oracle_VirtualBox_Extension_Pack-7.2.2.vbox-extpack

    (いったん再起動)

    /sbin/vboxconfig

    VBoxManage extpack install ./Oracle_VirtualBox_Extension_Pack-7.2.2.vbox-extpack

ここまで終えて、仮想マシンを起動しようとすると、エラーが生じました。下記のようなメッセージが来ました。先に何かが動いているという意味でしょうか?

    VT-x is being used by another hypervisor (VERR_VMX_IN_VMX_ROOT_MODE).
    VirtualBox can't operate in VMX root mode. Please disable the KVM kernel extension, recompile your kernel and reboot (VERR_VMX_IN_VMX_ROOT_MODE).

調べます。

    lsmod | grep kvm

    (以下、出力です)

    kvm_intel 446464 0
    kvm 1404928 1 kvm_intel

これらと、ぶつかっているらしい。止めます。

    rmmod kvm_intel
    rmmod kvm

これでやっと 仮想マシンが起動しました。ただし、これは一時的な処理だと思うので、永久に止めたい。

ブラックリストを作成します(参照サイト1)。/etc/modprobe.d へ、local-blacklist.conf というファイルを追加します。中身は下記のようなものです。

    blacklist kvm
    blacklist kvm_intel

再起動すれば、永久に停止します。