特定のパッケージの前に apt-get update を実行するための puppet での順序付けの基本は知っていますが、apt-get update を 1 回だけ実行してから残りの puppet ファイルを実行するように指定したいと考えています。それは可能ですか?
ここにリストされているすべての方法では、すべてのパッケージの前に apt-get を実行するか、矢印を使用するか、各パッケージを指定する必要があります。
これは、そのリストからの私の推奨事項です。
exec { "apt-update":
command => "/usr/bin/apt-get update"
}
Exec["apt-update"] -> Package <| |>
これにより、 exec が各パッケージの前に実行されるのではなく、すべてのパッケージの前に実行されるようになります。実際、puppet のリソースは、puppet run ごとに最大 1 回しか実行されません。
しかし、どのタイプのリソースよりも前に exec を発生させたい場合は、次のようにすることができると思います。
exec { "apt-update":
command => "/usr/bin/apt-get update",
before => Stage["main"],
}
「メイン」ステージは各リソースのデフォルト ステージであるため、これにより実行が他の何よりも先に実行されます。
これが役立つことを願っています。