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 を から に変更するために使用し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 は構成の変更をファイルに書き込んでいません。エラーはありません。私は何を間違っていますか?

4

1 に答える 1

1

/tmp/my.confは任意の conffile の標準的な場所ではないため、Augeas が適用する構文を認識できるように、使用するレンズ (つまりパーサー) を指定する必要があります (多数のさまざまな conffile 構文があり、Augeas は現在 150 以上をすぐにサポートしています! )。

使用したいレンズが分かっていて、Augeas >= 1.0.0 を使用--transformしている場合は、それを使用できます。

レンズはあなたのSshd.lnsフォーマットに似ているので、これを使いたいかもしれません。

また:

  • --autosavesaveコマンドを明示的に呼び出していないため、変更をコミットする必要があります。
  • /files/tmp/my.conf/OptionOneマップされたファイルは/filesAugeas ツリーの下に公開されるため、ノードの値を変更するために使用する必要があります。

そう:

# 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 に答える