标题:[实践OK]多个ISO文件怎样合并为一个ISO文件(Linux下的操作),合并 CentOS 6.8 的两个iso镜像,如何将RedHat Linux 9.0三张镜像光盘合并成一张,将Linux的三张ISO版CD镜像的合并成一个DVD光盘。 出处:向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除 时间:Mon, 09 Apr 2018 14:33:04 +0000 作者:jackxiang 地址:http://jackxiang.com/post/9709/ 内容: 背景:一个低版本的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 if [[ $releasever == "5" ]]; then opts="--update -s sha1 -d -p -o" else opts="--update -d -p -o" fi ------------------------------------------------------------------以下是来自网上的参考资料----------------------------------------------------------- 多个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镜像: Generated by Jackxiang's Bo-blog 2.1.1 Release