在实际应用中,经常会需要对多台机器安装同样配置的Linux,如果能制作一张全自动的安装光盘,将会省去很多重复劳动。我成功地对Red Hat 9安装光盘进行了裁减配置,制作成一张全自动的安装光盘。下面就来介绍一下其实现方法。
复制安装盘上的文件
首先建立一个调试目录:
然后把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的介绍详见
。
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:
//
file=6473l2。链接:
修改之后在其它目录下执行umount:
制作并刻录光盘
完成以上工作后,就可以制作并刻录光盘了。在刻录以前,可以执行下列命令以确保刻录机是在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的自动安装盘就已经做好了。
阅读(876) | 评论(0) | 转发(0) |