Tags: , , , , , , 885, Posted in 软言软语 我抢沙发

最近在学习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 .discinfogedit .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 脚本名称,或者./脚本名称的方式执行即可。

Related Posts

March 21, 2010