virt-install:从主机脚本发送访客命令

virt-install:从主机脚本发送访客命令

我可以virt-install使用以下选项将输入/输出重定向到控制台--console

virt-install \
  --name centos \
  --ram 1024 \
  --os-type linux \
  --os-variant centos7.0 \
  --graphics none \
  --location ~/CentOS-7-x86_64-Minimal-1908.iso \
  --extra-args 'console=ttyS0,115200n8 serial' \
  --console pty,target.type=serial

我想从脚本发送控制台输入,因此我尝试了命名管道。在普通 kvm 中,可以使用以下选项:

-serial pipe:/tmp/centos

/tmp/centos命名管道在哪里:

mkfifo /tmp/centos.in /tmp/centos.out

virt-install我尝试--console用以下几种组合替换:

--console pty,target.type=serial,source.path=/tmp/centos

但没有任何可用:

cat /tmp/centos.out

并且没有任何内容发送到虚拟机:

echo cmd > /tmp/centos.in

如何通过管道将命令从主机脚本传输到客户机?

答案1

Libvirt 具有用于“管道”选项的本机 XML:https://libvirt.org/formatdomain.html#elementsCharPipe

使用 virt-install 应该是:--console pipe,source.path=/path/to/my/pipe

  • 编辑以删除不正确的语法

相关内容