下载云主机镜像

https://cloud-images.ubuntu.com/releases/

wget https://cloud-images.ubuntu.com/releases/23.10/release-20240307/ubuntu-23.10-server-cloudimg-amd64.img

yum install -y libvirt-client cloud-utils virt-install libguestfs-tools
# 创建模板镜像
qemu-img convert -f qcow2 -O qcow2 ubuntu-23.10-server-cloudimg-amd64.img root-disk.qcow2
# 设置模板镜像对应的虚拟机磁盘大小50G
qemu-img resize root-disk.qcow2 50G

# 配置cloud-init
echo "#cloud-config
system_info:
  default_user:
    name: ubuntu
    home: /home/ubuntu

password: ubuntu
chpasswd: { expire: False }
hostname: ubuntu

# 配置sshd允许使用密码登录
ssh_pwauth: True
" | tee cloud-init.cfg
# 创建iso镜像
cloud-localds cloud-init.iso cloud-init.cfg
# 安装虚拟机
virt-install \
--name test \
--memory 4096 \
--disk root-disk.qcow2,device=disk,bus=virtio \
--disk cloud-init.iso,device=cdrom \
--os-type linux \
--virt-type kvm \
--graphics none \
--network network=default,model=virtio \
--import

# 允许root ssh登录
sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
sudo systemctl restart ssh
# 设置root密码
sudo passwd root

# ctrl+]退出后,测试root登录虚拟机
virsh domifaddr test
ssh root@xxx
shutdown -h now

# 清理后配置已经刷入root-disk.qcow2
virt-sysprep -d test
virsh undefine test

# 压缩root-disk.qcow2
qemu-img convert -f qcow2 -O qcow2 -c root-disk.qcow2 ubuntu-23.10.qcow2

参考资料

https://waynerv.com/posts/create-out-of-box-ubuntu-qcow2-image/ 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。