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

Как обновить пакет с помощью марионетки и файла .deb

Я пытаюсь найти правильный способ обновления / обновления пакета 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