CentOS镜像定制化安装指南
定制化CentOS镜像需通过明确需求→准备工具→自动化配置→生成镜像→验证部署的流程实现,核心是利用Kickstart文件实现无人值守安装,并通过工具打包为可重复使用的ISO镜像。
createrepo(生成软件仓库元数据)、mkisofs(制作ISO镜像)、squashfs-tools(压缩文件系统)。Kickstart是CentOS定制化的核心,通过脚本实现无人值守安装,需包含以下关键部分:
lang en_US.UTF-8
keyboard us
timezone Asia/Shanghai
rootpw --plaintext your_password # 生产环境建议使用加密密码
network --bootproto=static --device=eth0 --ip=192.168.1.100 --netmask=255.255.255.0 --gateway=192.168.1.1 --nameserver=8.8.8.8
@groupname(如@base、@webserver)或具体包名(如vim、nginx)指定需安装的软件包,避免手动选择。%packages
@core
@webserver
nginx
vim-enhanced
%end
/boot、/、/home、swap),建议为系统分区设置合理大小(如/boot 500MB、swap 2GB)。part /boot --fstype="xfs" --size=500
part pv.01 --size=1 --grow
volgroup vg_root pv.01
logvol / --fstype="xfs" --name=lv_root --vgname=vg_root --size=1 --grow
logvol swap --fstype="swap" --name=lv_swap --vgname=vg_root --size=2048
%pre:安装前执行的脚本(如检测硬件、创建分区表)。%post:安装后执行的脚本(如安装额外软件、配置服务、同步时间)。%post --log=/root/install.log
# 安装epel-release
yum install -y epel-release
# 配置ssh免密登录
sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
systemctl enable sshd
%end
Packages、repodata文件夹)到工作目录。mkdir /mnt/iso
mount -o loop CentOS-7-x86_64-DVD-1810.iso /mnt/iso
mkdir -p /root/custom_iso
rsync -a --exclude={Packages,repodata} /mnt/iso/ /root/custom_iso/
umount /mnt/iso
Packages文件夹,并重新生成repodata(用于软件包管理)。mkdir /root/custom_iso/Packages
cp /path/to/your_packages/*.rpm /root/custom_iso/Packages/
createrepo /root/custom_iso/
isolinux/isolinux.cfg(传统BIOS)或EFI/BOOT/grub.cfg(UEFI),添加Kickstart文件路径,实现自动读取配置。sed -i '/append initrd=initrd.img/a ks=cdrom:/isolinux/ks.cfg' /root/custom_iso/isolinux/isolinux.cfg
mkisofs命令将工作目录打包为ISO文件,指定卷标(如CentOS-Custom-7)。mkisofs -r -J -T -v -volset "CentOS-Custom-7" -volid "CentOS-Custom-7" -joliet-long -rock -input-charset utf8 -o /root/CentOS-Custom-7.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table /root/custom_iso/
dd命令)或上传至网络存储,用于批量部署服务器或工作站。dd if=/root/CentOS-Custom-7.iso of=/dev/sdb bs=4M status=progress
通过以上步骤,可实现CentOS镜像的完全定制化,满足企业级快速部署、一致性配置需求。定制过程中需注意备份原始镜像,避免配置错误导致数据丢失。