0

我在我的 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 从 更改noyes.

[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 没有将配置更改写入文件。我没有看到任何错误。我究竟做错了什么?

4

1 回答 1

1

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

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

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

还:

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

所以:

# 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
于 2013-09-19T18:46:46.560 回答