2012-09-11 89 views
2

在试图学习augeas配置文件语言的过程中,我设置的第一个真正的任务是复制grub.conf的第一个块,并向该副本添加一个“单个”内核参数。Augeas无法将节点设置为另一个节点的值?

在这样做的过程中,我搜索了文档并找不到表达式,该表达式允许您获取树中其他节点的值(如函数或运算符等)。你知道,就像C中的一个星号(*),用于间接寻址,这样你就可以将一个值复制到树的另一部分。我敢肯定,如果我使用的是C API,我可以得到它的价值,但我主要是从puppet调用它,所以它更像是通过augtool来使用它。

我是疯了还是真的是语言的一部分,我只是没有看到它?

回答

4

目前没有办法仅使用Augeas语言将节点的值复制到另一个节点。

为了在Puppet中实现此目的,需要在处理目录之前检索该值,以便使用目录中的值。这样做需要写一个事实。

基于Augeas创建事实的最简单方法是使用augeasfacter,它使您可以使用简单的配置文件轻松创建新事实。

一旦你创建了新的事实,你可以像使用任何其他变量一样在Puppet中使用它的值。特别是,您可以使用它来设置使用augeas类型的节点。

+0

谢谢!这证实了我的想法。 –

+2

太好了。如果这回答你的问题,你可以点击打勾来验证答案。 –

相关问题