我正在尝试找出使用 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