正确安装/配置本地构建的 qemu/libvirt

正确安装/配置本地构建的 qemu/libvirt

在 Ubuntu 18.04 上,qemu 的默认安装版本是 3 左右,我需要 virtiofs,它在后续版本中内置了支持。所以我卸载了 qemu 和相关软件包,下载了 qemu 5.0 源并在本地进行了编译。

一切运行良好,包括make install,它将二进制文件放在/usr/local/我猜测的正确默认值中,除非另有说明。

大多数事情都运行正常,但我现在试图在主机重新启动时正常关闭/重新启动客户机,到目前为止遇到了 2 个障碍。

  1. 在主机启动时,我会看到/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
  2. 现在没有失败消息,但后来在主机启动日志中我看到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 文件时,我看到 2 个版本:

# find / -name 07x2.xml
/usr/local/var/run/libvirt/qemu/07x2.xml
/usr/local/etc/libvirt/qemu/07x2.xml

我不确定为什么会有 2,但我想virsh dumpxml在删除任何东西之前我可以这样做。

答案1

截至 2020 年 8 月,qemu 5 已Debian 不稳定,将出现在 Ubuntu 20.10(注意是将来时)

在需要 qemu 时,请考虑采用这些发行版。可重现的构建是一个优势:将东西放在您期望的位置,并且不会与 apt 外部安装的软件发生冲突。请注意,这没有长期支持,更频繁的升级会增加您的维护。

如果您不打算更改操作系统,请考虑将建议的软件包反向移植到您正在运行的操作系统,然后重建。您自己的 Launchpad PPA 存储库或类似存储库可实现自定义构建的软件包管理。

相关内容