1. 程式人生 > >Centos7下自建yum源並同步阿里雲映象的rpm包

Centos7下自建yum源並同步阿里雲映象的rpm包

一、安裝相關軟體
yum install -y wget make cmake gcc gcc-c++  &&\
yum install -y pcre-devel lib zlib-devel  \
    openssl openssl-devel createrepo yum-util
二、編譯安裝nginx
相關文章檢視Centos7下nginx-1.12.2編輯安裝與指令碼安裝的記錄
三、建立索引
mkdir /opt/yum/centos/7/os/x86_64/
createrepo /opt/yum/centos/7/os/x86_64/
四、配置nginx
server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /opt/yum/centos/7/os/x86_64/;  ##這裡

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
               ##這裡
               autoindex on;
               autoindex_exact_size off;
               autoindex_localtime on;
               index index.html;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
五、同步相關包
1、設定阿里雲映象為本地yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
2、選擇指定倉庫標識作為本地yum源:
yum repolist檢視yum倉庫標識
3、將阿里雲中的epel源同步到本地/opt/yum/centos/7/os/中;第一次同步是時間可能較長,我這裡有9911個rpm包。
reposync -r base -p /opt/yum/centos/7/os/
指令碼自動更新
vi /root/yum-update.sh
#!/bin/bash
datetime=`date +"%Y-%m-%d"`
exec > /var/log/centosrepo.log
reposync -d -r base -p /opt/yum/centos/7/os/
#同步映象源
if [ $? -eq 0 ];then
    createrepo --update  /opt/yum/centos/7/os/x86_64
    #每次新增新的rpm時,必須更新索引資訊
echo "SUCESS: $datetime epel update successful"
else
echo "ERROR: $datetime epel update failed"
fi

定時任務:每週二凌晨三點同步yum源
crontab -e
0 2 * * 3 /bin/bash /root/yum-update.sh
4、更新索引
createrepo --update /opt/yum/centos/7/os/x86_64/
5、清理快取資料
yum clean all && yum makecache
6、編寫repo檔案
vim /etc/yum.repos.d/feiyu-7.repo內容如下
[feiyu]
name=centos-feiyu
baseurl=http://192.168.0.27/centos/releasever/os/basearch/
enabled=1
gpgcheck=0