繁体   English   中英

使用puppet yumrepo资源类型的repo文件格式

[英]repo file formatting with puppet yumrepo resource type

我正在尝试使用p来管理我的/etc/yum.repos.d/CentOS-Base.repo文件。 内置的puppet yumrepo资源类型正在添加期望的baseurl值,但它将行放置在文件中下一个回购的注释[updates]之后。

如何强制人偶更简洁地格式化[基本]存储库? 理想情况下,我希望木偶用“ #released updates”之后的行替换注释的baseurl条目,如下所示。

[base]
name=CentOS-$releasever - Base
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#released updates
baseurl=http://SERVERXXX/distros/CentOS/$releasever/os/$basearch/
[updates]

这是木偶代码段:

类存储库{ case $operatingsystem { "CentOS", "RedHat": { yumrepo { "base": baseurl => 'http://SERVERXXX/distros/CentOS/$releasever/os/$basearch/', gpgcheck => "1", gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6", mirrorlist => absent, }

yumrepo类型(按yumrepo )无法进行任何格式化。

您可能可以将其与augeas结合使用以进行一些修补,但这可能不值得麻烦。

当每个存储库都有自己的文件时,您的工作量可能是最好的。 但是设置仍然会混乱无序。

最好的选择是使用其他资源作为类的一部分来添加注释行(augaus,文件中的行,模板),其中的几种方法可以解决此问题,或者只是使用descr属性,以便清单及其效果是更清晰,您不需要多余的注释,因为名称将提供更多信息。

class repos {
yumrepo { 'epel-testing-source':
  ensure         => 'present',
  descr          => 'Extra Packages for Enterprise Linux 6 - Testing - $basearch - Source',
  enabled        => '0',
  failovermethod => 'priority',
  gpgcheck       => '1',
  gpgkey         => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6',
  mirrorlist     => 'https://mirrors.fedoraproject.org/metalink?repo=testing-source-epel6&arch=$basearch',
}

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM