augtool 无法更新可写文件



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

/tmp/my.conf 不是任何 conffile 的标准位置,因此您需要指定要使用的镜头(即解析器),以便 Augeas 知道要应用哪种语法(有大量不同的 conffile 语法,Augeas 目前支持 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

相关内容

  • 没有找到相关文章

最新更新