在CentOS系统中制作镜像是一个复杂但非常实用的任务,尤其是在需要节省带宽、提高安装效率和确保系统一致性的场景中,以下是详细的步骤和相关配置,以帮助你成功创建自己的CentOS镜像。
一、准备工作与环境搭建
1、安装必要的工具:

你需要安装一些用于创建和处理镜像的工具,这些工具包括createrepo
、mkisofs
、isomd5sum
和squashfstools
,你可以通过以下命令安装它们:
- yum install createrepo mkisofs isomd5sum squashfstools
2、创建工作目录:
创建一个用于存放ISO文件和挂载镜像的目录:
- mkdir /root/iso
- mkdir /root/work
- mount o loop /path/to/your/centos.iso /root/work
3、复制基础ISO内容:
将CentOS基础ISO的内容复制到工作目录中:
- cp r /root/work/* /root/iso/
1、修改isolinux.cfg
文件:

编辑isolinux.cfg
文件以添加Kickstart文件路径,实现无人值守安装:
- menu color timeout_msg 0 #ffffffff #00000000 none
- menu tabmsg Press Tab for full configuration options on menu items.
- menu separator 1 # insert an empty line
- menu separator 1 # insert an empty line
- label linux
- menu label ^Install CentOS Linux 7
- kernel vmlinuz
- append initrd=initrd.img ks=cdrom:/isolinux/ks.cfg
2、准备Kickstart文件:
Kickstart文件用于自动化安装过程,你可以使用系统默认生成的anacondaks.cfg
文件,并根据需要进行修改:
- cp /root/anacondaks.cfg /root/iso/isolinux/ks.cfg
示例Kickstart文件内容:
- #version=DEVEL
- auth enableshadow passalgo=sha512
- cdrom
- graphical
- firstboot enable
- ignoredisk onlyuse=sda
- keyboard vckeymap=us xlayouts='us'
- lang en_US.UTF8
- network bootproto=dhcp device=ens33 onboot=off ipv6=auto noactivate
- rootpw iscrypted $6$Ok9Jcj51va/3x830$/6rLkpu8k2tPCmd7byUBE7wuRexmuoMzp0jAelDRYMAIk9yRL/84mCFrOTp5QYWJNVcEIB7wHgw8byp0r21vT0
- services disabled="chronyd"
- timezone Asia/Shanghai isUtc nontp
- bootloader append=" crashkernel=auto" location=mbr bootdrive=sda
- autopart type=lvm
- clearpart none initlabel
- %pre
- %end
- %packages
- @^minimal
- @core
- kexectools
- %end
- %post
- %end
- %addon com_redhat_kdump enable reservemb='auto'
- %end
- %anaconda
- pwpolicy root minlen=6 minquality=50 notstrict nochanges notempty
- pwpolicy user minlen=6 minquality=50 notstrict nochanges notempty
- pwpolicy luks minlen=6 minquality=50 notstrict nochanges notempty
三、生成新的ISO镜像
1、生成文件系统列表:
使用createrepo
工具生成新的文件系统列表:

- createrepo g repodata/comps.xml ./
2、创建ISO镜像:
使用mkisofs
工具创建ISO镜像:
- mkisofs o /root/centos.iso /root/iso
3、验证ISO镜像:
使用isomd5sum
工具验证生成的ISO镜像:
- isomd5sum /root/centos.iso > /root/centos.iso.md5
四、常见问题解答(FAQs)
Q1:如何修改ISO中的默认软件包?
A1:你可以通过修改Kickstart文件中的%packages
部分来指定默认安装的软件包,添加@core
组和kexectools
包:
- %packages
- @core
- kexectools
- %end
Q2:如何确保生成的ISO镜像可以正常启动并安装?
A2:确保以下几点:
1、isolinux.cfg
文件中的append
行正确指向Kickstart文件。
2、Kickstart文件中的配置正确无误,特别是网络设置和分区设置。
3、生成的ISO镜像通过了isomd5sum
验证,确保文件完整性。
4、在虚拟机或实体机上测试ISO镜像,确保其能够正常启动并完成安装过程。
通过以上步骤,你可以在CentOS系统中成功创建自定义的镜像,并进行无人值守的自动化安装,这一过程不仅可以节省时间和带宽,还能确保系统的一致性和可重复性。