二個目標:
1、全自動安裝
2、增加安裝包並自動安裝上。
一、軟件准備:VM、CentOS-7-x86_64-Minimal-2003.iso
二、用CentOS-7-x86_64-Minimal-2003.iso安裝一個虛擬機
三、將ISO所在的/dev/cdrom掛載到/media
mount /dev/cdrom /media
四、安裝制作發行版的工具
yum -y install createrepo mkisofs isomd5sum rsync
五、 同步光盤文件到制作ISO的目錄
mkdir /ISO
#同步/media下的文件到/ISO路徑下,除了Packages和repodata文件夾
/usr/bin/rsync -a --exclude=Packages/ --exclude=repodata/ /media/ /ISO/
# 在/ISO/文件夾下新建Packages和repodata文件夾
mkdir -p /ISO/{Packages,repodata}
六、拷貝當前系統已安裝的軟件包到/ISO/Packages目錄下
cp /media/Packages/*.rpm /ISO/Packages/
七、准備集成包軟件:將java的rpm包和依賴包下載到/root/test/下
yum install -y --downloadonly --downloaddir=/root/test/ java-1.8.0-openjdk-devel
cp /root/test/* /ISO/Packages/
八、 修改isolinux.cfg文件
把所有hd:LABEL后面的值都替換為一個后面會用到的字符串,如CentOS7
增加label auto標簽
修改EFI/BOOT/grub.cfg文件:增加安裝菜單選項
九、修改自動化安裝配置文件
cp /root/anaconda-ks.cfg /ISO/isolinux/ks.cfg
由於增加到core組,故不改該文件。
十、制作修改comps文件
進入/ISO目錄,將“*l-x86_64-comps.xml”文件拷貝到/ISO/repodata路徑下,並重命名成comps.xml
cp /media/repodata/*l-x86_64-comps.xml /ISO/repodata/comps.xml
vi /ISO/repodata/comps.xml
將java-1.8.0-openjdk-devel的<packagereq type="default">java-1.8.0-openjdk-devel</packagereq>增加到core的<packagelist>
十一、 由comps.xml生成repodata包
切換到ISO/路徑下,注意當有新包加入,或者更新comps.xml文件,均需要重新生成repodata文件夾
createrepo -g repodata/comps.xml ./
十二、制作ISO鏡像,注意參數中的-V,和上面的isolinux.cfg文件有關
genisoimage -joliet-long -V CentOS7 -o CentOS-7-8.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
十三、制作鏡像MD5值
implantisomd5 /ISO/CentOS-7-8.iso
接下來用新鏡像安裝系統
選擇后接下來會自動安裝。
安裝完后默認安裝上lrzsz和java: