[轉載]搭建yum源伺服器

作者:github.com/361way

鏈接:搭建yum源伺服器 - 運維之路

來源:Leanote官方博客運維之路 - 關注Linux運維技術及互聯網的IT科技博客

著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

搭建yum源伺服器

在生產環境中,受到網路環境的影響,伺服器可能帶寬有限,連外網速度較慢或者區域網內的某些機器由於安全的限制,本身就不允許和外網和任何的連接。而這時候現在通過yum安裝包或update包時就是一件比較麻煩的事。不過這個問題可以通過在本地自建yum源來解決 。

一、http的安裝

yum源可以通過http、ftp、nfs等方式去防問,不過由於nfs由於自身的安全性問題,不推薦用。而ftp有主動/被動模式的問題,配置不當也會造成有無法訪問的問題 。所以推薦以web的方式提供yum源 。常見的web server很多,有nginx、apache、lighthttp等,不過由於centos源中帶的是apache(其中發行版中,也大都帶的有apache),所以本處以apache為例:

yum -y install httpd http-develnservice httpd startncheckconfig httpd onn

以上操作就完成了apache的安裝、啟動及開機自啟動。

二、createrepo的安裝及使用

createrepo是yum源維護的工具。其安裝命令如下:

yum -y install createrepon

creatrepo帶的參數非常多,不過我們平時用的比較多的就兩條。一條是創建yum install的 repodata數據,一條是創建yum update 的 repodata數據。

1、創建install 數據

createrepo -p -d -o yum/centos/6/x86_64 yum/centos/6/x86_64n

執行以上命令後,會在x86_64目錄下創建repodata目錄,這個就是yum源的Meta索引數據和資料庫文件,有了這個,yum就可以和這個「源」進行「數據信息」了 。

2、創建update數據

createrepo --update local-yum/ # 更新本地源n

有時候你的軟體倉庫中含有很多的軟體包,雖然只是其中的一小部分有所改動但是你卻不必為每個軟體包重新產生元數據,這樣做明顯太浪費時間了。這時就可以使用--update參數創建update索引數據文件 。

三、創建yum源

將iso鏡像文件掛載並將文件複製到web server目錄並通過createrepo更新索引數據 。

mkdir -p /var/www/html/centos6.4/x86_64nmount -t iso9660 /root/centos6.4.iso /mnt -o loopncp -rp /mnt/* /var/www/html/centos6.4/x86_64/ncd /var/www/html/ncreaterepo -p -d -o centos6.4/x86_64/ centos6.4/x86_64/n

以上幾步就完成了yum源的創建,如果想把其他軟體也加入源中,如nginx 、JDK(非openjdk版的)、varnish等加入到源,可以再別建一個extra目錄。在客戶端主機上中增加以上源:

cd /etc/yum.repos.dnvim test.repon[base]nname=centos6nbaseurl=http://192.168.0.254/centos6.4/x86_64ngpgcheck=0n[extra]nname=centos-extranbaseurl=http://192.168.0.254/centos6.4/extrangpgcheck=0n

本處是新增了一個repo文件,也可以直接修改CentOS-Base.repo文件 。但無論是修改還是新增,需要保證的是文件名必須是以.repo結尾的。

更新源了以後,有時發現會無法使用。這時需要在客戶機上執行以下命令清理以前的源數據:

yum clean alln

註:如果想要和現網上的源文件保持一致,還可以通過rsync進行同步。


推薦閱讀:

軟體一定要更新到最新嗎?
Fedora 15更新之後不能上網了,說是網路管理器不兼容,請問怎麼解決?
為什麼專業做PPT的都用最高版本?Microsoft office 版本升級的意義何在?
如何便捷地更新電腦上的軟體?

TAG:CentOS | 软件更新 | 服务器 |