本文系统Centos6.0

主机信息:

master:master.lansgg.com 192.168.182.143

client1 :client1.lansgg.com 192.168.182.142

client2: client2.lansgg.com 192.168.182.149

相关安装请看 http://lansgg.blog.51cto.com/5675165/1299604

package 资源属性:

package {"package name":
        ensure => present/absent/latest/{version}/purged,
        present 只有存在即可,不存在的话,会安装当前yum源的version
        absent 无依赖可删除
        latest 会升级到最新版本
        version 指定安装具体那个版本
        purged 删除该包包括有依赖性的包
    }

下面我们来操作:

案例1、将client1的上安装vim-common

master:

[root@master manifests]# vim node.pp
node 'client1.lansgg.com' {
package {"vim-common":
        ensure => present,
        }
}

Client1:

puppet之package管理_第1张图片

案例2、将client1的vim-enhanced包删除

master:

[root@master manifests]# vim node.pp
node 'client1.lansgg.com' {
package {"vim-enhanced":
        ensure => absent,
        }
}

client1:

puppet之package管理_第2张图片

案例3、将client1上的httpd进行更新

master:

[root@master manifests]# vim node.pp
node 'client1.lansgg.com' {
package {"httpd":
        ensure => latest,
        }
}

client1:

puppet之package管理_第3张图片

可以看到更新到了yum源上的最新版本;

案例4、使用purged强制卸载client2上的vim-common(他依赖vim-enhanced)

master:

[root@master manifests]# vim node.pp
node 'client2.lansgg.com' {
package {"vim-common":
        ensure => purged,
        }
}

client2:

puppet之package管理_第4张图片

大家可以看到效果了;

案例5、安装指定版本的package(本例主要是教大家怎么写version)

[root@master manifests]# vim node.pp
node 'client1.lansgg.com' {
package {"httpd":
        ensure => '2.2.15-29.el6.centos',
        }
}

client1:

puppet之package管理_第5张图片

version怎么看呢?可以使用yum list

puppet之package管理_第6张图片

至此就结束了;ths