Як оновити пакунок, використовуючи лялечку та файл .deb


27

Я намагаюся з'ясувати правильний спосіб оновлення / оновлення пакету дебюту за допомогою маріонетки з локального файлу деб. Моя поточна конфігурація виглядає так ...

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?

Я досить новачок у ляльках, тому якщо у вас є пропозиції щодо вдосконалення моєї існуючої конфігурації, вони дуже вдячні.

Відповіді:


36

Я також розмістив це запитання в групі користувачів ляльок, і я отримав відповідь.

Якщо ви додасте, переконайтеся, що найновіше, він перевірить вихідний файл на поточний встановлений пакет та встановить новий, якщо він останній. Я досі не впевнений, як би ти повернувся до більш старої версії, але це, мабуть, вирішує мою проблему наразі.

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


Не тестується, але якщо в якості постачальника використовується apt. ви можете змінити останню на рядок із номером версії в - напр .: secure => '1.0.4rc2-1_all'
benlumley

Перевіривши docs.puppetlabs.com/references/latest/type.html#package - схоже, моя вищевказана помилка є недійсною, вона каже, що dpkg не є надійною.
benlumley

Ну, @benlumley, apt-get є вигідним, а dpkg (на якому базується apt-get) - ні. Тому їх складно змішати, коли ви хочете версію подібну. Ось чому в цих випадках може бути гарною ідеєю встановити міні-репозиторій і дозволити apt-get керувати ним (що є провайдером за замовчуванням у системах debian)
Актау,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.