红联Linux门户
Linux帮助

教您如何制作Red Hat 9自动安装光盘

发布时间:2005-09-21 18:10:26来源:红联作者:linux
在实际应用中,经常会需要对多台机器安装同样配置的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/
文章评论

共有 6 条评论

  1. balini 于 2009-07-21 00:58:02发表:

    顶啊......

  2. jiongliang 于 2008-05-23 09:37:33发表:

    boss 能不能把程序代码粘贴出啦啊!!!!!!!!!!

  3. 雪山铁骑 于 2006-12-05 21:18:25发表:

    谢谢分享!学习了!

  4. Ywe 于 2005-10-30 00:17:33发表:

    学习了

  5. 晴 于 2005-09-22 00:46:07发表:

    不错,顶了

  6. linux 于 2005-09-21 18:10:55发表:

    实现安装的自动配置

    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的自动安装盘就已经做好了。