mk-ansible-roles.subscribe-repos
订阅仓库
这个剧本配置一个 RHEL 服务器,从 reposync 服务器接收更新。 在你的 reposync 服务器上注册该服务器到 RHN,然后将以下脚本作为定时任务(或使用 setup-reposerver 角色)运行:
--8<-- 剪切 -----
#!/bin/bash
SERVERIP=1.2.3.4 ## 请更改此处
cd /var/www/html/repos
# 完整或差异同步仓库
reposync -n -d -l --downloadcomps --download-metadata
ls -l | grep ^d | awk '{print $9}' | while read dirs; do
echo $dirs
if [ -f ${dirs}/comps.xml ]; then
createrepo -v ${dirs}/ -g comps.xml
else
createrepo -v ${dirs}/
fi
rf=/var/www/html/repofiles/${dirs}.repo
echo "[$dirs]" > $rf
echo "name=$dirs" >> $rf
echo "baseurl=http://${SERVERIP}/repos/$dirs/" >> $rf
echo "enabled=1" >> $rf
echo "gpgcheck=0" >> $rf
done
--8<-- 剪切 -----
此角色是在基础安装后首先运行的角色,用于设置仓库
要求
要使用此角色,您需要一个如上所述的正确配置的仓库服务器,提供仓库服务
角色变量
您可以在剧本中设置以下变量:
定义指向存放 "reponame.repo" 的目录 URL,例如 rhel-7-server-rpms.repo
reposrvurl: http://$SERVERIP/repofiles/
如果要删除/禁用所有之前存在的仓库,请将此变量设置为 true。默认值为 false
repo_reset: true
使用此变量定义您想要订阅的仓库列表
repositories:
- rhel-7-server-rpms
- repo2
- repo3
示例剧本
以下是一个示例剧本,它在客户端(组 clients
中的主机)上添加两个仓库,并禁用所有之前设置的仓库。包含仓库文件的仓库服务器在 reposrvurl
中设置。
- hosts: clients
remote_user: root
vars:
reposrvurl: http://myserver.lan/repofiles/
repo_reset: true
repositories:
- rhel-7-server-rpms
- rhel-sap-hana-for-rhel-7-server-rpms
roles:
- { role: mk-ansible-roles.subscribe-repos }
许可证
Apache 许可证 版本 2.0,2004年1月
作者信息
马克斯·科赫
请在 GitHub 仓库的问题列表中留下评论