學習怎麼創建個基於已經安裝好的linux的iso安裝盤,實現完全的自動化安裝. 首先linux安裝Kickstart 根據腳本進行安裝的方法;支持所有Anaconda 特性;安裝時自動生成/root/anaconda-ks.cfg. 在我們正常安裝后的linux的root家目錄下都會有anaconda-ks.cfg和install.log這兩個文件分別定義了 anaconda-ks.cfg 分為三部分組成,首先是1命令:,配置系統和安裝方式;2,安裝軟體包%package部分:為安裝選擇軟體包和組以@開頭的定義是軟體包組下面定義的是所安裝的軟體包;3, scripts sections腳本部分,主要定義了安裝前的%pre所要執行的腳本但是大多命令可能會不支持的,和%post部分定義在安裝完成後所要執行的腳本這裡的命令一般情況下都支持的. Linux的安裝可以通過網路安裝(ftp,http,nfs)和光碟也可以通過. 這裡只說下怎麼製作個通過本地安裝的iso鏡像 首先我們也可以自己製作個kickstart自動安裝文件或者可以使用本地主機上anaconda-ks.cfg,要是自己製作餓kickstart文件就需要安裝 system-config-kickstart軟體包命令:yum –y install system-config-kickstart 安裝完成後就可以運行install system-config-kickstart命令出現個圖形的話的窗口這時我們就可以自己配置個完成自動化安裝的文件了,可以按需要選擇.完成後會自動生成個anaconda-ks.cfg文件,然後我們就要製作個引導程序了可以從我們的原光碟里拷貝出來一份.這裡有個小腳本製作一個依靠本地已有的anaconda-ks.cfg文件和安裝過的軟體包來封裝個 iso鏡像: #!/bin/bash export DDIR="/data/myiso" export SDIR="/media/cdrom" #這個MYRPM函數定義的是提取該系統中安裝過的軟體包和從光碟拷貝所需要#的軟體包和創建個軟體包的關係 MYRPM(){ echo "creating the packs,please waiting....." FILENAME='/tmp/packlist.txt' #這一步是提取安裝系統中所需要的軟體包, grep "^Installing" /root/install.log |cut -d" " -f2 >/tmp/packlist.txt && sed -i -e 's/(.*)/1.rpm/g' -e 's/^[1-9]{1,}:(.*)/1/g' /tmp/packlist.txt mkdir -p $DDIR/{Server,VT,Cluster,ClusterStorage} 2>> /tmp/error.txt [ $? -eq 0 ]&&echo "Create is ok" #這個循環是把獲取到的軟體包從光碟上拷到相對應的目錄中 while read line ;do FILE=`find $SDIR -name $line` MYPATH=`find $SDIR -name $line |cut -d"/" -f4` cp $FILE $DDIR/$MYPATH/ 2>/dev/null done <$FILENAME [ $? -eq 0 ] && echo -e "The RPM is 33[1mok 33[0m." ||echo "PACK error!" #軟體包拷貝完成後我們還需要一些而外東西,例如引導項,這些也是需要從光 #盤上拷貝的如下: cp -r $SDIR/{images,isolinux,.treeinfo,.discinfo,EULA,GPL,TRANS.TBL,eula.en_US} $DDIR #這一步是做軟體包關聯的,先判斷是否存在做關聯的命令然後開始做關聯 [ -e /usr/bin/createrepo ] || rpm -i $DDIR/Server/createrepo-*.noarch.rpm &> /dev/null for REPODIR in Server VT Cluster ClusterStorage;do createrepo -g $SDIR/$REPODIR/repodata/comps-rhel5-*.xml $DDIR/$REPODIR done find $DDIR/isolinux -name "*" -exec chmod u w {} ; } #KS函數定義的是拷貝自動化的文件並作以修改,做個 iso鏡像 KS(){ #拷貝系統上的anaconda-ks.cfg文件並作修改的 cp /root/anaconda-ks.cfg $DDIR/ks.cfg sed -i -e '/^# not g/,/^%packages/s/^#([a-z].*)/1/g' -e 's/^url.*$/cdrom/g' -e '/^%packages/i reboot' -e 's/(^clearpart.*)/1 --initlabel/g' $DDIR/ks.cfg [ -d /etc/yum.repos.d ] ||mkdir /etc/yum.repos.d >/dev/null cd $DDIR/isolinux sed -i 's/(^default linux).*/1 ks=cdrom:/ks.cfg/g' isolinux.cfg echo -e "The KS is 33[2mok 33[0m." cd /data #這裡是對上面的完成後做封裝成iso鏡像的 mkisofs -o mylinux.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -V -J -T myiso/ &>/dev/null } MYRPM KS 完成以上的步驟后我們的鏡像系統只有六七百兆比起原來的安裝包小了許多, 如果我們有一個 ftp伺服器並且有yum庫的話,我們只用封裝個引導項和完成自動化的文件就可以從ftp 上來完成安裝了.這裡就不做介紹了!!本文出自 「水滴石穿」 博客,請務必保留此出處http://shugao.blog.51cto.com/2396914/572574
[火星人
]
linux基礎(十七)製作啟動盤已經有499次圍觀
http://coctec.com/docs/linux/show-post-48588.html