溫馨提示×

centos鏡像如何定制化安裝

小樊
41
2025-09-20 08:38:11
欄目: 智能運維

CentOS鏡像定制化安裝指南

定制化CentOS鏡像需通過明確需求→準備工具→自動化配置→生成鏡像→驗證部署的流程實現,核心是利用Kickstart文件實現無人值守安裝,并通過工具打包為可重復使用的ISO鏡像。

一、前期準備

  1. 明確定制需求
    確定系統需包含的軟件包(如Web服務器、數據庫)、網絡配置(靜態IP/DHCP、端口開放)、安全策略(SELinux、防火墻)、分區方案(/boot、/、/home大?。┘坝脩粼O置(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)或具體包名(如vim、nginx)指定需安裝的軟件包,避免手動選擇。
    示例片段:
    %packages
    @core
    @webserver
    nginx
    vim-enhanced
    %end
    
  3. 分區方案
    定義磁盤分區結構(如/boot、/、/home、swap),建議為系統分區設置合理大?。ㄈ?code>/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掛載到系統,復制其中的文件(排除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
    
  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
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女