1. 程式人生 > >Linux自動化運維之Cobbler(自定義倉庫)

Linux自動化運維之Cobbler(自定義倉庫)

之間 成對 aliyun 需要 fig kick emc pos var

Cobbler?定義倉庫
Cobbler會將指定的repo倉庫裏的.rpm包下載到本地,通過Cobbler安裝的系統會在本地生成對應的.repo文件,裏面的地址內容指向Cobbler的IP地址

實現該功能需要在:/etc/cobbler/settings下的參數為yum_post_install_mirror: 1 但是cobbler默認開啟

1.添加 repo
這裏以zabbix-3.4來演示

[root@Cobbler ~]# cobbler repo add --name=zabbix-3.4_CentOS7 --mirror=https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/  --arch=x86_64 --breed=yum

#或者同步本地倉庫 

[root@Cobbler ~]# cobbler repo add --name=local-ftp-base \ --mirror=ftp://10.0.0.202/centos7/base/

2.同步 repo

#Cobbler自動將*.rpm包下載到本地/var/www/cobbler/repo_mirror/
[root@Cobbler ~]# cobbler reposync
[root@Cobbler ~]# ll /var/www/cobbler/repo_mirror/
drwxr-xr-x 5 root apache 4096 Jan  7 11:03 zabbix-3.4

3.添加 repo 到對應的 profile

#查看repo列表(已添加)
[root@Cobbler ~]# cobbler repo list
zabbix-3.4_CentOS7

#http協議 
[root@Cobbler ~]# cobbler profile edit --name=CentOS-7-x86_64 --repos=zabbix-3.4_CentOS7

#本地ftp 
[root@Cobbler ~]# cobbler profile edit --name=CentOS-7-x86_64 --repos=local-ftp-base

#註意:如果存在多個repo,需要在多個repo包名之間空格分割,
cobbler profile edit --name=CentOS-7-x86_64 --repos="zabbix-3.4 saltstack-2018.3"

4.修改 kickstart ?件 (添加到 %post %end 中間)

%post 
systemctl disable postfix.service
$yum_config_stanza  #在安裝系統就會調用該變量為系統添加repo
%end

5.添加定時任務, 定期同步repo

echo "00 3 * * * /usr/bin/cobbler reposync --tries=3 --no-fail" >> /var/spool/cron/root

# --tries repo同步失敗的嘗試次數
# --no-fail 當前repo同步失敗也不會影響到其它repo同步

可以將同步的結果重定向到一個log文件中便於查看:

00 3 * /usr/bin/cobbler reposync --tries=3 --no-fail" &>/var/log/cobbler_sync.log

  1. 在自動化裝機的時候,cobbler會在新裝的機器上添加一個新的repo源會指向cobbler的地址

Linux自動化運維之Cobbler(自定義倉庫)