1

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をだまして、ここでスペース分離を使用できますか?それとも私は完全に間違ったことをしていますか?

すでに他のエントリが含まれている可能性があるため、除外オプション全体を上書きすることは解決策ではありません。

4

1 に答える 1

2

#275としてログに記録されているAugeasの問題が発生しました。yum.augは「exclude」または「includepkg」をyumリポジトリのシーケンスに分割しません。問題は、レンズが値を複数のノードに分割せず、代わりにスペースのある1つのノードとして扱うことです。

Augeasでそれを行う唯一の方法は、行全体を1つのスペースで区切られた文字列に置き換えることです。これは、まさにあなたがしたくないことです。

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

上記のチケットでこれについて言及するので、同様の場合のように、下位互換性がないためにヒットを取得する必要があるため、より多くの需要があることがわかります。

パッチはまだありませんが、パッチがあれば、更新されたyum.augをシステムで使用できます。下に置くと/usr/share/augeas/lenses、パッケージバージョンが上書きされます。

于 2012-08-14T15:11:30.947 に答える