必備項目
1.UltraISO Premium Edition
2.CentOS 安裝光碟CD1 or DVD
3.VBOX虛擬機器
4.一點閒暇時間XD
5.具有網路連線(非必要)
一、首先先在VBOX中安裝CentOS,安裝完畢後在/root的底下有個install.log這是這次安裝的rpm套件list,接著掛載安裝光碟到/mnt,然後使用下面的shell script把安裝中真正需要用到RPM複製到硬碟中
#!/bin/sh if [ "$#" != "3" ];then echo "$0 install.log src_rpmdir dst_rpmdir"; exit 1; fi cat $1|grep Installing|awk -F '[ :]' '{system("if [ -f '$2'"$NF".rpm ];then cp -f '$2'"$NF".rpm '$3';else echo '"Can Not find"' "$NF";fi;")}';
使用方式 ./mvrpm.sh /mnt/CentOS /root/mycd/CentOS
接著複製原始的repodata
cp -R /mnt/repodata /root/mycd
二、更新或加入套件(非必要)
如果說安裝後不想更新想預先把新版RPM置換掉可以利用yum的downloadonly插件來下載RPM,取代就是把現有CentOS目錄中舊版本的RPM刪掉再把新版放進去(此人工動作十分耗時,請量力而為)
yum --downloadonly --downloaddir=/root/new update
三、重製repodata
createrepo -g repodata/comps.xml .
這是一個很神奇的步驟,這步小弟就搞了兩個禮拜,務必換到repodata的上一層目錄,並同時可以看到repodata與CentOS(放置RPM)的目錄,如果沒有createrepo這個command請自行安裝
新版本的createrepo會在重建db時加入hash在檔名
早期的安裝程式可能會無法正常載入,可以加上 --simple-md-filenames這個參數
createrepo --simple-md-filenames -g repodata/c6-minimal-x86_64.xml .
四、編輯ISO
現在回到Windows把原本安裝那片ISO使用工具打開然後清空CentOS目錄的內容,在把剛剛在VBOX中的/root/mycd/CentOS中的RPM放進來,接著把剛剛重建的repodata也覆蓋掉光碟中的版本
如果要使用kickstart可以複製到光碟根目錄中然後再修改isolinux目錄底下的isolinux.cfg將第一行的預設參數改成
default linux ks=cdrom:/ks.cfg
五、測試
在經過幾次1-4的步驟與反覆的測試安裝過程後呢,安裝光碟應該可以如預期的行為運作了,最後加上光碟本身的驗證碼讓光碟的自我檢測功能是可以使用的
/usr/lib/anaconda-runtime/implantisomd5 --force /root/my-centos.iso
沒有留言:
張貼留言