如何使用 puppet 和 .deb 文件更新软件包

如何使用 puppet 和 .deb 文件更新软件包

我正在尝试找出使用 puppet 从本地源 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 文件复制到客户端计算机,然后使用“package”,并将提供程序设置为“dpkg”。这有效,我安装了正确的版本。

我的问题是,将来更新此软件包的正确方法是什么。我是否可以简单地更改源文件,然后 puppet 就会知道它是不同的版本并更新此软件包?puppet 如何确定它安装的软件包的版本与源 deb 文件的版本?

我对 Puppet 还很陌生,因此如果您对我现有的配置有任何改进建议,我将非常感激。

答案1

我也在 puppet 用户组上发布了这个问题,这是我得到的答复。

如果添加确保最新的它将根据当前安装的软件包检查源文件,如果是最新版本,则安装新版本。我仍然不确定如何回滚到旧版本,但这似乎暂时解决了我的问题。

package { "puppet-dashboard":
 provider => dpkg,
 ensure   => latest,
 source   => "/tmp/puppet-dashboard_1.0.4rc2-1_all.deb"
}

这是 puppet 用户组帖子的链接...http://groups.google.com/group/puppet-users/browse_thread/thread/53f5e7119012fb3e/59e8596701fcaf3f

相关内容