我想使用自定义版本的 qemu 运行 libvirt。但是,在安装我的 qemu 版本并重新启动后,我在 dmesg 中收到以下消息



我尝试编辑/etc/apparmor.d/abstractions/libvirt-qemu 并添加以下行并重新启动



然而问题仍然存在。
我对 apparmor 真的很陌生,实际上在我发现这个错误之前并没有阅读太多关于它的内容。
任何帮助将不胜感激。

最佳答案

您的日志消息表明问题出在 /usr/sbin/libvirtd 配置文件中;查看消息的 profile="/usr/sbin/libvirtd" 部分。此配置文件存储在 /etc/apparmor.d/usr.sbin.libvirtd 中;此配置文件不包含 /etc/apparmor.d/abstractions/libvirt-qemu 抽象——而是通过 /etc/apparmor.d/libvirt/ 中的配置文件加载。查看 libvirtd 配置文件中的最后几行:

  # allow changing to our UUID-based named profiles
  change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*,

可能最简单的答案是将以下行添加到您的 local/usr.sbin.libvirtd 文件中:
/usr/local/bin/qemu-system-x86_64 rmix,

(虽然它可能需要 PUx 代替;主要的 /usr/sbin/libvirtd 配置文件当前有 /usr/bin/* PUx, ,这可能是 /usr/bin/qemu-system-x86_64 当前执行的方式。)

另一种方法是运行 aa-logprof ,并让工具提示您。您可能无法使用这些工具构建最漂亮的配置文件,但它应该相当简单,并且具有与手动编写配置文件相同的安全属性。

我希望这有帮助。

关于qemu - apparmor 使用自定义 qemu 导致 libvirt 出现问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10817813/

10-16 04:01