How to install an appstream package from previous release

Dear Rocky Experts,

I am trying to install a previous version of the “qemu-kvm” package on a Rocky 8.6 system. However, the version I want is no longer listed on the appstream repo, even with the “–showduplicates” option.

Here’s what I see on my host after updating all packages from Rocky 8.5 to 8.6:

# dnf --showduplicates list qemu-kvm
Installed Packages
qemu-kvm.x86_64            15:6.2.0-11.module+el8.6.0+1000+18e3b59f.5         @appstream
Available Packages
qemu-kvm.x86_64            15:6.2.0-11.module+el8.6.0+847+b490afdd            appstream 
qemu-kvm.x86_64            15:6.2.0-11.module+el8.6.0+998+252a5635.2          appstream 
qemu-kvm.x86_64            15:6.2.0-11.module+el8.6.0+1000+18e3b59f.5         appstream 

Looking on another 8.5 system (not yet updated) here’s what shows:

#dnf list qemu-kvm
Installed Packages
qemu-kvm.x86_64            15:4.2.0-59.module+el8.5.0+670+c4aa478c            @appstream
Available Packages
qemu-kvm.x86_64            15:6.2.0-11.module+el8.6.0+1000+18e3b59f.5         appstream 

I need to get back to version 15:4.2.0 of qemu-kvm, due to an unresolved bug. How do I make this version available on my Rocky 8.6 system?

Note: I tried modifying the Appstream repo.conf file with “baseurl=http://download.rockylinux.org/vault/rocky/8.5/AppStream/$basearch/os/” but no dice.

Any assistance would be greatly appreciated.

-jm

Did you hash out the mirrorlist line? This must not be enabled - just making sure in case. Also, you might want to do:

dnf clean all

and then see if it will pick up the vault url. Not sure if you tried that?

Aha!

That did the trick! The mirrorlist was still enabled. After fixing that, and a quick “dnf clean all”, I can now see the v4.2.0 package that I need. I installed v4.2.0-60 and now I see this:

# /usr/libexec/qemu-kvm -version
QEMU emulator version 4.2.0 (qemu-kvm-4.2.0-60.module+el8.5.0+772+743bb337.2)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers

NOTE: I did have to reboot before removing the v6.2 package. Even though ps showed no “qemu-kvm” processes running, “dnf remove qemu-kvm” completed without error, but the files were stil there. Only after rebooting and re-running “remove” were the files actually gone. Maybe some file locks…

Weird, huh?

Anyway, thanks for your help.

-jm

1 Like

For what it’s worth, the mirrorlist does also support older versions to be served.

In the mirrorlist line, change the repo name (e.g. AppStream-8) to something like “vault-AppStream-8.5”

See below:

https://mirrors.rockylinux.org/mirrorlist?repo=vault-AppStream-8.5&arch=x86_64

1 Like

If you edit the *.repo files, they might not get dnf updated, only because the package will see them as dirty, and create something like *.rpmnew.

gerry,

Agreed. I don’t plan on leaving the “hacked” appstream repo def in place for long – just until I have the old packages I need. Then I will restore the default Rocky-AppStream.repo.

However, I am adding this line, to prevent qemu-kvm (and its dependencies) from updating, until I resolve the issue I am having with v6.2.0:

exclude=*qemu* edk2-ovmf seabios-bin seavgabios-bin sgabios-bin usbredir
1 Like