Я пытаюсь найти правильный способ обновления / обновления пакета deb с помощью марионетки из локального исходного файла deb. Моя текущая конфигурация выглядит так ...
class adobe-air-2-0-4 {
file { "/opt/air-debs":
ensure => directory
}
file { "/opt/air-debs/adobeair-2.0.4.deb":
owner => root,
group => root,
mode => 644,
ensure => present,
source => "puppet://puppet/adobe-air-2-0-4/adobeair-2.0.4.deb"
}
package { "adobeair":
provider => dpkg,
ensure => installed,
source => "/opt/air-debs/adobeair-2.0.4.deb"
}
}
Сначала я копирую файл deb на клиентскую машину, а затем использую «пакет» с поставщиком, установленным на «dpkg». Это работает, и я установил правильную версию.
Мой вопрос в том, как правильно обновить этот пакет в будущем. Могу ли я просто изменить исходный файл, и марионетка узнает, что это другая версия, и обновит этот пакет? Как марионетка определяет, какую версию пакета она установила по сравнению с версией исходного файла deb?
Я новичок в марионетке, поэтому, если у вас есть предложения по улучшению моей существующей конфигурации, мы будем очень признательны.
Я также разместил этот вопрос в группе пользователей марионеток, и это был ответ, который я получил.
Если вы добавите убедитесь последний он сверит исходный файл с текущим установленным пакетом и установит новый, если он самый последний. Я все еще не уверен, как бы вы откатились к более старой версии, но, похоже, на данный момент это решает мою проблему.
package { "puppet-dashboard":
provider => dpkg,
ensure => latest,
source => "/tmp/puppet-dashboard_1.0.4rc2-1_all.deb"
}
Вот ссылка на сообщение группы пользователей марионеток ... http://groups.google.com/group/puppet-users/browse_thread/thread/53f5e7119012fb3e/59e8596701fcaf3f