如何使用“libvirt”以非交互方式配置 ubuntu 虚拟机?

如何使用“libvirt”以非交互方式配置 ubuntu 虚拟机?

以前(几年前)我用过vmbuilder,但是现在似乎没有维护,不能与较新的 ubuntu 版本一起使用。

我也尝试vagrantvagrant-libvirt 插件,除了这种方法需要安装大量的软件包之外,它最终还是没有奏效,因为没有提供商的 ubuntu 云镜像libvirt

我还研究过以 CD-ROM 形式提供标准 ISO 映像的标准 virt-installer,但这不是非交互式的。除此之外,我还在交互式安装过程中遇到了一个普遍存在的错误。

那么,使用非交互方式配置 ubuntu 虚拟机的最佳方法是什么libvirt?或者 vmbuilder 的替代品是什么?

答案1

我认为你正在寻找virt-builder

Virt-builder 从各种发行版的全新安装的操作系统模板开始,并允许您通过设置 root 密码、复制文件等方式对其进行自定义。

Virt-builder 位于libguestfs 工具包裹。

sudo apt install libguestfs-tools

这些基本命令应该可以帮助您入门;您可以在手册页中找到更高级的内容。

列出可用的虚拟机模板:

virt-builder --list

创建一个全新的 Ubuntu 18.04 LTS 映像:

virt-builder ubuntu-18.04

默认情况下,virt-builder 不创建任何用户帐户,而是使用随机密码启用 root 帐户,该密码在创建 VM 映像时会打印在您的终端上。如前所述,您可以使用各种命令选项更改此设置。

(请注意,对于 Ubuntu,virt-builder 仅支持 Ubuntu 的 LTS 版本。)

答案2

我建议你看一下紫外线工具根据我的经验,它比 virt-builder 效果好得多。

但考虑到现在已经不是 2016 年了,我实际上建议大家更多地关注现代甚至跨平台的解决方案多程默认情况下,这将直接生成 qemu,但你可以让它使用 libvirt 后端

snap 设置多通道驱动程序=LIBVIRT

这两种工具都将为您提供一个 CLI 界面,以便根据 Ubuntu 云镜像生成客户端。

答案3

Ubuntu Land 的发展日新月异……从 2019 年第四季度开始,我将使用 Multipass 来处理虚拟机,使用 LXD 来处理机器容器。理想情况下使用 Ubuntu 镜像...

机器实例的配置处理方式不同:

  1. 机器容器 - 使用 LXD 型材
  2. 虚拟机 -cloud-init用于网络和用户数据设置的初始配置

如果您想要运行各种不同的操作系统,那么事情就会变得更加复杂......

相关内容