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镜像的完全定制化,满足企业级快速部署、一致性配置需求。定制过程中需注意备份原始镜像,避免配置错误导致数据丢失。