augtool无法更新可写文件

时间:2013-09-19 16:38:34

标签: linux centos augeas

我在我的CentOS盒子上安装了Augeas,我从augtool得到了意想不到的行为。

要发白,

[root@boxen tmp]# ll
-rw-r--r--. 1 root root     27 Sep 19 11:58 /tmp/my.conf

[root@boxen tmp]# cat /tmp/my.conf 
OptionOne no
OptionTwo yes

现在我想使用augtool将OptionOne从no更改为yes

[root@boxen tmp]# augtool set /tmp/my.conf/OptionOne yes
[root@boxen tmp]# augtool save

[root@boxen tmp]# cat my.conf 
OptionOne no
OptionTwo yes

augtool没有将配置更改写入文件。我没有看到任何错误。我做错了什么?

1 个答案:

答案 0 :(得分:1)

/tmp/my.conf不是任何conffile的标准位置,因此你需要指定你想要使用哪个镜头(即解析器),以便Augeas知道应用哪种语法(Augeas目前支持大量不同的conffile语法)超过150个开箱即用!)。

如果您知道要使用哪个镜头并且使用的是Augeas> = 1.0.0,则可以使用--transform

Sshd.lns镜头看起来与您的格式类似,因此您可能想要使用此镜头。

此外:

  • --autosave是提交更改所必需的,因为您没有明确地调用save命令;
  • 您需要使用/files/tmp/my.conf/OptionOne来更改节点的值,因为映射的文件会在Augeas树中的/files下公开。

所以:

# augtool --autosave --transform "Sshd.lns incl /tmp/my.conf" set /files/tmp/my.conf/OptionOne yes
Saved 1 file(s)
# cat /tmp/my.conf
OptionOne yes
OptionTwo yes