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-utils和createrepo提供reporsync服務和建立repo索引目錄功能:
[root@localhost ~] yum -y install yum-utils createrepo
5、同步源
[root@localhost ~]# reposync -r epel -p /software/centos7yum/epel
(base,extra,updates同理)
6、createrepo 命令創對/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 all、yum makecache:
9、為保證本地yum源能和阿里雲映象源同步,可以通過指令碼定時任務實現(如果跳板機子可以出外網的話,不行的話就沒法子了):
vim /root/yum-update.sh
- #!/bin/bash
- datetime=`date +"%Y-%m-%d"`
- exec > /var/log/epel.log #同步日誌輸出
- reposync -d -r epel -p /var/www/html/ #同步映象源
- if [ $? -eq 0 ];then
- createrepo --update /var/www/html/epel #每次新增新的rpm時,必須更新epel索引資訊
- echo "SUCESS: $datetime epel update successful"else
- echo "ERROR: $datetime epel update failed"fi
10.#定時任務:每週六凌晨三點同步yum源
11.crontab -e
12.3 * * 6 /bin/bash /root/yum-update.sh