1. 程式人生 > >搭建本地yum源服務器

搭建本地yum源服務器

yum源

  yum源的搭建可分為兩種方法:

  1. 使用本地鏡像進行搭建,鏡像中的rpm版本比較舊

    1. 搭建Apache服務器

    2. 掛載ISO鏡像,將鏡像中的包放至Apache服務器目錄下

  2. 用yum源服務器的包同步到本地

    1. 在Apache服務器目錄下建立對應目錄

    2. 用rsync同步

一、使用本地鏡像

搭建Apache服務器

  使用yum安裝,安裝目錄是/etc/httpd/,安裝完畢後修改/etc/httpd/conf/httpd.conf文件。

啟動Apache服務

#/etc/init.d/httpd start

如果開啟了防火墻,添加防火墻規則

iptables -A INPUT -p tcp --dport 80 -j ACCEPT。註意,你在Apache中配置開放了那個端口,iptables就允許那個端口進入,iptables設置完畢,使用/etc/init.d/iptables save保存。

  2、掛載鏡像

  進入/var/www/html/目錄,創建Centos6目錄,在centos目錄下,創建extra,update,x86_64三個平行目錄。

  將centos6的鏡像掛載到某一目錄下,然後將Packages目錄中的所有包都拷貝至/usr/local/apache/htdocs/x86_64下。

  依次對三個目錄進行createrepo操作,目的是生成repodata目錄,自動創建索引信息。

[[email protected] ~]# yum install createrepo -y

  [[email protected] ~]# createrepo -pdo /var/www/html/Centos6.6/extra /var/www/html/Centos6.6/extra

  [[email protected] ~]# createrepo -pdo /var/www/html/Centos6/x86_64 /var/www/html/Centos6/x86_64

  [[email protected] ~]# createrepo -pdo /var/www/html/Centos6/updates /var/www/html/Centos6/updates

  執行完畢後在x86_64、extra、updates下自動生成了repodata目錄,此時yum源已經搭建完畢。

  3、客戶端訪問yum源服務器

  查詢yum源服務器的ip地址,然後在客戶端的/etc/yum.repos.d創建base.repo文件.這裏需要特別註意,如果Apache服務器開啟的端口不是80端口,那麽在寫baseurl的時候需要將端口號寫出來,否則客戶端默認訪問的80端口!

[[email protected] yum.repos.d]# cat base.repo

[base]

name=local

baseurl=http://172.16.0.253:80/Centos6/x86_64

enable=1

gpgcheck=0

[extra]

name=local

baseurl=http://172.16.0.253:80/Centos6/extra

enable=1

gpgcheck=0

[updates]

name=local

baseurl=http://172.16.0.253:80/Centos6/updates

enable=1

gpgcheck=0

  此時整個過程已經完畢,客戶端可以使用yum安裝軟件包。如果有新的包添加進了x86_64、extra、updates的任意一個目錄中,都需要createrepo --update dir來更新yum源服務器的索引。客戶端也需要yum makecache一下。

二、使用yum源服務器

  之前說過ISO鏡像中的軟件包過於陳舊,那麽可以將其他yum源服務器的包同步到本地,可以使用rsync命令直接鏡像過來

http://mirror.nsc.liu.se/centos-store

  http://mirrors.neusoft.edu.cn

  具體鏡像方法:

  1、進入本地yum源服務器需要鏡像的目錄

  2、訪問http://mirror.nsc.liu.se/centos-store目錄可以發現有很多的數字目錄,這些都是不同的centos版本

  3、進入到對應版本的目錄  

  4、找到正確的路徑後就可以開始同步了

  在本地yum源服務器上輸入

[[email protected] yum.repos.d]# rsync -avrt --delete rsync://mirror.nsc.liu.se/centos-store/6.6/extras/x86_64/Packages/ /var/www/html/Centos6/extra

-a --archive 歸檔模式,表示以遞歸方式傳輸文件,並保持所有文件屬性,

-v 傳輸時的進度等信息

-r, --recursive 對子目錄以遞歸模式處理

--delete是指如果服務器端刪除了這一文件,那麽客戶端也相應把文件刪除,保持真正的一致

這樣會刪除目錄下與同步網站不相同的文件,然後從網址上將rpm包同步下來

  同步完畢後使用createrepo --update /var/www/html/Centos6/extra更新索引。


本文出自 “炸醬面” 博客,請務必保留此出處http://yangzhuo.blog.51cto.com/6038033/1956397

搭建本地yum源服務器