C.6. 完成 Red Hat Enterprise Linux 7 镜像
流程
更新系统:
yum update
# yum updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow 安装
cloud-init软件包:yum install cloud-utils-growpart cloud-init
# yum install cloud-utils-growpart cloud-initCopy to Clipboard Copied! Toggle word wrap Toggle overflow 打开
/etc/cloud/cloud.cfg配置文件:vi /etc/cloud/cloud.cfg
# vi /etc/cloud/cloud.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在标题
cloud_init_modules下添加:- resolv-conf
- resolv-confCopy to Clipboard Copied! Toggle word wrap Toggle overflow resolv-conf选项在第一次启动时自动配置resolv.conf。此文件包含与实例相关的信息,如名称服务器、域和其他选项。打开
/etc/sysconfig/network文件:vi /etc/sysconfig/network
# vi /etc/sysconfig/networkCopy to Clipboard Copied! Toggle word wrap Toggle overflow 添加以下行以避免访问 EC2 元数据服务时出现问题:
NOZEROCONF=yes
NOZEROCONF=yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 取消注册虚拟机,以便生成的镜像不包含基于该虚拟机克隆的每个实例的相同订阅详情:
subscription-manager repos --disable=* subscription-manager unregister
# subscription-manager repos --disable=* # subscription-manager unregisterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 关闭实例:
poweroff
# poweroffCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Enterprise Linux 工作站中,以 root 用户身份连接到终端,并导航到
/var/lib/libvirt/images/目录:cd /var/lib/libvirt/images/
# cd /var/lib/libvirt/images/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
virt-sysprep命令重置和清理镜像,以便它可用于在没有问题的情况下创建实例:virt-sysprep -d rhel7
# virt-sysprep -d rhel7Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
virt-sparsify命令减少镜像大小。这个命令将磁盘镜像中的任何可用空间重新转换为主机中的可用空间:virt-sparsify --compress rhel7.qcow2 rhel7-cloud.qcow2
# virt-sparsify --compress rhel7.qcow2 rhel7-cloud.qcow2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这会在您进入命令的位置创建一个新的
rhel7-cloud.qcow2文件。