如何在没有镜头的情况下使用augtool?

时间:2014-04-19 22:23:46

标签: linux bash puppet augeas

augtool Augeas接缝是Puppet修改配置文件的热门程序,但如何修改augtool没有镜头的配置文件? E.g:

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Compiz
Exec=compiz
NoDisplay=false
# name of loadable control center module
X-GNOME-WMSettingsModule=metacity

在此特定示例中,我想将NoDisplay更改为true

问题

是否可以在没有镜头的情况下修改配置文件? augtool可以尝试猜测配置文件的树结构吗?

2 个答案:

答案 0 :(得分:4)

Augeas无法猜出要使用哪种镜头。例如,对于桌面文件(您的示例),可以使用许多镜头(MySQL.lnsPHP.lns等)但是每个镜头都会引入与其不兼容的限制桌面格式。

在您的情况下,您想使用Desktop.lns镜头:

$ augtool --autosave --noautoload --transform "Desktop.lns incl /path/to/your/example.desktop" set "/files/path/to/your/example.desktop/Desktop Entry/NoDisplay" true

答案 1 :(得分:1)

不,如果没有合适的镜头,augeas将无法运作。 (添加这些也很难)。

但是,您的示例看起来像一个非常常见的ini类型的配置文件。你试过IniFile镜头吗?