搭建本地yum源服務器

  很久沒寫博客了,最近比較動盪,臨畢業時跳了個槽,感受以前作的金融方向的運維不是很適合我,對各方面的限制仍是太多。金融的IT對於安全彷佛要求很高,雲盤,U盤都不能用,還要常常給客戶作產品實施,對於linux方面涵蓋的不是不少,更側重於硬件,好比會購買高端交換機,萬兆網卡,硬件防火牆等等。作的時間久了愈來愈感受是個IDC維護的(沒有看不起IDC運維的意思),並且還有不少時間是在作產品測試。。。這與我規劃的運維方向差太多了,沒辦法,只能換公司。了。  html

  目前在新浪閱讀作助理運維,來以後第一感受就是自由,上班一個小時的彈性時間,各類盤隨便用,固然免費飲料是必不可少的,來的第一天心裏就在想,互聯網公司畢竟是互聯網公司啊。最近接觸了yum源搭建和源碼打包rpm,yum源搭建之前也作過,不過此次作了有了更多的理解,之前只是純粹的死記,打包rpm就很煩了,deb包的製做是很方便快捷的,rpm包得書寫規則實在是頭疼。先講講使用http搭建yum源吧。linux

  yum源的搭建可分爲三步:①搭建Apache服務器②掛載ISO鏡像,將鏡像中的包放至Apache服務器目錄下③ISO鏡像的包比較老舊,能夠定時同步其餘源中的包到本地apache

  一、搭建Apache服務器centos

  此步隨便使用yum安裝仍是源碼編譯安裝均可以,只要在後面將包正確的放置到httpd的目錄中便可安全

  我使用的是編譯安裝,安裝目錄是/usr/local/apache,安裝完畢後修改/usr/local/apache/conf/httpd.conf文件,將DocumentRoot的/var/www/html改成服務器

/usr/local/apache/htdocs,說明後面我會將個人包放在/usr/local/apache/htdocs目錄下。架構

  /usr/local/apache/bin/apachectl -k start啓動Apache服務,iptables -A INPUT -p tcp --dport 10001 -j ACCEPT,注意,你在Apache中配置開放了那個端口,iptables就容許那個端口進入,iptables設置完畢,使用/etc/init.d/iptables save保存。運維

  二、掛載鏡像tcp

  進入/usr/local/apache/htdocs目錄,建立centos目錄,在centos目錄下,建立extra,update,x86_64三個平行目錄。測試

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

  操做完畢後,如圖所示:

  

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

  createrepo -pdo /usr/local/apache/htdocs/x86_64 /usr/local/apache/htdocs/x86_64

  createrepo -pdo /usr/local/apache/htdocs/extra /usr/local/apache/htdocs/extra

  createrepo -pdo /usr/local/apache/htdocs/update /usr/local/apache/htdocs/updates

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

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

  查詢yum源服務器的ip地址,而後在客戶端的/etc/yum.repos.d建立base.repo文件.這裏須要特別注意,若是Apache服務器開啓的端口不是80端口,那麼在寫baseurl的時候須要將端口號寫出來,不然客戶端默認訪問的80端口!

  

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

  

  TIPS:

  以前說過ISO鏡像中的軟件包太陳舊了,同時,ISO的包也只有6000個左右,不是不少,那麼能夠將其餘yum源服務器的包同步到本地,可使用rsync命令直接鏡像過來,在此提供幾個支持rsync同步的網站

  http://mirrors.kernel.org
  http://rsync.mirrors.ustc.edu.cn
  http://mirrors.neusoft.edu.cn

  具體鏡像方法:

  一、進入本地yum源服務器的某個要鏡像的目錄,好比/usr/local/apache/htdocs/extra目錄

  二、訪問http://mirrors.kernel.org/centos/目錄能夠發現有不少的數字目錄,這些都是不一樣的centos版本

  

  三、進入6目錄,能夠看到有好幾個目錄

  

  通常咱們要同步的是os(與本地yum源的x86_64對應)、updates、extras,固然你也能夠所有同步。咱們目前要同步extras目錄,那麼就進入extras目錄,選擇適合本身的路徑,我是x86_64架構的電腦,進入x86_64,全部的包都在Packages下,以下圖:

  

  四、找到正確的路徑後就能夠開始同步了

  在本地yum源服務器上輸入rsync -avrt --delete rsync://mirrors.kernel.org/centos/6/extras/x86_64/Packages/ /usr/local/apache/htdocs/centos/extra

  同步完畢後使用createrepo --update /usr/local/apache/htdocs/centos/extra更新索引。

 

  還有一點就是客戶端的repo文件的baseurl是很靈活的,你甚至能夠在不一樣的模塊寫不一樣的鏈接,只要你寫的url的源可使用就沒問題。

相關文章
相關標籤/搜索