1、相关目录:
/mnt/dvd1和/mnt/dvd2 用于挂载 Centos 镜像
/mnt/dvd3 合并后的镜像文件
/mnt/iso ISO储存
mkdir -p /mnt/dvd1 /mnt/dvd2 /mnt/dvd3 /mnt/iso
2、上传 Centos 镜像到服务器,挂载 Centos 镜像文件
mount -o loop/mnt/iso/CentOS-6.5-x86_64-bin-DVD1.iso /mnt/dvd1
mount -o loop /mnt/iso/CentOS-6.5-x86_64-bin-DVD2.iso/mnt/dvd2
3、拷贝文件
首先, 拷贝第一张DVD中的所有文件到 /mnt/dvd3 目录下,然后, 只拷贝第二张 DVD 中Packages 目录下的所有RPM文件到 /mnt/dvd3/Packages 目录下
cp -av /mnt/dvd1 /mnt/dvd3
cp -v /mnt/dvd2/Packages/*.rpm /mnt/dvd3/Packages/
4、合并TRANS.TBL
将DVD2中TRANS.TBL的信息追加到DVD1中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
(sort排序/mnt/dvd3/Packages/TRANS.TBL.BAK文件后将结果输出到/mnt/dvd3/Packages/TRANS.TBL)
rm -rf /mnt/dvd3/Packages/TRANS.TBL.BAK
dvd3已经是合并后的文件了,可以用作本地源和做成ISO使用。
5、备份YUM配置文件
cd /etc/yum.repos.d
mv *.repo *.repo.bak (*代表repo文件名)
6、生成新的YUM配置文件
vi /etc/yum.repos.d/CentOS-Media.repo
[c6-media]
name=CentOS-\$releasever - Media
baseurl=file:///mnt/dvd3
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
7、更新YUM源
yum clean all 清空缓存
yum upgrade 更新yum源
yum repolist 查看yum源包数
8、将 /mnt/dvd3/ 打包为 ISO
mkisofs -l -J -L -r -V "CentOS-6.*-x86_64" -o /mnt/iso/CentOS-6.*-x86_64-DVD.iso /mnt/dvd3
9、解压iso镜像要使用UltraISO,不能使用RAR
不知道是RAR的问题还是镜像文件的的虚拟目录文件引起的,当使用RAR解压镜像文件的时候,repodata文件夹内的文件 *.gz 会变成没有后缀的文件,所以用作源的时候,就会报错。你可以给每个文件都加gz的后缀就会没有问题了。但你也可以使用UltraISO提取出来的文件是正常有*.gz的后缀的,就可以正常使用了。