搭建一个基于http的yum服务器
基于http的yum服務(wù)器
在集群中搭建一個(gè)基于HTTP的yum服務(wù)器,不僅安裝速度變快了許多,還能擴(kuò)展自己定制的rpm包放入yum服務(wù)器中,其他服務(wù)器只需要正常使用yum install即可批量安裝統(tǒng)一經(jīng)過定制的rpm包。這篇文章對(duì)習(xí)慣使用yum的人來(lái)說(shuō),以后對(duì)很多機(jī)器需要進(jìn)行安裝軟件很方便
?
先安裝一個(gè)web軟件,apache或nginx都可以,我使用的是nginx
nginx編譯安裝文檔?:
http://www.cnblogs.com/czlun/articles/7119297.html
擴(kuò)展(可選):
nginx開啟文件目錄列表顯示功能?:
http://www.cnblogs.com/czlun/articles/7698504.html
?
開始搭建yum源服務(wù)器
第一步 創(chuàng)建目錄
在web根目錄下創(chuàng)建centosplus、extras、updates、os四個(gè)目錄
mkdir -p /data/wwwroot/yum-server
#虛擬主機(jī)的路徑需要設(shè)置為該路徑
cd /data/wwwroot/yum-server
mkdir centosplus? extras? updates? os
#這四個(gè)目錄用來(lái)區(qū)分類型
for DIR in $(ls); do cd $DIR; mkdir Packages; cd ..; done
#分別在四個(gè)目錄下創(chuàng)建存儲(chǔ)rpm包的目錄
?
第二步 獲取rpm包
現(xiàn)在我們要獲取yum服務(wù)向外提供的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/
該方法不推薦的原因很簡(jiǎn)單,慢。
?
第三步 創(chuàng)建倉(cāng)庫(kù)
對(duì)三個(gè)目錄使用createrepo創(chuàng)建倉(cāng)庫(kù)(生成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生成的目錄
此時(shí)yum服務(wù)器已經(jīng)搭建完成
?
客戶端配置
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
#當(dāng)yum服務(wù)器內(nèi)容修改了之后或者修改了yum源文件,客戶機(jī)需要重新建立緩存
#baseurl指向倉(cāng)庫(kù)(repodata)所在的目錄
?
若是要保持本地yum源于網(wǎng)絡(luò)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/
加入定時(shí)任務(wù)。
?
鏡像站點(diǎn)與本地路徑對(duì)應(yīng)的目錄:
在http://mirrors.ustc.edu.cn/centos/7/的基礎(chǔ)上
os/x86_64/Packages/?對(duì)應(yīng)?/data/wwwroot/yum-server/os/Packages/
updates/x86_64/Packages/?對(duì)應(yīng)?/data/wwwroot/yum-server/updates/Packages/
extras/x86_64/Packages/?對(duì)應(yīng)?/data/wwwroot/yum-server/extras/Packages/
centosplus/x86_64/Packages/?對(duì)應(yīng)?/data/wwwroot/yum-server/centosplus/Packages/
?
當(dāng)yum服務(wù)器內(nèi)容修改了之后,需要更新倉(cāng)庫(kù)
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
更新了倉(cāng)庫(kù),客戶機(jī)也需要重新建立緩存
yum clean all
yum makecache
?
到這里,我們的yum服務(wù)器及客戶機(jī)的配置都已經(jīng)完成了。
?
轉(zhuǎn)載于:https://www.cnblogs.com/czlun/articles/7702060.html
總結(jié)
以上是生活随笔為你收集整理的搭建一个基于http的yum服务器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于VB.net的电子邮件收发软件设计
- 下一篇: mysql日期格式化季度_mysql按年