最近在学习Red Hat方面的管理,一般来说我们比较容易获取的是RHEL(Red Hat Enterprise Linux)的CD版介质(比如国内的Lupaworld镜像),不过一共6CD安装起来的替换也是很麻烦,我找到一个教程与大家共享。
文章来源:Mind Download
本教程是基于Linux shell的操作,Unix-like通用,Windows请看文后简述。
一、首先下载6张CD,(借用lupaworld)
32位安装盘
rhel-server-5.3-i386-disc1.iso
rhel-server-5.3-i386-disc2.iso
rhel-server-5.3-i386-disc3.iso
rhel-server-5.3-i386-disc4.iso
rhel-server-5.3-i386-disc5.iso
64位安装盘
rhel-server-5.3-x86_64-disc1.iso
rhel-server-5.3-x86_64-disc2.iso
rhel-server-5.3-x86_64-disc3.iso
rhel-server-5.3-x86_64-disc4.iso
rhel-server-5.3-x86_64-disc5.iso
rhel-server-5.3-x86_64-disc6.iso
二、建立6个临时目录,同时挂载6个ISO文件。
1 2 3 4 5 6 7 |
mkdir /mnt/tmp{1,2,3,4,5,6} mount -o ro,loop rhel-5-client-i386-disc1.iso /mnt/tmp1 mount -o ro,loop rhel-5-client-i386-disc2.iso /mnt/tmp2 mount -o ro,loop rhel-5-client-i386-disc3.iso /mnt/tmp3 mount -o ro,loop rhel-5-client-i386-disc4.iso /mnt/tmp4 mount -o ro,loop rhel-5-client-i386-disc5.iso /mnt/tmp5 mount -o ro,loop rhel-5-client-i386-disc6.iso /mnt/tmp6 |
三、修改相关的光盘配置文件
1 2 3 |
cp -a /mnt/tmp1/isolinux /mnt/tmp1/.discinfo . chmod +w isolinux/isolinux.bin rm -f isolinux/boot.cat |
编辑复制过来的当前目录的.discinfo文件(nano .discinfo或gedit .discinfo),效果如下(不一定完全一样):
1170972087.594754
Red Hat Enterprise Linux Client 5
i386
1,2,3,4,5,6 <-主要是修改这里的1为现在的1,2,3,4,5,6
Client/
VT/
Workstation/
四、合并6个CD镜像并写入新的配置文件,生成DVD ISO镜像,红色的是卷标名称,请自定义。
1 |
mkisofs -v -pad -o RHEL5-x86_64-DVD.iso -V "RHEL5-x86_64-DVD" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -r -R -T -m TRANS.TBL -x /mnt/tmp1/.discinfo -x /mnt/tmp1/isolinux -graft-points /mnt/tmp1 .discinfo=.discinfo isolinux/=isolinux Server=/mnt/tmp2/Server Server=/mnt/tmp3/Server Server=/mnt/tmp4/Server Server=/mnt/tmp5/Server Server=/mnt/tmp6/Server |
五、扫尾工作
1 2 3 4 5 6 7 8 |
umount /mnt/tmp1 umount /mnt/tmp2 umount /mnt/tmp3 umount /mnt/tmp4 umount /mnt/tmp5 umount /mnt/tmp6 rm -rf /mnt/tmp{1,2,3,4,5,6} rm -rf .discinfo |
六、Windows怎么办?
呃,实际上我没有试过,但是我推断,只要把所有的ISO解压后复制到同一目录下(可覆盖同名文件),然后编辑.discinfo文件(如第三步那样),然后用WinISO或者UltraISO创建一个DVD文件,引导文件使用文件目录下的“isolinux/isolinux.bin”文件,并删除“isolinux/boot.cat”文件,然后保存ISO,应该可以,不过,建议尽量使用linux。
七、其它
实际上,RedHat官方就提供了DVD文件,只要注册一个RHN试用30天的帐户就可以下载,这个仅供大家参考。
同时,原作者提供了一个bash脚本用来处理这个过程,只要跟几个镜像放在同一目录下执行就是,文件内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#!/bin/sh mkdir /mnt/tmp1 mkdir /mnt/tmp2 mkdir /mnt/tmp3 mkdir /mnt/tmp4 mkdir /mnt/tmp5 mkdir /mnt/tmp6 mount -o ro,loop rhel-5-server-x86_64-disc1.iso /mnt/tmp1 mount -o ro,loop rhel-5-server-x86_64-disc2.iso /mnt/tmp2 mount -o ro,loop rhel-5-server-x86_64-disc3.iso /mnt/tmp3 mount -o ro,loop rhel-5-server-x86_64-disc4.iso /mnt/tmp4 mount -o ro,loop rhel-5-server-x86_64-disc5.iso /mnt/tmp5 mount -o ro,loop rhel-5-server-x86_64-disc6.iso /mnt/tmp6 cp -a /mnt/tmp1/isolinux /mnt/tmp1/.discinfo . chmod +w isolinux/isolinux.bin rm -f isolinux/boot.cat sed 's/1$/1,2,3,4,5,6/g' ./.discinfo > ./.discinfo mkisofs -v -pad -o RHEL5-x86_64-DVD.iso -V "RHEL5-x86_64-DVD" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -r -R -T -m TRANS.TBL -x /mnt/tmp1/.discinfo -x /mnt/tmp1/isolinux -graft-points /mnt/tmp1 .discinfo=.discinfo isolinux/=isolinux Server=/mnt/tmp2/Server Server=/mnt/tmp3/Server Server=/mnt/tmp4/Server Server=/mnt/tmp5/Server Server=/mnt/tmp6/Server umount /mnt/tmp1 umount /mnt/tmp2 umount /mnt/tmp3 umount /mnt/tmp4 umount /mnt/tmp5 umount /mnt/tmp6 rm -rf /mnt/tmp{1,2,3,4,5,6} rm -rf .discinfo |
保存为sh文件后,使用sh 脚本名称,或者./脚本名称的方式执行即可。