我试图避免在通过 virtg-install 安装虚拟机期间回答用户配置数据。尝试使用以下过程的 kickstart 选项:
''' HOSTNAME=css_vm1 BRIDGE="br-control" ISO_FQN="/root/ubuntu/ubuntu-22.04.4-live-server-amd64.iso,kernel=casper/vmlinuz,initrd=casper/initrd" KS_FILE="/root/ubuntu/ks_merged.cfg" VCPUS=2 VM_IMAGE_PATH="/var/lib/libvirt/images/ubuntu-vm1.qcow2" DISK_SIZE=10 RAM_SIZE=4096
virt-install
--name“${HOSTNAME}”
--network bridge="${BRIDGE}"
--磁盘大小=${DISK_SIZE},路径=${VM_IMAGE_PATH},格式=qcow2
--ram“${RAM_SIZE}”
--vcpus“${VCPUS}”
--os-type linux
--os-variant ubuntu22.04
--extra-args="ks=file:/${KS_FILE} console=tty0 console=ttyS0,115200n8 serial"--
graphics=none
--noautoconsole
--debug
--location“${ISO_FQN}”'''
kickstart 文件是我使用 kickstart 生成器从 ubuntu GUI 生成的文件,如下所示:
'''
#cat ks_merged.cfg
#由 Kickstart Configurator 生成
#平台=x86
#系统语言
lang en_US
#要安装的语言模块
语言支持 en_US
#系统键盘
键盘我们
#系统鼠标
老鼠
#系统时区
时区 --utc Etc/UTC
#Root 密码
rootpw --iscrypted $1$pso.SRUz$3CigNdJOEzSlLpr/yjv0m/
#初始用户
用户 css --全名“CSS”--iscrypted --密码 1$IoisLw0t$biurHVhzlndQWuiPbGi3K1
#安装后重启
重启
#使用文本模式安装
文本
#安装操作系统而不是升级
安装
#使用CDROM安装介质
光盘
#系统引导加载程序配置
引导加载程序 --location=mbr
#清除主引导记录
zerombr 是
#分区清除信息
clearpart --all --initlabel
#磁盘分区信息
部分交换 --size 200 --asprimary
部分 / --fstype ext4 --size 1 --grow --asprimary
#系统授权信息
身份验证 --useshadow --enablemd5
#网络信息
网络 --bootproto=静态 --ip=192.168.10.10 --netmask=255.255.255.248 --gateway=192.168.10.8 --nameserver=192.168.10.14 --device=enp1s0
#防火墙配置
防火墙--已禁用
#不配置 X Window 系统
跳过
#软件包安装信息
%软件包
@ ubuntu 服务器
%post——nochroot
apt-get 更新 -y
'''
我仍然看到控制台中正在询问的问题,好像根本没有读取文件一样。我不想嵌入文件 ISO,因为它有一个硬编码的接口名称,文件中的某些内容可能需要在不同环境中动态更改,例如接口名称、磁盘名称等。我需要这个功能,以便能够避免在安装过程中手动配置虚拟机,并希望得到快速回复。