搭建一個基於http的yum服務器


基於httpyum服務器

在集群中搭建一個基於HTTPyum服務器,不僅安裝速度變快了許多,還能擴展自己定制的rpm包放入yum服務器中,其他服務器只需要正常使用yum install即可批量安裝統一經過定制的rpm包。這篇文章對習慣使用yum的人來說,以后對很多機器需要進行安裝軟件很方便

 

先安裝一個web軟件,apachenginx都可以,我使用的是nginx

nginx編譯安裝文檔 

http://www.cnblogs.com/czlun/articles/7119297.html

擴展(可選):

nginx開啟文件目錄列表顯示功能 

http://www.cnblogs.com/czlun/articles/7698504.html

 

開始搭建yum源服務器

第一步 創建目錄

web根目錄下創建centosplusextrasupdatesos四個目錄

mkdir -p /data/wwwroot/yum-server

#虛擬主機的路徑需要設置為該路徑

cd /data/wwwroot/yum-server

mkdir centosplus  extras  updates  os

#這四個目錄用來區分類型

for DIR in $(ls); do cd $DIR; mkdir Packages; cd ..; done

#分別在四個目錄下創建存儲rpm包的目錄

 

第二步 獲取rpm包

現在我們要獲取yum服務向外提供的rpm

方法一 下載iso,並從iso鏡像里拷貝(推薦)

wget http://mirror.nsc.liu.se/centos-store/7.2.1511/isos/x86_64/CentOS-7-x86_64-Everything-1511.iso

mount CentOS-7-x86_64-Everything-1511.iso /mnt

cp /mnt/Packages/* /data/wwwroot/yum-server/os/Packages/

方法二 利用rsync同步至本地(不推薦)

rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/os/x86_64/Packages/ /data/wwwroot/yum-server/os/Packages/

rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/extras/x86_64/Packages/ /data/wwwroot/yum-server/extras/Packages/

rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/updates/x86_64/Packages/ /data/wwwroot/yum-server/updates/Packages/

rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/centosplus/x86_64/Packages/ /data/wwwroot/yum-server/centosplus/Packages/

該方法不推薦的原因很簡單,慢。

 

第三步 創建倉庫

對三個目錄使用createrepo創建倉庫(生成repodata目錄)

yum install -y createrepo

createrepo -o /data/wwwroot/yum-server/os /data/wwwroot/yum-server/os/Packages/

createrepo -o /data/wwwroot/yum-server/extras /data/wwwroot/yum-server/extras/Packages/

createrepo -o /data/wwwroot/yum-server/updates /data/wwwroot/yum-server/updates/Packages/

createrepo -o /data/wwwroot/yum-server/centosplus /data/wwwroot/yum-server/centosplus/Packages/

 

#-o 指定repodata生成的目錄

此時yum服務器已經搭建完成

 

客戶端配置

cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

> /etc/yum.repos.d/CentOS-Base.repo

cat >> /etc/yum.repos.d/CentOS-Base.repo << eof

[base]

name=CentOS-$releasever - Base

baseurl=http://192.168.127.200/os/

enabled=1

gpgcheck=0

 

#released updates

[updates]

name=CentOS-$releasever - Updates

baseurl=http://192.168.127.200/updates/

enabled=1

gpgcheck=0

 

#additional packages that may be useful

[extras]

name=CentOS-$releasever - Extras

baseurl=http://192.168.127.200/extras/

enabled=1

gpgcheck=0

 

#additional packages that extend functionality of existing packages

[centosplus]

name=CentOS-$releasever - Plus

baseurl=http://192.168.127.200/centosplus/

enabled=1

gpgcheck=0

eof

 

yum clean all

yum makecache

#yum服務器內容修改了之后或者修改了yum源文件,客戶機需要重新建立緩存

#baseurl指向倉庫(repodata)所在的目錄

 

若是要保持本地yum源於網絡yum源同步,則可以將

rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/os/x86_64/Packages/ /data/wwwroot/yum-server/os/Packages/

rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/extras/x86_64/Packages/ /data/wwwroot/yum-server/extras/Packages/

rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/updates/x86_64/Packages/ /data/wwwroot/yum-server/updates/Packages/

rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/centosplus/x86_64/Packages/ /data/wwwroot/yum-server/centosplus/Packages/

加入定時任務。

 

鏡像站點與本地路徑對應的目錄:

http://mirrors.ustc.edu.cn/centos/7/的基礎上

os/x86_64/Packages/ 對應 /data/wwwroot/yum-server/os/Packages/

updates/x86_64/Packages/ 對應 /data/wwwroot/yum-server/updates/Packages/

extras/x86_64/Packages/ 對應 /data/wwwroot/yum-server/extras/Packages/

centosplus/x86_64/Packages/ 對應 /data/wwwroot/yum-server/centosplus/Packages/

 

yum服務器內容修改了之后,需要更新倉庫

createrepo --update /data/wwwroot/yum-server/os

createrepo --update /data/wwwroot/yum-server/centosplus

createrepo --update /data/wwwroot/yum-server/extras

createrepo --update /data/wwwroot/yum-server/updates

更新了倉庫,客戶機也需要重新建立緩存

yum clean all

yum makecache

 

到這里,我們的yum服務器及客戶機的配置都已經完成了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM