1. 程式人生 > >centos7內網源站建設

centos7內網源站建設

centos7內網源站建設

1、部署環境:

系統:Centos7 x86_64

應用服務:nginx、createrepo、reposync

映象源:https://mirrors.aliyun.com/repo/epel-7.repo

2、現在阿里雲映象源repo檔案到本地:

[root@localhost ~] wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

3、安裝nginx服務,用於提供存放yum源:

[root@localhost ~] yum -y install nginx

4、安裝yum-utilscreaterepo提供reporsync服務和建立repo索引目錄功能:

[root@localhost ~] yum -y install yum-utils createrepo

5、同步源

[root@localhost ~]# reposync -r epel -p /software/centos7yum/epel

(base,extra,updates同理)

6createrepo 命令創對/software/centos7yum/epel下的 rpm 建立為本地的 YUM 倉庫,目的是為生成repodata目錄並自動建立索引資訊

[root@localhost ~]# createrepo -pdo /software/centos7yum/epel /software/centos7yum/epel  #第一個目錄是repodata存放目錄,第二個目錄是需要生成索引資訊yum源倉庫目錄

(base,extra,updates同理)

7、驗證本地yum源是否能正常使用:

vim /etc/yum.repos.d/epel-7.repo內容如下

[epel]

name=local epel

baseurl=http://yum源伺服器IP/epel

enabled=1

gpgcheck=0

備份其他repo檔案至/etc/yum.repos.d/repobak目錄下,以防影響測試:

8、執行yum clean allyum makecache

9、為保證本地yum源能和阿里雲映象源同步,可以通過指令碼定時任務實現(如果跳板機子可以出外網的話,不行的話就沒法子了):

vim /root/yum-update.sh

  1. #!/bin/bash
  2.  
  3. datetime=`date +"%Y-%m-%d"`
  4. exec > /var/log/epel.log  #同步日誌輸出
  5. reposync -d -r epel -p /var/www/html/    #同步映象源
  6. if [ $? -eq 0 ];then
  7.     createrepo --update  /var/www/html/epel   #每次新增新的rpm時,必須更新epel索引資訊
  8.     echo "SUCESS: $datetime epel update successful"else
  9.     echo "ERROR: $datetime epel update failed"fi

10.#定時任務:每週六凌晨三點同步yum源

11.crontab -e

12.3 * * 6 /bin/bash /root/yum-update.sh