木偶为补丁pipe理

我正在考虑使用Puppet进行大规模的补丁pipe理。

基于一些研究,这样做的方法是创build一个类并将其应用于任何需要的地方,如以下情况:

class mypack_update { package { 'mypack': # ensure => '1.0.1d-15.el6', ensure => '1.0.1g-16.el6_5.7', } } 

但是,这似乎是不实际的,特别是如果你有许多可用的补丁,从内核到ssl,bash等在许多机器上。

有什么最好的做法,我可以按照使这更容易?

我们主要使用的Linux发行版是SLES 11.3。

我们这样做的方式是使用“确保=>'最新'”,但是,这是针对一个受控的已经过testing的回购。 如果你的环境在不同的需求中有不同的angular色,那么情况会变得更加复杂,那么你需要用事实作为一个感官机制来确定哪个补丁适用于哪个angular色,我们在hiera中这样做。 经过一年左右的努力,我相信正确的答案就是木浆和纸浆等回购pipe理系统的整合,这正是Satellite 6正在做的。

假设你提到的不切实际的是这样一个类的生成,那么可能会用一些脚本来完成。 结合hiera ,你可以得到一个.yaml版本ID的.yaml列表,你的木偶设置可能如下所示:

hieradata / patchlist.yaml

 --- packages: mypack: ensure: 1.0.1g-16.el6_5.7 otherpack: ensure: latest otherpacktwo: ensure: 2.0.1 

yourclass.pp

 class patchset { create_resources('packages') } 

至于脚本部分,一些awk / perl-fu应用于你知道有正确补丁的服务器上的rpm -qa命令应该可以完成这项工作。