温馨提示×

centos镜像如何定制化安装

小樊
41
2025-09-20 08:38:11
栏目: 智能运维

CentOS镜像定制化安装指南

定制化CentOS镜像需通过明确需求→准备工具→自动化配置→生成镜像→验证部署的流程实现,核心是利用Kickstart文件实现无人值守安装,并通过工具打包为可重复使用的ISO镜像。

一、前期准备

  1. 明确定制需求
    确定系统需包含的软件包(如Web服务器、数据库)、网络配置(静态IP/DHCP、端口开放)、安全策略(SELinux、防火墙)、分区方案(/boot、/、/home大小)及用户设置(root密码、普通用户)等。
  2. 准备基础环境
    • 下载CentOS基础镜像(如Minimal版、DVD版),可从官网或镜像站点获取。
    • 安装必要工具:createrepo(生成软件仓库元数据)、mkisofs(制作ISO镜像)、squashfs-tools(压缩文件系统)。
    • 准备虚拟机(如VMware、VirtualBox):用于测试定制镜像的安装效果。

二、编写Kickstart自动化配置文件

Kickstart是CentOS定制化的核心,通过脚本实现无人值守安装,需包含以下关键部分:

  1. 基础配置
    指定语言、键盘布局、时区、root密码(加密或明文)、网络设置(静态IP需配置IPADDR、NETMASK、GATEWAY、DNS)。
    示例片段:
    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 
  2. 软件包选择
    通过@groupname(如@base@webserver)或具体包名(如vimnginx)指定需安装的软件包,避免手动选择。
    示例片段:
    %packages @core @webserver nginx vim-enhanced %end 
  3. 分区方案
    定义磁盘分区结构(如/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 
  4. 预安装与后安装脚本
    • %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 

三、制作定制化ISO镜像

  1. 挂载原始ISO
    将下载的CentOS ISO挂载到系统,复制其中的文件(排除Packagesrepodata文件夹)到工作目录。
    示例命令:
    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 
  2. 添加自定义软件包
    将需要包含的RPM包复制到工作目录的Packages文件夹,并重新生成repodata(用于软件包管理)。
    示例命令:
    mkdir /root/custom_iso/Packages cp /path/to/your_packages/*.rpm /root/custom_iso/Packages/ createrepo /root/custom_iso/ 
  3. 修改引导配置
    编辑isolinux/isolinux.cfg(传统BIOS)或EFI/BOOT/grub.cfg(UEFI),添加Kickstart文件路径,实现自动读取配置。
    示例修改(针对传统BIOS):
    sed -i '/append initrd=initrd.img/a ks=cdrom:/isolinux/ks.cfg' /root/custom_iso/isolinux/isolinux.cfg 
  4. 生成ISO镜像
    使用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/ 

四、验证与部署

  1. 测试ISO镜像
    使用虚拟机(如VMware)创建新虚拟机,将生成的ISO设置为启动盘,启动后验证:
    • 是否自动进入安装界面(无需手动选择选项)。
    • 是否按照Kickstart配置安装指定软件包、配置网络、设置用户。
    • 安装完成后是否自动重启并进入系统。
  2. 批量部署
    将验证通过的ISO镜像写入U盘(使用dd命令)或上传至网络存储,用于批量部署服务器或工作站。
    示例命令(写入U盘):
    dd if=/root/CentOS-Custom-7.iso of=/dev/sdb bs=4M status=progress 

通过以上步骤,可实现CentOS镜像的完全定制化,满足企业级快速部署、一致性配置需求。定制过程中需注意备份原始镜像,避免配置错误导致数据丢失。

0