在尝试学习 augeas 配置文件语言的过程中,我设置的第一个实际任务是复制 grub.conf 的第一个 block ,并向副本添加一个“单个”内核参数。
在执行此操作时,我搜索了文档,但找不到允许您获取树中另一个节点的值的表达式(例如函数或运算符或其他东西)。您知道,C 中的星号 (*) 表示间接,这样您就可以将值复制到树的另一部分。
我确信如果我使用 C API,我将能够获取该值,但我主要希望从 puppet 调用它,所以它更像是通过 augtool 使用它。
我疯了还是它确实是语言的一部分而我只是没有看到它?
最佳答案
目前无法仅使用 Augeas 语言将一个节点的值复制到另一个节点。
为了在 Puppet 中实现此目的,您需要在处理目录之前检索该值,以便使用目录中的值。这样做需要写一个事实。
根据 Augeas 生成事实的最简单方法是使用 augeasfacter它可以让您使用简单的配置文件轻松创建新事实。
创建新事实后,您可以像使用任何其他变量一样在 Puppet 中使用它的值。特别是,您可以使用它来设置使用 augeas
类型的节点。
关于puppet - Augeas 无法将节点设置为另一个节点的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12379263/