金融武功之“六脈神劍”--創建YUM本地源倉庫
一.環境
centos6.8
關閉selinux iptables
關閉防火墻
CentOS-6.8-x86_64-bin-DVD1.iso
CentOS-6.8-x86_64-bin-DVD2.iso
二.步驟:
合並 CentOS 6 的兩個DVD鏡像
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
rm -rf /mnt/dvd3/Packages/TRANS.TBL.BAK
dvd3已經是合並後的文件了,可以用作本地源和做成ISO使用。
5、備份YUM配置文件
cd /etc/yum.repos.d
rename .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
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的後綴的,就可以正常使用了。
Unable to read package metadata.This may be due to a missing repodata directory.Please ensure that your insert tree has been correctly generated.failure:repodata/repomd.xml from anaconda:[Ermo 256]No more mirrors to try.
附件中是我自己寫的腳本,可以直接使用
金融武功之“六脈神劍”--創建YUM本地源倉庫