Запустите `apt-get update` перед установкой других пакетов с помощью Puppet

Я пытаюсь создать модуль puppet, который автоматизирует установку Zend Server CE, здесь это не важно, но шаги следующие

  1. update /etc/apt/source.list
  2. загрузить ключ репозитория через wget
  3. выполнить apt-get update
  4. выполнить apt-get установить zend-server-ce-5.2

У меня есть файл init.pp

class zendserverce {

# https://github.com/puppetlabs/puppetlabs-stdlib
file_line { 'debian_package':
    path => '/etc/apt/sources.list',
    line => 'deb http://repos.zend.com/zend-server/deb server non-free'
}

exec { "wget http://repos.zend.com/zend.key -O- |apt-key add -":
    path => ["/usr/bin", "/usr/sbin"]
}

exec { "apt-get update":
    command => "/usr/bin/apt-get update",
    onlyif  => "/bin/sh -c '[ ! -f /var/cache/apt/pkgcache.bin ] || /usr/bin/find /etc/apt/* -cnewer /var/cache/apt/pkgcache.bin | /bin/grep . > /dev/null'",
}

package { "zend-server-ce-php-5.2":
    ensure => "latest"
}

}

Кажется, что марионетка запускает команды в другом порядке, чем мне нужно. Есть ли способ сказать ему, чтобы он работал в моем желаемом порядке?

Вывод такого фрагмента:

  [0;36mnotice: /Stage[main]/Mc/Package[mc]/ensure: ensure changed 'purged' to 'latest'[0m
  [1;35merr: /Stage[main]/Zendserverce/Package[zend-server-ce-php-5.2]/ensure: change from purged to latest failed: Could not update: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install zend-server-ce-php-5.2' returned 100: Reading package lists...
  Building dependency tree...
  Reading state information...
  E: Couldn't find package zend-server-ce-php-5.2 at /tmp/vagrant-puppet/modules 0/zendserverce/manifests/init.pp:28[0m
  [0;36mnotice: /Stage[main]/Zendserverce/Exec[wget http://repos.zend.com/zend.key -O- |apt-key add -]/returns: executed successfully[0m
  [0;36mnotice: /Stage[main]/Zendserverce/File_line[debian_package]/ensure: created[0m
  [0;36mnotice: Finished catalog run in 6.75 seconds[0m

Итак, он говорит: Не удалось найти пакет zend-server-ce-php-5.2

Кто-нибудь может подсказать, что не так?

50
задан Greg Dubicki 7 September 2017 в 11:12
поделиться