13

特定のパッケージの前に apt-get update を実行するための puppet での順序付けの基本は知っていますが、apt-get update を 1 回だけ実行してから残りの puppet ファイルを実行するように指定したいと考えています。それは可能ですか?

ここにリストされているすべての方法では、すべてのパッケージの前に apt-get を実行するか、矢印を使用するか、各パッケージを指定する必要があります。

4

2 に答える 2

28

これは、そのリストからの私の推奨事項です。

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"],
}

「メイン」ステージは各リソースのデフォルト ステージであるため、これにより実行が他の何よりも先に実行されます。

これが役立つことを願っています。

于 2013-07-17T01:42:50.880 に答える