web-dev-qa-db-ja.com

パペットと.debファイルを使用してパッケージを更新する方法

ローカルソースのdebファイルからpuppetを使用して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'に設定して 'package'を使用します。これは機能し、正しいバージョンがインストールされます。

私の質問は、将来このパッケージを更新する適切な方法は何ですか。ソースファイルを変更するだけで、puppetはそれが別のバージョンであることを認識し、このパッケージを更新できますか?インストールされているパッケージのバージョンとソースのdebファイルのバージョンを比較して、puppetはどのように判断しますか?

私はパペットにかなり慣れていないので、私の既存の構成を改善するための提案があれば、それらは非常に感謝されます。

27
delux247

私はまた、この質問をパペットユーザーグループに投稿しましたが、これは私が得た返答でした。

追加latestを追加すると、現在インストールされているパッケージに対してソースファイルがチェックされ、最新の場合は新しいパッケージがインストールされます。古いバージョンにどのようにロールバックするかはまだわかりませんが、これで今のところ問題が解決しているようです。

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

36
delux247