I am trying to create and run a virtual machine on a headless server running CentOS 8 (x86-64).

After installing the necessary tools like libvirt and kvm it seems qemu is missing its main executable, the QEMU PC System emulator, /usr/bin/qemu-system-x86_64:

On a CentOS 7 machine (on which I have done this a dozen times) I ran

root@centos7> rpm -qf /usr/bin/qemu-system-x86_64

However, there is no such package on CentOS 8:

root@centos8> dnf se qemu-system |& tail -1
No matches found.

Where is this executable? Is there no working QEMU system provided for CentOS 8?

root@centos8> dnf se qemu | uniq
Last metadata expiration check: 0:30:19 ago on (...)
========================= Name & Summary Matched: qemu =========================
qemu-guest-agent.x86_64 : QEMU guest agent
qemu-kvm-core.x86_64 : qemu-kvm core components
qemu-kvm-block-ssh.x86_64 : QEMU SSH block driver
qemu-kvm-block-curl.x86_64 : QEMU CURL block driver
qemu-kvm-block-iscsi.x86_64 : QEMU iSCSI block driver
qemu-kvm-block-rbd.x86_64 : QEMU Ceph/RBD block driver
qemu-kvm-block-gluster.x86_64 : QEMU Gluster block driver
qemu-kvm.x86_64 : QEMU is a machine emulator and virtualizer
qemu-img.x86_64 : QEMU command line tool for manipulating disk images
qemu-kvm-common.x86_64 : QEMU common files needed by all QEMU targets
libvirt-daemon-driver-qemu.x86_64 : QEMU driver plugin for the libvirtd daemon
ipxe-roms-qemu.noarch : Network boot loader roms supported by QEMU, .rom format
standard-test-roles-inventory-qemu.noarch : Inventory provisioner for using
                                          : plain qemu command
============================ Summary Matched: qemu =============================
libvirt-lock-sanlock.x86_64 : Sanlock lock manager plugin for QEMU driver

(two duplicates manually removed in the above output).

PS: It works fine in Arch Linux:

root@arch> pacman -Qo /usr/bin/qemu-system-x86_64
/usr/bin/qemu-system-x86_64 is owned by qemu-headless 5.0.0-5

PPS: Red Hat's docs do say that CentOS 8 can use QEMU/KVM.

PPPS (solution): Searching for /usr/bin/qemu-kvm as suggested by @StephenKitt :

root@centos8> dnf se qemu-kvm
root@centos8> dnf in qemu-kvm.x86_64 qemu-kvm-core.x86_64 qemu-kvm-common.x86_64 
(... 4x "is already installed.")
Nothing to do.
root@centos8> dnf whatprovides /usr/bin/qemu-kvm
Error: No Matches found
Exit 1
root@centos8> locate qemu-kvm
root@centos8> rpm -qf /usr/libexec/qemu-kvm

OK, got it. They have also changed the location.


The main QEMU executable is now qemu-kvm; that’s what is used to start a KVM-enabled VM.

  • 1
    OK, thanks! They have also changed the location to /usr/libexec/qemu-kvm but I have found the file now. Do you have a reference to the rationale why the emulator doesn't have a platform-specific name anymore?
    – Ned64
    May 10 '20 at 8:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.