簡體   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