2012-08-14 33 views
1

我想編輯我的yum.conf使用augeas工具,我再次在puppet中使用的排除部分。編輯yum.conf /排除與augeas

的問題是這樣做的:

# 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的排除部分只支持空格分隔列表。那麼我怎麼能欺騙augeas在這裏使用空間分隔?還是我在做一些完全錯誤的事情?

覆蓋整個排除選項不是解決方案,因爲其中可能有其他條目。

回答

2

您在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將覆蓋打包版本。

+0

感謝您的鏈接。我會等待錯誤得到解決。 – xeor 2012-08-15 16:38:38