在Ubuntu18.04上,qemu的默认安装类似于version 3,我需要virtiofs,后者在以后的版本中提供了内置支持。因此,我卸载了qemu和相关的软件包,下载了QEMU5.0源代码,并在本地进行了编程。
所有这些都运行得很好,包括make install,它将二进制文件放入/usr/local/中,我认为这是正确的默认设置,除非另有说明。
大多数事情都很正常,但是我现在正在尝试在主机重新启动时让客人们优雅地关闭/重新启动,到目前为止已经遇到了两个障碍。
/usr/local/libexec/libvirt-guests.sh: 29: .: Can't open /usr/local/bin/gettext.sh。当然,这不是getttext.sh通常住的地方,但是我可以通过ln -s /usr/bin/gettext.sh /usr/local/bin/gettext.sh来解决这个问题。libvirt-guests.sh[2166]: touch: cannot touch '/usr/local/var/lock/subsys/libvirt-guests': No such file or directory。我可以继续进行符号链接,使它们看起来对libvirt是可访问的,但我想知道正确的修复方法是否实际上是将qemu安装在它预期的位置。
那么,第一个问题是重新安装正确的方法,还是我刚刚错过了一些基本的配置,这些配置将使本地包保持在原来的位置,但允许一切按预期工作呢?
如果没有,我想我将不得不运行./configure --prefix=/usr并重新构建,但是如何才能首先干净地删除/usr/local/中当前安装的版本呢?而且,理想情况下,我希望保留当前的VM配置。在搜索特定域的XML文件时,我看到了两个版本:
# find / -name 07x2.xml
/usr/local/var/run/libvirt/qemu/07x2.xml
/usr/local/etc/libvirt/qemu/07x2.xml我不知道为什么会有2,但我想我可以在删除任何东西之前先使用virsh dumpxml。
发布于 2020-08-22 12:57:32
截至2020年8月,qemu 5已进入Debian不稳定,并将在Ubuntu 20.10中(注意未来时)。
考虑在需要qemu的地方采用这些发行版。可复制的构建是一个优势:把东西放在你期望的地方,不要与安装在apt外部的软件发生冲突。意识到这并没有长期的支持,更频繁的升级增加了你的维护。
如果您没有更改您的操作系统,请考虑将建议的包移植到您正在运行的程序包中,然后重新构建。您自己的Launchpad PPA回购或类似功能支持自定义构建的包管理。
https://serverfault.com/questions/1030913
复制相似问题