Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7694138
  • 博文数量: 637
  • 博客积分: 10265
  • 博客等级: 上将
  • 技术积分: 6165
  • 用 户 组: 普通用户
  • 注册时间: 2004-12-12 22:00
文章分类

全部博文(637)

文章存档

2011年(1)

2010年(1)

2009年(3)

2008年(12)

2007年(44)

2006年(156)

2005年(419)

2004年(1)

分类: LINUX

2005-10-27 17:45:34

在实际应用中,经常会需要对多台机器安装同样配置的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的介绍详见 。

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:

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的自动安装盘就已经做好了。
阅读(876) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~