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

发表于:2007-07-04来源:作者:点击数: 标签:
在实际应用中,经常会需要对多台机器安装同样配置的 Linux ,如果能制作一张全自动的安装光盘,将会省去很多重复劳动。我成功地对Red Hat 9安装光盘进行了裁减配置,制作成一张全自动的安装光盘。下面就来介绍一下其实现方法。 复制安装盘上的文件 首先建立一
在实际应用中,经常会需要对多台机器安装同样配置的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@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的自动安装盘就已经做好了。

来 源:赛迪技术应用-开放系统世界
作者:马妙霞

原文转自:http://www.ltesting.net