【问题标题】:Editing yum.conf/exclude with augeas使用 augeas 编辑 yum.conf/exclude
【发布时间】:2012-08-14 08:58:43
【问题描述】:

我正在尝试使用我在 puppet 中再次使用的 augeas 工具编辑我的 yum.conf 的排除部分。

问题在于:

# augtool
augtool> set /files/etc/yum.conf/main/exclude[last()+1] 'kernel*'
augtool> save
Saved 1 file(s)
augtool> set /files/etc/yum.conf/main/exclude[last()+1] 'python*'
augtool> save
Saved 1 file(s)
augtool> 

写出来:

exclude=kernel*
exclude=python*

/etc/yum.conf 文件中。

yum.conf 的 exclude 部分只支持空格分隔的列表。那么我怎样才能欺骗 augeas 在这里使用空间分离呢?还是我做错了什么?

覆盖整个排除选项不是解决方案,因为其中可能已经有其他条目。

【问题讨论】:

    标签: configuration puppet augeas


    【解决方案1】:

    您在 Augeas 中遇到了一个记录为 #275: yum.aug doesn't break 'exclude' or 'includepkg' into sequences for yum repositories 的问题。问题是镜头不会将值拆分为多个节点,而是将其视为一个带有空格的节点。

    在 Augeas 中做到这一点的唯一方法是用一个空格分隔的字符串替换整行,这正是你不想做的:

    set /files/etc/yum.conf/main/exclude 'kernel* python*'
    

    我将在上面的票证上提到这一点,以便我们知道有更多的需求,因为在类似情况下,我们可能只需要接受打击,因为没有向后兼容性。

    我们还没有针对它的补丁,但是一旦我们有了补丁,您就可以在您的系统上使用更新后的 yum.aug。将其放在/usr/share/augeas/lenses 下将覆盖打包版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多