在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系统中成功创建自定义的镜像,并进行无人值守的自动化安装,这一过程不仅可以节省时间和带宽,还能确保系统的一致性和可重复性。