我正在使用 puppet 来维护越来越多的 debian 机器。这些机器将从初始化开始维护。这意味着一步是设置 apt 'sources.list' 文件,然后更新它。
还有其他模块依赖于此列表是否最新,如果apt-get update
未调用,它们将会失败。我想知道我是否应该引入某种排序过程(使用阶段或类似方法)以确保在尝试安装应用程序之前更新软件包列表,或者只是假设它可能在第一次运行时失败,但在列表更新后在后续运行中可以正常工作?
傀儡的精神似乎是在宣告一种“最终状态”,而不是一种过程。这让我相信,让错误发生可能是可行的方法。
答案1
您可以使用在文件更改时收到通知的exec
资源。并让包含文件管理资源和资源的类成为需要它们的资源。refreshonly => true
sources.list
exec
require
package
我建议以一种更简单的方式处理这个问题,即通过apt::source
Puppet Labs 的 apt 模块中的资源类型,它也处理更新。