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 Workstation 中,以 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文件。