Назад | Перейти на главную страницу

Почему Puppet требуется два запуска для обновления bash?

Я изучаю марионетку, и я пытаюсь обновить bash (без призов за то, чтобы угадать, почему).

Это на моем сайте site.pp

       file { "/etc/apt/sources.list.d/shellshock.list":
            source  => "puppet:///files/shellshock.list",
            owner   => "root",
            group   => "root",
            mode    => "0644", 
            ensure  => present,
    } 
    ->
exec { "instantRepoUpdate":
        command          => "/usr/bin/aptitude update",
        refreshonly  => true,
}
    ->
    package {"bash": ensure => latest, }

Из того, что я читаю здесь https://docs.puppetlabs.com/puppet/latest/reference/lang_relationships.html Это должно означать:

Установить /etc/apt/sources.list.d/shellshock.list, затем запустите обновление aptitude, затем убедитесь, что на bash установлена ​​последняя версия.

Да, но только после двух запусков агента. Я хочу, чтобы он выполнил все три действия по порядку за один прогон.

ОБНОВЛЕНИЕ: я пробовал добавить "require => Exec [.., require => File [..." к ресурсам exec и package, я получил тот же результат.

Ты устанавливаешь refreshonly => true и поэтому вам нужно вместо этого использовать стрелку уведомления (~>).