C.7. 完成 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文件。