QEMU and CentOS 8: Where is /usr/bin/qemu-system-x86_64 and the qemu-system-x86 package?

9,922

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

Share:
9,922

Related videos on Youtube

Ned64
Author by

Ned64

Updated on September 18, 2022

Comments

  • Ned64
    Ned64 almost 2 years

    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
    qemu-system-x86-2.0.0-1.el7.6.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
    (...)
    /usr/libexec/qemu-kvm
    (...)
    root@centos8> rpm -qf /usr/libexec/qemu-kvm
    qemu-kvm-core-2.12.0-88.module_el8.1.0+297+df420408.3.x86_64
    

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

  • Ned64
    Ned64 about 4 years
    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?
  • MrCalvin
    MrCalvin about 2 years
    Strange there isn't a symbolic links to qemu-kvm in e.g. /usr/bin/qemu-kvm. One could even argue that the RPM package should also create a link /usr/bin/qemu-system-x86_64 (running CentOS 9 Stream)