How can we safely install qemu-system-x86

doxyproxy

New Member
Dec 12, 2022
20
0
1
apt-get install pve-qemu-kvm , does not install qemu-system-x86 (it only installs the qemu-system-x86_64)

This is Proxmox on a Debian 12/bookworm install, and I need "qemu-system-x86"

The following packages have unmet dependencies:
docker-desktop : Depends: qemu-system-x86 (>= 5.2.0)

Is it possible to install it without messing up PROXMOX? Because if I try to apt-get it, it wants to REMOVE some proxmox packages:

apt-get install qemu-system-x86
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
aardvark-dns buildah catatonit conmon containernetworking-plugins crun
fuse-overlayfs golang-github-containers-common
golang-github-containers-image kaddressbook-data libcfitsio10 libcurses-perl
libcurses-ui-perl libflac++10 libfprint-2-2 libgbinder libglibutil
libjs-sencha-touch libqgpgme15 libterm-readkey-perl
linux-headers-6.1.0-12-amd64 linux-headers-6.1.0-12-common netavark
orphan-sysvinit-scripts podman proxmox-default-kernel
proxmox-headers-6.2.16-14-pve proxmox-kernel-helper python3-attr
python3-docker python3-dockerpty python3-docopt python3-dotenv
python3-gbinder python3-json-pointer python3-jsonschema python3-pyrsistent
python3-rfc3987 python3-texttable python3-uritemplate python3-webcolors
python3-websocket slirp4netns
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
ipxe-qemu libcacard0 libcapstone4 libexecs0 libperl5.36 libproxmox-rs-perl
libpve-access-control libpve-cluster-api-perl libpve-cluster-perl
libpve-common-perl libpve-guest-common-perl libpve-rs-perl libvdeplug2 ovmf
perl perl-base perl-modules-5.36 pve-firewall qemu-block-extra
qemu-system-common qemu-system-data qemu-system-gui seabios
Suggested packages:
perl-doc libtap-harness-archive-perl vde2
Recommended packages:
qemu-utils
The following packages will be REMOVED:
proxmox-ve pve-container pve-ha-manager pve-manager pve-qemu-kvm qemu-server
spiceterm
The following NEW packages will be installed:
ipxe-qemu libcacard0 libcapstone4 libexecs0 libvdeplug2 ovmf
qemu-block-extra qemu-system-common qemu-system-data qemu-system-gui
qemu-system-x86 seabios
The following packages will be upgraded:
libperl5.36 libproxmox-rs-perl libpve-access-control libpve-cluster-api-perl
libpve-cluster-perl libpve-common-perl libpve-guest-common-perl
libpve-rs-perl perl perl-base perl-modules-5.36 pve-firewall
12 upgraded, 12 newly installed, 7 to remove and 331 not upgraded.
Need to get 34.0 MB of archives.
After this operation, 213 MB disk space will be freed.
Do you want to continue? [Y/n] N!

Any way to install it? Should I try to just build it from source? Any easier solution?
Thanks!
 
docker-desktop : Depends: qemu-system-x86 (>= 5.2.0)
I assume your are trying to install docker-desktop (on your host?). I've never tried, but it would be odd that a 32-bit package is required for that.
Have you followed this guide for Debian which should have you covered.

Anyway - why are you running docker on your host at all? Just create a VM (maybe LXC?) & run it from there. The PVE host should be left alone AMAP - otherwise you will end up breaking it.
 
Yes the actual command in that guide sudo apt-get install ./docker-desktop-<version>-<arch>.deb
in my case apt-get install ./docker-desktop-4.30.0-amd64.deb
is what is complaining about missing qemu-system-x86

I'd love to run docker inside LXC (not a VM), but I couldn't get "podman" working in lxc due to some permission denied issues and I thought docker would have same problems. I tried now with docker inside lxc but i get:
systemctl --user start docker-desktop
Failed to connect to bus: No medium found
Seems to be an issue with it being inside a container.
 
Running docker in an LXC can be dicey - but there is plenty info out there on how to do it. In truth I'd just use a separate LXC for every single service. That way you have total control & granularity on all running services. (I realize the ease of having ready-made-to-install docker containers out there that you just want to spin up. But all of them can be adapted to be setup independently). Besides the "nested-in-nested" argument you probably are aware of.

However installing docker in host - in my books is a total NO.

If you want total ease of use; just do it in an isolated VM.

Regarding your main issue - this is obviously a docker issue - the fact that they insist on installing 32-bit dependencies is their problem. This seems to me unacceptable. I imagine the reason for this is historic.
 
BTW currently there is a version update in PVE for the pve-qemu-kvm package to version 9.0.0-3 (from 8.1.5-6). The changelog states:
pve-qemu-kvm (9.0.0-3) bookworm; urgency=medium

* fix crash when doing resize after hotplugging a disk using io_uring

* fix some minor issues in software CPU emulation (i.e. non-KVM) for ARM and
x86(_64)

-- Proxmox Support Team <support@proxmox.com> Wed, 29 May 2024 15:55:44 +0200

pve-qemu-kvm (9.0.0-2) bookworm; urgency=medium

* fix #5409: backup: fix copy-before-write timeout

* backup: improve error when copy-before-write fails for fleecing

* fix forwards and backwards migration with VirtIO-GPU display

* fix a regression in pflash device introduced in 8.2

* revert a commit for VirtIO PCI devices that turned out to cause more
potential security issues than what it fixed

* move compatibility flags for a new VirtIO-net feature to the correct
machine type. The feature was introduced in QEMU 8.2, but the
compatibility flags got added to machine version 8.0 instead of 8.1. This
breaks backwards migration with machine version 8.1 from a 8.2/9.0 binary
to an 8.1 binary, in cases where the guest kernel enables the feature
(e.g. Ubuntu 23.10).
While that breaks migration with machine version 8.1 from an unpatched to
a patched binary, Proxmox VE only ever had 8.2 on the test repository and
9.0 not yet in any public repository.

-- Proxmox Support Team <support@proxmox.com> Fri, 17 May 2024 17:04:52 +0200

pve-qemu-kvm (9.0.0-1) bookworm; urgency=medium

* update submodule and patches to QEMU 9.0.0

-- Proxmox Support Team <support@proxmox.com> Mon, 29 Apr 2024 10:51:37 +0200

Maybe relevant for your install.
 
  • Like
Reactions: leesteken
Thanks and yea I'd have preferred not to use docker, but some apps/software is so convoluted to install and creates such dependency nightmares that the developers offer no way to install it other than docker, unless you want to analyze the docker contents and figure it all out from that.

I found some way that says I should let docker overwrite my systemctl but i use other services that use that... I'll install a fresh lxc to mess with docker and see if i can get it working, and then keep all the docker junk in that lxc if i manage, and nothing else more or less.
 
Thanks and yea I'd have preferred not to use docker, but some apps/software is so convoluted to install and creates such dependency nightmares that the developers offer no way to install it other than docker, unless you want to analyze the docker contents and figure it all out from that.

I found some way that says I should let docker overwrite my systemctl but i use other services that use that... I'll install a fresh lxc to mess with docker and see if i can get it working, and then keep all the docker junk in that lxc if i manage, and nothing else more or less.
I know your exact feelings.

Do yourself a favor, create a VM & you can mess around in there to your heart's content.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!