我想使用自定义版本的 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/