0

我有一个木偶清单,它使用一个数组来定义一些需要由 APT 安装的包。我还发生了一些资源链接来指定依赖项(我不想使用'requires'或'before',因为它使代码难以阅读。问题出在链接行中,数组被扩展并中断链接。我在这里遵循了自定义函数解决方法Puppet Syntax: how to include a array of objects into an ordering -> chain?这很有效,但定义函数似乎有点矫枉过正。

$my_deps = ["autoconf", "automake1.9", "autotools-dev", "binutils"]
package { $my_deps:
    ensure => installed,
}

exec {'c_update_apt':
    command => '/usr/bin/apt-get update',
    path => '/usr/bin/',
    }
Exec['c_update_apt'] -> Package[ $my_deps ]

这个错误说'Package [autoconf]Package [automake1.9] ....不匹配'。任何建议都非常感谢。

4

1 回答 1

1

你可以使用'<| |>' 集合语法,以确保在安装任何包之前执行 Exec 块,而不仅仅是列表中的 4 个。

Exec['c_update_apt'] -> Package <| |>

请参阅http://docs.puppetlabs.com/guides/language_guide.html#chaining-resources部分的底部。

于 2012-08-25T16:19:03.613 回答