在實際應用中,經常會需要對多台機器安裝同樣配置的Linux,如果能製作一張全自動的安裝光碟,將會省去很多重複勞動。我成功地對Red Hat 9安裝光碟進行了裁減配置,製作成一張全自動的安裝光碟。下面就來介紹一下其實現方法。 複製安裝盤上的文件 首先建立一個調試目錄: 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@ccu.com.cn索要源代碼。 getGroupPkgs.py的任務是獲取目的安裝包及其相關包的信息,要定製不同安裝要求的安裝包可以修改該程序中代碼: grplist={『Base』:1,『Core』:1} 加入需要的軟體組的格式為:「組名: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/
[火星人
]
教您如何製作Red Hat 9自動安裝光碟 已經有528 次圍觀
本文地址: http://coctec.com/docs/linux/show-post-138271.html