1. 創(chuàng)建yum倉(cāng)庫(kù)目錄
mkdir -p /application/yum/centos6.6/x86_64/
cd /application/yum/centos6.6/x86_64/
rz ?# 上傳rpm包到此目錄,此目錄下面還可以包括文件夾
2. 安裝createrepo軟件
yum -y install createrepo
3. 初始化repodata索引文件
createrepo -pdo /application/yum/centos6.6/x86_64/ /application/yum/centos6.6/x86_64/
4. 提供yum服務(wù)
# 可以用Apache或nginx提供web服務(wù)往枣,但用Python的http模塊更簡(jiǎn)單粉渠,適用于內(nèi)網(wǎng)環(huán)境
cd /application/yum/centos6.6/x86_64/
python -m SimpleHTTPServer 80 &>/dev/null &
可以通過瀏覽器輸入本機(jī)IP查看。
5. 添加新的rpm包
# 只下載軟件不安裝
yumdownloader pcre-devel openssl-devel
createrepo --update /application/yum/centos6.6/x86_64/
# 每加入一個(gè)rpm包就要更新一下雕沉。
平時(shí)yum安裝軟件時(shí)不刪除安裝包
# cat /etc/yum.conf
keepcache=1
# 安裝包存儲(chǔ)目錄
cachedir=/var/cache/yum/$basearch/$releasever
# /var/cache/yum/x86_64/6/base/packages
6. 客戶端配置
# cd /etc/yum.repos.d
[root@B yum.repos.d]# vi oldboy.repo
[oldboy]
name=Server
baseurl=http://服務(wù)端IP
enable=1
gpgcheck=0
[root@YUM ~]# yum --enablerepo=oldboy --disablerepo=base,extras,updates,epel list
# 指定使用oldboy庫(kù)
上面是臨時(shí)使用內(nèi)網(wǎng)yum源坡椒,想永久并簡(jiǎn)單使用yum -y install lrzsz命令尤溜,就需要修改配置文件將默認(rèn)的repo文件關(guān)閉。
[root@oldboy ~]# cd /etc/yum.repos.d/
[root@oldboy yum.repos.d]# vim CentOS-Base.repo
# 在每一個(gè)啟動(dòng)的源加上
# enabled=0 ? #改為1就啟用丈攒,沒有此參數(shù)也是啟用梢睛。
[base]
…………
enabled=0
[updates]
…………
enabled=0
[extras]
…………
enabled=0
# 還有其他開啟的倉(cāng)庫(kù)就使用這個(gè)辦法關(guān)閉。
7. 鏡像yum源
上面只是將自己制作的rpm包,放入yum源藏畅。但還有一種企業(yè)需求,說的更具體一點(diǎn)愉阎,平時(shí)學(xué)生上課yum安裝軟件都是從公網(wǎng)下載的榜旦,占用帶寬,因此在學(xué)校里搭建一個(gè)內(nèi)網(wǎng)yum服務(wù)器澡屡,但又考慮到學(xué)生回家也要使用yum安裝軟件咐旧,如果yum軟件的數(shù)據(jù)庫(kù)文件repodata不一樣,就會(huì)有問題铣墨。因此我想到的解決方法就是直接使用公網(wǎng)yum源的repodata伊约。
鏡像同步公網(wǎng)yum源
上游yum源必須要支持rsync協(xié)議,否則不能使用rsync進(jìn)行同步腌逢。
http://mirrors.ustc.edu.cn/status/
CentOS官方標(biāo)準(zhǔn)源:rsync://mirrors.ustc.edu.cn/centos/
epel源:rsync://mirrors.ustc.edu.cn/epel/
同步命令:
# 使用rsync同步y(tǒng)um源疹尾,為了節(jié)省帶寬、磁盤和下載時(shí)間窍蓝,我只同步了CentOS6的rpm包繁成,這樣所有的rpm包只占用了21G,全部同步需要300G左右面睛。
# 同步base源尊搬,小技巧,我們安裝系統(tǒng)的光盤鏡像含有部分rpm包佛寿,大概3G,這些就不用重新下載常侣。
/usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/os/x86_64/ /data/yum_data/centos/6/os/x86_64/
/usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/extras/x86_64/ /data/yum_data/centos/6/extras/x86_64/
/usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/updates/x86_64/ /data/yum_data/centos/6/updates/x86_64/
# epel源
/usr/bin/rsync -av --exclude=debug rsync://mirrors.ustc.edu.cn/epel/6/x86_64/ /data/yum_data/epel/6/x86_64/
學(xué)生使用內(nèi)網(wǎng)yum源方法
# 可以自建一個(gè)內(nèi)網(wǎng)dns胳施,如果沒有,可使用hosts解析焦辅。
echo '192.168.0.200 mirrors.aliyun.com' >>/etc/hosts
結(jié)果展示
[root@KVM data]# du -sh yum_data
21G ? ? yum_data
[root@KVM data]# tree -L 3 yum_data/
yum_data/
├── centos
│ ? ├── 6
│ ? │ ? ├── extras
│ ? │ ? ├── os
│ ? │ ? └── updates
│ ? └── RPM-GPG-KEY-CentOS-6
├── epel
│ ? └── 6
│ ? ? ? └── x86_64