![libvirt 自定义模拟器路径](https://linux22.com/image/1151395/libvirt%20%E8%87%AA%E5%AE%9A%E4%B9%89%E6%A8%A1%E6%8B%9F%E5%99%A8%E8%B7%AF%E5%BE%84.png)
我在配置自定义路径时遇到问题qemu-system-x86_64
。
$ echo $PATH
/usr/local/TEST:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
$ which qemu-system-x86_64
/usr/local/TEST/qemu-system-x86_64
似乎在控制台中有效。但重新启动 libvirt 后,我在 syslog 中看到以下错误:
libvirt version: 2.5.0, package: 3ubuntu5.5~cloud0 (Openstack Ubuntu Testing Bot <[email protected]> Fri, 18 Aug 2017 13:59:48 +0000)
Cannot check QEMU binary /usr/bin/qemu-system-x86_64: No such file or directory
这导致 libvirt 提供空的功能。有什么技巧可以让 $PATH 工作吗?我在源代码中没有看到任何硬编码路径。
谢谢。
答案1
好吧,这似乎与 libvirt 无关。
这是 systemd 的工作方式。Systemd
忽略默认环境变量。它还会忽略/etc/environment
设置。
您必须明确配置 libvirt-bin 服务文件以包含您需要的变量:
[Service]
Environment="PATH=/usr/local/TEST:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin"
您还可以指定默认环境文件:
[Service]
EnvironmentFile=/etc/environment
您每天学习的东西...