3

augtool Augeas接缝成为 Puppet 修改配置文件的流行程序,但是如何修改augtool没有镜头的配置文件?例如:

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

在这个特定示例中,我想更改NoDisplaytrue.

问题

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

4

2 回答 2

5

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

在您的情况下,您想使用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
于 2014-04-20T04:52:00.633 回答
1

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

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

于 2014-04-19T23:13:09.370 回答