[实践OK]多个ISO文件怎样合并为一个ISO文件(Linux下的操作),合并 CentOS 6.8 的两个iso镜像,如何将RedHat Linux 9.0三张镜像光盘合并成一张,将Linux的三张ISO版CD镜像的合并成一个DVD光盘。

jackxiang 2018-4-9 14:33 | |
背景:一个低版本的CentOS系统的Crontab可能坏了,需要修复,于是下载了有9个ISO安装包,如何合并?
实践步骤:
一)mkdir CentOS-5.10-x86_64-bin-{1,2,3,4,5,6,7,8,9}of9 CentOS-5.10-x86_64-bin-rpms ,这是建立 shrike-i386-disc{1,2,3} 和 CentOS-5.10-x86_64-bin-rpms  这10个目录。
二)挂载 Centos原来的9个镜像文件 :
mount -o ro,loop CentOS-5.10-x86_64-bin-1of9.iso CentOS-5.10-x86_64-bin-1of9
mount -o ro,loop CentOS-5.10-x86_64-bin-2of9.iso CentOS-5.10-x86_64-bin-2of9
mount -o ro,loop CentOS-5.10-x86_64-bin-3of9.iso CentOS-5.10-x86_64-bin-3of9
mount -o ro,loop CentOS-5.10-x86_64-bin-4of9.iso CentOS-5.10-x86_64-bin-4of9
mount -o ro,loop CentOS-5.10-x86_64-bin-5of9.iso CentOS-5.10-x86_64-bin-5of9
mount -o ro,loop CentOS-5.10-x86_64-bin-6of9.iso CentOS-5.10-x86_64-bin-6of9
mount -o ro,loop CentOS-5.10-x86_64-bin-7of9.iso CentOS-5.10-x86_64-bin-7of9
mount -o ro,loop CentOS-5.10-x86_64-bin-8of9.iso CentOS-5.10-x86_64-bin-8of9
mount -o ro,loop CentOS-5.10-x86_64-bin-9of9.iso CentOS-5.10-x86_64-bin-9of9
三)拷贝RPM文件
首先, 复制CentOS-5.10-x86_64-bin-1of9)中的所有文件到 CentOS-5.10-x86_64-bin-rpms目录下然后, 只拷贝前1到9 中 Packages 目录下的所有RPM文件到  CentOS-5.10-x86_64-bin-rpms 目录下,
mv CentOS-5.10-x86_64-bin-{1,2,3,4,5,6,7,8,9}of9/CentOS CentOS-5.10-x86_64-bin-rpms

最后一个Mount时出现: mount -o ro,loop CentOS-5.10-x86_64-bin-9of9.iso  CentOS-5.10-x86_64-bin-9of9
mount: could not find any free loop device ,解决办法:解决方法:MAKEDEV -v /dev/loop
echo "MAKEDEV -v /dev/loop" >> /etc/rc.local
参阅文献:http://devnull.typepad.com/devnull/2012/09/rhel6-mount-could-not-find-any-free-loop-device.html

四)建立Rpm仓库索引,CentOS5在CentOS6系统上搭建YUM仓库时建立索引不大一样,否则centos在安装yum时无法使用:
createrepo --update -s sha1 -d -p -o /tmp /backup/yum.qr.XXX.net/centos/5/x86_64


------------------------------------------------------------------以下是来自网上的参考资料-----------------------------------------------------------

多个ISO文件怎样合并为一个ISO文件?我下载了几张比较小的ISO文件,想做进一张光盘里去,还要在光盘启动下运行?
解决办法:
1. 首先你必須要有一个很大的磁盘空间 大概要3.5g是空闲的 建立一个文件夹Createiso,然后把你的3个iso文件shrike-i386-disk1.iso,shrike-i386-disk2.iso,shrike-i386-disk3.iso放到Createiso中

2. 输入以下命令

   mkdir shrike-i386-disc{1,2,3} shrike-docs

   这是建立 shrike-i386-disc{1,2,3} 和 shrike-docs   这4个目录

3.将刚才放入Createiso中的3个iso镜像文件挂载到建立好的shrike-i386-disc{1,2,3} 这3个目录

mount -o ro,loop shrike-i386-disc1.iso shrike-i386-disc1

mount -o ro,loop shrike-i386-disc2.iso shrike-i386-disc2

mount -o ro,loop shrike-i386-disc3.iso shrike-i386-disc3

4 输入以下命令

   cp  -a shrike-i386-disc1/isolinux  shrike-i386-disc1/.discinfo  .

   这是copy shrike-i386-disc1里的isolinux和.discinfo这两个文档到此目录

5 编辑.discinfo文件  将第4行的 1 换成  1,2,3  以表示要用這三个disk iso

6 输入以下命令(以下整个是一条指令)

   mkisofs -o shrike-i386-dvd.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -m TRANS.TBL -x shrike-i386-disc1/.discinfo -x shrike-i386-disc1/isolinux -graft-points shrike-i386-disc1 .discinfo=.discinfo isolinux/=isolinux RedHat/=shrike-i386-disc2/RedHat RedHat/=shrike-i386-disc3/RedHat docs/=shrike-docs

最后生成shrike-i386-dvd.iso,大功告成.将shrike-i386-dvd.iso文件刻成DVD光盘,以后安装Red Hat 9.0时就不用换盘了,够酷吧!

注:mkisofs命令不是Linux系统自带的,用前需要先安装.文件名为

mkisofs-2.01.a19-0.i686.rpm 此文件可到以下地址下载:

http://rpmfind.net/linux/RPM/Pro ... edia_CD_Record.html

安装 rpm -ivh mkisofs-2.01.a19-0.i686.rpm 后,便可使用了!

来自:https://blog.csdn.net/dong_pongkk999/article/details/18137937

======================================================================================
合并 CentOS 6.8 的两个DVD镜像
1、创建相关目录:
mkdir -p /mnt/dvd1 /mnt/dvd2 /mnt/dvd3 /mnt/iso
说明:

/mnt/dvd1和/mnt/dvd2 用于挂载 Centos6.8原有的两个镜像ISO文件

/mnt/dvd3 合并后的镜像文件存放目录

/mnt/iso 制作号ISO镜像的存放目录

注意/ 目录磁盘空间是否够用,由于我这里磁盘不够,所以添加磁盘/dev/sdd,并挂载到/mnt/iso

2、挂载 Centos原来的两个镜像文件
mount /dev/sr0 /mnt/dev1  
     #/dev/sro 为原来镜像CentOS-6.8-x86_64-bin-DVD1


mount /dev/sr1 /mnt/dev2  
   #/dev/sr1 为原来镜像CentOS-6.8-x86_64-bin-DVD2

3、拷贝RPM文件
    首先, 复制第一张DVD(CentOS-6.8-x86_64-bin-DVD1)中的所有文件到 /mnt/dvd3 目录下然后, 只拷贝第二张 DVD 中 Packages 目录下的所有RPM文件到  /mnt/dvd3/Packages 目录下,由于第二张DVD(CentOS-6.8-x86_64-bin-DVD2)不能当做启动光盘,所以只需呀RPM文件即可。

cp  -av  /mnt/dvd1/*  /mnt/dvd3
cp  -v  /mnt/dvd2/Packages/*.rpm  /mnt/dvd3/Packages/

4、合并TRANS.TBL
cat  /mnt/dvd2/Packages/TRANS.TBL  >>  /mnt/dvd3/Packages/TRANS.TBL
mv  /mnt/dvd3/Packages/{TRANS.TBL,TRANS.TBL.BAK}
sort  /mnt/dvd3/Packages/TRANS.TBL.BAK  >  /mnt/dvd3/Packages/TRANS.TBL
rm  -rf  /mnt/dvd3/Packages/TRANS.TBL.BAK
dvd3已经是合并后的文件了,可以用作本地源和做成ISO使用。


5、备份原有YUM配置文件                                                                                                                

mkdir  /etc/yum.repo.d/repo.bak
cp /etc/yum.repo.d/*.repo  /etc/yum.repo.d/repo.bak

6、生成新的YUM配置文件
vim  /etc/yum.repos.d/base.repo
[base]
name=base
baseurl=file:///mnt/dvd3
gpgcheck=0
7、更新YUM源
yum clean all
yum upgrade

8、将 /mnt/dvd3/ 打包为 ISO
mkisofs  -l -J  -L  -r  -V  "CentOS-6.8-x86_64"  -o  /mnt/iso/CentOS-6.8-x86_64-DVD.iso  /mnt/dvd3
来自:http://www.178linux.com/74032
==========================================================================================

工具:UltraISO

1、修改CD1根目录下的.discinfo文件,其文件内容如下():
1047611055.799229
Red Hat Linux 9
i386
1(修改这一行,因为一共有3个CD,在1后面加上",2,3",引号不需要)
RedHat/base
RedHat/RPMS
RedHat/pixmaps

2、修改/RedHat/RPMS目录下的TRANS.TBL文件
此文件存放的是.rpm文件的信息,每张CD的/RedHat/RPMS目录下都有一个,修改的方法是将CD2、CD3中/RedHat/RPMS目录下的TRANS.TBL文件的内容复制到CD1中/RedHat/RPMS目录下的TRANS.TBL文件内容的后面,并用保存后的新文件替换掉CD1中TRANS.TBL原文件。

3、将CD2、CD3中/RedHat/RPMS目录下的所有.rpm格式的文件复制到CD1中/RedHat/RPMS目录下,最后保存就可以了

注意:修改CD1时最好先备份

来自: http://hi.baidu.com/aleonly/blog/item/4d08c8b43a3732788ad4b23c.html

合并 CentOS 6.8 的两个iso镜像:


作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/9709/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2018-4-9 16:47
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]