復制安裝盤上的文件
首先建立一個調試目錄:
mkdir /home/linux_cdrom
然後把Red Hat 9第一張光盤放入光驅,執行下面的命令復制光盤內容到/home/linux_cdrom目錄下:
mount /mnt/cdrom
cd /mnt/cdrom
tar -cf -.|( cd /home/linux_cdrom ; tar -xvpf - )
cd /
umount /mnt/cdrom
重復上面的方法,把Disk2和Disk3的內容都復制到/home/linux_cdrom目錄中去。這樣我們就可以在該目錄下裁減並制作Linux安裝盤了。
選擇需要的安裝包
Red Hat 9有三張安裝盤,總共1400多個安裝包,我們需要刪除一些安裝時用不到的,以達到把安裝盤壓縮到一張光盤容量內的目的。
Red Hat 9的具體安裝程序anaconda是利用文件comps.xml來獲取各個安裝包之間的關系,以及安裝包的用途。我們也可以利用這個文件來實現安裝包的自動選擇,但是需要通過程序實現。我寫了兩個python程序:getGroupPkgs.py和syncRpms.py,讀者可以發E-mail到mmx@clearcase/" target="_blank" >ccu.com.cn索要源代碼。
getGroupPkgs.py的任務是獲取目的安裝包及其相關包的信息,要定制不同安裝要求的安裝包可以修改該程序中代碼:
grplist=
加入需要的軟件組的格式為:“組名:1,”(注意要用逗號隔開)。這裡的組名可以參考/home/linux_cdrom/Redhat/base/comps.xml文件中的name項來確定。對於comps.xml的介紹詳見http://rhlinux.redhat.com/anaconda/comps.html。
syncRpms.py就是根據程序getGroupPkgs.py的輸出保留必要的軟件包,刪除不必要的軟件包。
依次運行這兩個程序:
./getGroupPkgs.py /home/linux_cdrom/Redhat/base/comps.xml>/home/pkglist
./syncRpms.py pkglist /home/linux_cdrom/Redhat/RPMS/>/home/trimlog
以上只是粗略地裁減,我們還要通過rpm來驗證裁減是否正確。
cd /home/linux_cdrom/Redhat/RPMS
mkdir /tmp/testdb
rpm --initdb --dbpath /tmp/testdb
rpm --test --dbpath /tmp/testdb -Uvh *.rpm
執行最後一個命令直到沒有錯誤信息出現為止。如果出現錯誤,就把錯誤信息中所提示缺少的包拷貝到/home/linux_cdrom/Redhat/RPMS目錄下。
通過du -hs /home/linux_cdrom命令來查看裁減後這個目錄下的文件大小,是否已經在一張盤的容量700MB以下。
完成安裝包的裁減之後,就可以生成hdlist文件了。hdlist文件是用來告訴安裝程序安裝盤裡面有哪些安裝包的。
/usr/lib/anaconda-runtime/genhdlist /home/linux_cdrom/
實現安裝的自動配置
1. 編寫ks.cfg文件
我們需要編寫ks.cfg文件實現所要求的安裝配置。Red Hat 9自帶了一個工具,可以自動生成ks.cfg文件,也可以根據具體需求自己編寫。關於kickstart的文章很多,這裡就不細說。把編寫好的ks.cfg拷貝到/home/linux_cdrom/目錄下。
2. 修改syslinux.cfg文件
修改syslinux.cfg文件,使系統以安裝盤啟動後執行ks.cfg來自動安裝。因為這個文件與其它一些文件被合在bootdisk.img裡,不能直接看到,只能先mount出來再修改:
mkdir /tmp/bootdisk
mount -o loop /home/linux_cdrom/images/bootdisk.img
/tmp/bootdisk
然後在/tmp/bootdisk目錄下修改syslinux.cfg文件。如何修改syslinux.cfg源文件請參照http://www.linuxjournal.com/modules.php?op=modload&name=NS-lj-issues/issue108&file=6473l2。鏈接:
修改之後在其它目錄下執行umount:
umount -f /tmp/bootdisk
制作並刻錄光盤
完成以上工作後,就可以制作並刻錄光盤了。在刻錄以前,可以執行下列命令以確保刻錄機是在SCSI模式下正常運行:
rmmod ide-cd
rmmod cdrom
modprobe ide-scsi
modprobe sg
執行下面的命令來進行光盤刻錄:
cd /home
mkisofs -b /home/linux_cdrom/images/bootdisk.img -l -J -R -r -T -V’Custom RH Install’. | cdrecord -v blank=fast speed=4 dev=0,0,0 -
如果以上工作都順利的話,那麼一張Red Hat 9的自動安裝盤就已經做好了。
來 源:賽迪技術應用-開放系統世界
作者:馬妙霞