将Centos6两个dvd文件打包成一个带启动引导的ISO文件

Cenos6系列版本,官网提供的镜像文件都是两个,dvd1和dvd2,像下面这样,其中dvd1有大部分常用功能,dvd2可以说是一些扩展。但如果我们要安装一个everything的完整镜像,就需要将他们打包成一个了。此外,如果是制作本地ISO像YUM源,如果只挂载dvd1,就算yum repolist显示有六千多个,但是实际上只有三千多个, 另外三千多在dvd2中。
在这里插入图片描述
以下记录一下步骤(制作6.9的):

  1. 下载两个dvd文件:这里地址就不贴了,网上一大把,也可去官网下载。
  2. 关机将添加两个光盘:依次选择dvd1、dvd2。注意检查右下角光盘是否连接。

在这里插入图片描述
在这里插入图片描述
3. 挂载
因为没有其他光盘,所以dvd1、dvd2对应的/dev/sr0和/dev/sr1,
mkdir -p /mnt/cdrom{1,2} #创建文件夹用来挂载
mount /dev/sr0 /mnt/cdrom1
mount /dev/sr1 /mnt/cdrom2
在这里插入图片描述
4. 然后将dvd1和dvd2中的文件复制到同一个文件中

mkdir /centos6.9
/usr/bin/cp -r /mnt/cdrom1/. /centos6.9/
/usr/bin/cp -r /mnt/cdrom2/. /centos6.9/

注意:如果你用的root用户操作的话,cp实际上为cp -i别名,因为dvd1和dvd2中有重复的文件,直接用cp会一直提示你override,所以这里建议用/usr/bin/cp,用cp的全路径。
再看一下复制完成后的centos6.9文件夹,现在就有5.8G了。
在这里插入图片描述
5. 打包
这里的打包分两种:
(1)只是用来制作本地yum源
(2)不仅要当yum源,还要能作为启动盘
针对(1),借助mkisofs工具(如果你是minimal安装的话,那这个软件还需要提前装好)mkisofs -r -o CentOS-6.9-x86_64-bin-DVD.iso /centos6.9/ ##其中-o参数时指定iso名称,-r是开放全部文件的读取权限,/centos6.9就是上一步用来装dvd全部文件的路径啦
然后等进度条走完,毕竟那么大的文件,也要处理一会会
在这里插入图片描述
再用ls查看一下,目标文件就在当前目录下生成了,此时可以拿来当yum源光盘挂载了。
在这里插入图片描述
上面这个操作还不能直接用来当启动盘,要达到(2)的目标,需要借用官网的一个脚本 mkdvdiso.sh,下载地址为https://wiki.centos.org/TipsAndTricks/CDtoDVDMedia对于可以连网的linux系统来说,可以直接使用wget 下载下来,也可自己建立一个同名文件,将脚本内容复制上去,或者windows下载下来,利用rz工具传过来,anyway,随你自己喜好。
如下:
在这里插入图片描述
这个脚本的运行需要isomd6sum包支持,所以运行脚本前需要安装这个包

yum install isomd5sum

注:如果你到这里yum源有点问题,可以安装上面dvd1和dvd2中的包,这里有两种方法,一种是直接进入 /centos6.9/Packages/中去安装,另一种临时修改一下vim/etc/yum.repos.d/redhat.repo(反正是repo后缀的文件),既然改了yum源,就要执行一下yum clean all清除一下缓存,再执行install。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
现在安装好了,去你mkdvdiso.sh所在目录,执行

bash mkdvdiso.sh /centos6.9 /var/centos6.9-x86_64-everything.iso

在这里插入图片描述
不过我这里用的是rhel7.4,执行报错了,查看脚本,发现有如下指令:
在这里插入图片描述
在这里插入图片描述
这里就比较尴尬了,这个脚本不适用7,于是我参照这一段对6的处理,也检查了这个目录,7里/usr/bin/下还是有这个文件的,故增加了一段,如下:
在这里插入图片描述
再执行,这个错过去了,但是又出现另一个,说我的目录里面没有.discinfo文件。
在这里插入图片描述
于是又检查一遍目录,发现还真没有,仔细想想,发现问题出在了cp操作上,/usr/bin/cp -r /mnt/cdrom1/* /centos6.9/这条指令并不会复制cdrom1下的隐藏文件,而.discinfo就是隐藏文件,因此还要执行一下/usr/bin/cp -a /mnt/cdrom1/. /centos6.9/

/usr/bin/cp -a /mnt/cdrom2/. /centos6.9/

把隐藏文件也复制过去。如果要复制所有文件包括隐藏文件,则不能用*,要用.
在这里插入图片描述
再来ls看一下,就有了在这里插入图片描述
所以再次执行mkdvdiso.sh脚本:bash /root/mkdvdiso.sh /centos6.9/ /root/centos6.9-x86_64-everything.iso

在这里插入图片描述
在这里插入图片描述
显示成功,大功告成!
在这里插入图片描述
最后,如果需要将linux中打包好的这个iso文件到处到windows上面,直接用lrzsz的sz centos6.9-x86_64-everything.iso 是行不通的,sz限制4G以内。所以这里需要将这个5.8G的文件拆开,用split,传输到windows中,再拼起来。这里就不再赘述了,需要的小伙伴自己试试吧。毕竟这里打个压缩文件都这么慢。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值