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 仓库的问题列表中留下评论

关于项目

subscribe repositories from reposync server

安装
ansible-galaxy install mk-ansible-roles.subscribe-repos
许可证
apache-2.0
下载
71