環境準備:
centos虛機,centos7 iso檔案,需要自定義安裝的 rpm包
操作流程:
1. 安裝iso制作工具
yum -y install createrepo mkisofs isomd5sum rsync
2. 挂載iso檔案
mount -o loop CentOS-7-x86_64-DVD-1804.iso /home/isomount
3. 同步CD光牒檔案到iso制作檔案
#同步/media下的檔案到/ISO路徑下,除了Packages和repodata檔案夾
/usr/bin/rsync -a --exclude=Packages/ --exclude=repodata/ /home/isomount/* /iso/
#在/ISO/檔案夾下建立Packages和repodata檔案夾
mkdir -p /iso/Packages
mkdir -p /iso/repodata
4. 把挂載點下Packages目錄下的包全部copy到/iso/Packages 下
cp /home/isomount/Packages/* /iso/Packages
5.把依賴包*.rpm複制到/iso/Packages下
6. 添加自動安裝腳本
cp /root/anaconda-ks.cfg /iso/interactive-defaults.ks
根據自己的需求對interactive-defaults.ks進行修改
7. 修改/iso/isolinux目錄下isolinux.cfg 檔案

改一下逾時時間
添加自動化部署的配置,有inst.ks配置代表是自動化安裝,前面改成CentOS7或者其他,不要特殊字元。
8.複制rpm包配置資訊,
cp /home/isomount/repodata/*-x86_64-comps.xml /iso/repodata/comps.xml
/home下的為挂載目錄,iso下的為最終生成iso的目錄
9.修改comps.xml檔案,增加自定義的rpm包
增加rpm包的組
增加組的環境配置
10.在自動化安裝腳本
interactive-defaults.ks
中
增加自定義的組
11. 切換到iso/路徑下,由comps.xml生成repodata包。注意當有新包加入,或者更新comps.xml檔案,均需要重新生成repodata檔案夾
createrepo -g repodata/comps.xml ./
12.
制作ISO包
genisoimage -joliet-long -V CentOS7 -o CentOS-7.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -cache-inodes -T -eltorito-alt-boot -e images/efiboot.img -no-emul-boot /iso
這個CentOS7 要和上面修改的那個名字做對應
13. 制作鏡像MD5值
implantisomd5 /iso/CentOS-7.iso