1. 程式人生 > >金融武功之“六脈神劍”--創建YUM本地源倉庫

金融武功之“六脈神劍”--創建YUM本地源倉庫

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本地源倉庫