基於cobbler搭建本地的yum倉庫源
前面的文章已經大致描述並配置了通過cobbler服務結合PXE+Kickstart+DHCP+TFTP+HTTP無人值守安裝多系統的自動化運維安裝系統服務;利用這一特性,cobbler還有一個妙用,用來搭建(同步)本好的yum源倉庫;用來統一安裝更新本地的(IDC)系統軟件與第三方軟件倉庫;
需要用到的無非還是cobbler rsync httpd,本文是線上部署時的整理筆記,旨在備忘與分享,如有錯誤和遺漏歡迎指正~
安裝配置:
由於基於cobbler所以請參考前前方自動化運維之cobbler安裝多版本系統
因此只介紹如何基於httpd服務同步更新源,需要安裝的cobbler及配置,httpd安裝啟動好即可配置成本地的更新源;
cobbler repo命令說明:
# cobbler repo
cobbler repo add #添加yum源
cobbler repo copy
cobbler repo edit
cobbler repo find
cobbler repo list #列出已添加的yum源
cobbler repo remove #刪除已添加的本地yum源
cobbler repo rename #重命名本地已添加的源
cobbler repo report #列出全部源的詳細信息
添加本地倉庫:
cobbler repo add --name=Centos6-UPDATES --mirror=http://mirrors.aliyun.com/centos/6/updates/x86_64/ cobbler repo add --name=Centos6-salt201611 --mirror=https://repo.saltstack.com/yum/redhat/6/x86_64/2016.11/ cobbler repo add --name=Centos7-extras --mirror=https://mirrors.aliyun.com/centos/7/extras/x86_64/ cobbler repo add --name=epel6-x86_64-testing --mirror=http://mirrors.aliyun.com/epel/testing/6/x86_64/ cobbler repo add --name=Centos7-salt201707 --mirror=https://repo.saltstack.com/yum/redhat/7Server/x86_64/2017.7/ cobbler repo add --name=Centos6-Base --mirror=http://mirrors.aliyun.com/centos/6/os/x86_64/ cobbler repo add --name=epel6-x86_64 --mirror=http://mirrors.aliyun.com/epel/6/x86_64/ cobbler repo add --name=Centos7-epel --mirror=https://mirrors.aliyun.com/epel/7Server/x86_64/ cobbler repo add --name=Centos6-webtatic --mirror=http://sp.repo.webtatic.com/yum/el6/x86_64/ cobbler repo add --name=Centos7-webtatic --mirror=https://sp.repo.webtatic.com/yum/el7/x86_64/ cobbler repo add --name=Centos6-percona --mirror=http://repo.percona.com/release/6Server/os/x86_64/ cobbler repo add --name=Centos7-salt201611 --mirror=https://repo.saltstack.com/yum/redhat/7/x86_64/2016.11/ cobbler repo add --name=Centos7-zabbix3 --mirror=http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/ cobbler repo add --name=Centos6-extras --mirror=http://mirrors.aliyun.com/centos/6/extras/x86_64/ cobbler repo add --name=Centos6-zabbix3 --mirror=http://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/ cobbler repo add --name=Centos7-percona --mirror=http://repo.percona.com/release/7Server/os/x86_64/
查看已經添加的倉庫
[root@localhost repo_mirror]# cobbler repo list Centos6-Base Centos6-UPDATES Centos6-extras Centos6-percona Centos6-salt201611 Centos6-webtatic Centos6-zabbix3 Centos7-Base Centos7-epel Centos7-extras Centos7-percona Centos7-salt201611 Centos7-salt201707 Centos7-webtatic Centos7-zabbix3 epel6-x86_64 epel6-x86_64-testing
添加好以上各種鏡像源後可以通過
#cobbler reposync 命令開始同步所有的鏡像源到本地
也可以指定倉庫名同步,(cobbler reposync --only=“倉庫名”)由於 同步所有需要時間比較長,故這裏只指定更新同步一個源做演示,其他的原理一樣,以同步Centos7-zabbix3為例
# cobbler reposync --only=Centos7-zabbix3
task started: 2018-06-18_102322_reposync
task started (id=Reposync, time=Mon Jun 18 10:23:22 2018)
hello, reposync
run, reposync, run!
creating: /var/www/cobbler/repo_mirror/Centos7-zabbix3/config.repo
creating: /var/www/cobbler/repo_mirror/Centos7-zabbix3/.origin/Centos7-zabbix3.repo
running: /usr/bin/reposync -l -n -d --config=/var/www/cobbler/repo_mirror/Centos7-zabbix3/.origin/Centos7-zabbix3.repo --repoid=Centos7-zabbix3 --download_path=/var/www/cobbler/repo_mirror -a x86_64
2.9 kB 00:00
3.6 kB 00:00
......以下省略....
由於這個倉庫不大同步到本地很快,默認同步到/var/www/cobbler/repo_mirror/下
如圖:
此時就可以在瀏覽器上訪問:
http://172.16.0.4/cobbler/repo_mirror/Centos7-zabbix3/ 如圖:
制作本地的repo 在其他本地機器上制作
註意:這裏的baseurl=http://"ip"/cobbler/repo_mirror/這段是固定的,如果您也是默認安裝的httpd,後面的一段指定的方法就是:config.repo所在位置 如zabbix3同步完後config.repo所在目錄 Centos7-zabbix3下,因此baseurl=http://172.16.0.4/cobbler/repo_mirror/Centos7-zabbix3/;而同步Centos7-Base時cofig.repo 時所在目錄下會有一個Packages用於存放所有的rpm包,baseurl則不應該指到Packages而是:baseurl=http://172.16.0.4/cobbler/repo_mirror/Centos7-Base/
#cat local.repo
[root@localhost yum.repos.d]# cat local.repo
[zabbix-34]
name=local CentOS7 zabbix34
baseurl=http://172.16.0.4/cobbler/repo_mirror/Centos7-zabbix3/
enable=1
gpgcheck=0
[CentoS7-Base]
name=local Centos7 base
baseurl=http://172.16.0.4/cobbler/repo_mirror/Centos7-Base/
enable=1
gpgcheck=0
查看:
# yum clean all
# yum makecache
# yum repolist
如圖:
接下來就可以愉快的把這個local.repo分發到所有內部(能訪問這個cobbler服務器)機器上,當作zabbix本地源使用了,這裏只添加了zabbix,還可以同步以上添加的鏡像庫,全部同步到本地後制作針對centos6 centos7的本地理更新源!
添加計劃任務每天淩晨1點同步所有源到本地(由於基於rsync,同步時自動保持一致)
# crontab -l
1 1 * * * /bin/cobbler reposync >/dev/null
至此一個本地的yum源倉庫完成;如果覺得不錯點個贊啊!
基於cobbler搭建本地的yum倉庫源