本地制作centos源

背景

在安裝openshift origin時,經常會出提示無法下載某個包。

而通過手動yum install的時候是可以。

因此決定把openshift使用的centos的包,全部下載到本地,做一個本地源

實現方法:

1)確保/etc/yum.repos.d/的repo文件是centos安裝時候默認提供的,如下所示

#? ll /etc/yum.repos.d/

total 40

-rw-r--r--. 1 root root 1664 Dec5 15:12 CentOS-Base.repo

-rw-r--r--. 1 root root 1309 Dec5 14:26 CentOS-CR.repo

-rw-r--r--. 1 root root649 Dec5 14:26 CentOS-Debuginfo.repo

-rw-r--r--. 1 root root630 Dec5 14:26 CentOS-Media.repo

-rw-r--r--. 1 root root887 Dec5 14:26 CentOS-OpenShift-Origin.repo

-rw-r--r--. 1 root root 1331 Dec5 14:26 CentOS-Sources.repo

-rw-r--r--. 1 root root 3830 Dec5 14:26 CentOS-Vault.repo

-rw-r--r--. 1 root root314 Dec5 14:26 CentOS-fasttrack.repo


2確認需要下載的倉庫名

#cat/etc/yum.repos.d/CentOS-Base.repo | less

[base]--倉庫名。

name=CentOS-$releasever - Base

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra

#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7


3)創建需要下載的倉庫的list文件,如下所示。

# cat repo.name

centos-openshift-origin

base

updates

extras

上述的倉庫名,請根據步驟2確認,填入自己需要下載的倉庫名


4)創建下載倉庫的腳本:update-repo.sh,腳本內容如下

``` disable_all_repo()

{

for repo_file in `find /etc/yum.repos.d/ -maxdepth 1 -type f`

do

sed -i? 's#enabled=1#enabled=0#g' $repo_file

sed -i 's#enabled = 1#enabled? = 0#g' $repo_file

done

}

date=`date +%F`

log_path="/repo_tools/log/$date"

mkdir -p $log_path

ftp_path="/centos-repo"--需要確保該目錄所在的分區足夠大>10GB

disable_all_repo

repo_list_file="/centos-repo/repo.name"

for repo_id in `cat $repo_list_file`

do

if [ ! -d "$ftp_path/$repo_id" ];then

mkdir $ftp_path/$repo_id

fi

yum-config-manager --enable $repo_id

for((i=0;i<20;i++))

do

cat /dev/null>error.msg

cat /dev/null>tmp.txt

reposync-r $repo_id -p $ftp_path 2>&1 |tee? tmp.txt

grep -a Errno tmp.txt >? error.msg

if [ -s? "./error.msg" ]

then

continue

else

break

fi

done

if [ $i -eq 50 ]

then

touch $log_path/fail

mv error.msg? $log_path/$repo_id

else

createrepo --update? $ftp_path/$repo_id

fi

rm -f error.msg

rm -f tmp.txt

done

if [ ! -f $log_path/fail ]

then

touch $log_path/success

```


5)執行update-repo.sh腳本下載倉庫。

# ./update-repo.sh


6)下載完成后確認倉庫是否下載成功。

ll? /centos-repo/

total 12

drwxr-xr-x. 3 root root22 Dec5 14:44 base

drwxr-xr-x. 3 root root 4096 Dec5 14:44 centos-openshift-origin

drwxr-xr-x. 3 root root22 Dec5 15:12 extras

-rw-r--r--. 1 root root44 Dec5 14:25 repo.name

-rw-r--r--. 1 root root 1304 Dec5 14:21 update-repo.sh

drwxr-xr-x. 3 root root22 Dec5 15:05 updates


7)創建本地鏡像repo文件。

#? cd /centos-repo/base/Packages

#rpm -ivh? deltarpm-3.6-3.el7.x86_64.rpm

# rpm? -ivh python-deltarpm-3.6-3.el7.x86_64.rpm

# rpm? -ivh createrepo-0.9.9-28.el7.noarch.rpm

#? createrepo --update /centos-repo/base/--創建repo

Could not find valid repo at:? /centos-repo/base/

Spawning worker 0 with 2398 pkgs

Spawning worker 1 with 2398 pkgs

Spawning worker 2 with 2398 pkgs

Spawning worker 3 with 2397 pkgs

Workers Finished

Saving Primary metadata

Saving file lists metadata

Saving other metadata

Generating sqlite DBs


8檢查創建本地鏡像repo文件。

# cd /centos-repo/base/

# ll

total 664

drwxr-xr-x. 2 root root 532480 Dec5 15:04 Packages

drwxr-xr-x. 2 root root4096 Dec7 06:42repodata

9制作本地yum源,修改/etc/

#? cd /etc/yum.repos.d/

ll(只保留一個)

-rw-r--r--. 1 root root 574 Dec8 05:36 centos.repo

#cat centos.repo(按照如下的內容配置)

[base]

name = base

baseurl = file:///centos-repo/base

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[updates]

name = updates

baseurl = file:///centos-repo/updates

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[extras]

name=CentOS-$releasever - Extras

baseurl=file:///centos-repo/extras

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[centos-openshift-origin]

name=CentOS OpenShift Origin

baseurl=file:///centos-repo/centos-openshift-origin/

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-PaaS

# yum

cleanall

10)配置nfs服務

#? cat /etc/exports

/centos-repo/(rw,sync,all_squash,anonuid=99,anongid=99)

#? exportfs

/centos-repo

#? systemctl enable nfs-server

# systemctl start nfs-server

12)在客戶端掛載nfs目錄

#mount -t nfsmaster.example.com:/centos-repo/centos-repo

13)客戶端設置開機自動掛載

#? cat /etc/exports

master.example.com:/centos-repo/centos-reponfsdefaults0 0

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,406評論 6 538
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,034評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,413評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,449評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,165評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,559評論 1 325
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,606評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,781評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,327評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,084評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,278評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,849評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,495評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,927評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,172評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,010評論 3 396
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,241評論 2 375

推薦閱讀更多精彩內容