package资源管理系统的软件包安装,默认是yum源(/etc/yum.repo.d/)的,通过puppet来自动安装的软件包均是通过yum来安装的,所以需要先配置好yum源。
作用:
①.管理哪些软件包被安装,哪些软件包被卸载;
②.管理软件包的更新;
注:要求系统配置好yum源(RedHat系统)
格式:
packae {"package name": ensure => {present|absent|latest|version|purged}, provider => rpm #通过rpm命令安装,需要通过source指定安装那些包 source => "rpm包的绝对路径" #指定安装包的绝对路径 name => "package name", #应该省略,写到title部分即可 } |
详解:
ensure => {installed|absent|pureged|latest}
present 只要存在即可,或installed。
installed title的软件必须安装好了。
absent 删除(无依赖),当别的软件包依赖时,不可删除。
pureged 删除所有配置文件和依赖包,有潜在风险,慎用。
latest 升级到最新版本。
version 指定安装具体的某个版本号(yum list),格式:ensure => "版本号",
实例:
#安装 vi /etc/puppet/manifest/test.pp package {"screen": ensure=>present, }
#检查 [root@client ~]# rpm -qa screen [root@client ~]# puppetd --test --server master.perofu.com info: Caching catalog for client.perofu.com info: Applying configuration version '1395064909' notice: /Stage[main]//Package[screen]/ensure: created notice: Finished catalog run in 52.01 seconds [root@client ~]# [root@client ~]# rpm -qa screen screen-4.0.3-16.el6.x86_64
#卸载 package { "postfix": ensure => absent; }
#更新 package { "postfix": ensure => latest; }
#安装指定版本 package { "autofs": ensure => "5.0.1-0.rc2.163.el5"; }
#rpm package {"screen": ensure=> present, provider => rpm, source => "/mnt/Packages/screen-4.0.3-16.el6.x86_64.rpm"; }
#检查 [root@client ~]# rpm -qa screen [root@client ~]# puppetd --test --server master.perofu.com info: Caching catalog for client.perofu.com info: Applying configuration version '1395065695' notice: /Stage[main]//Package[screen]/ensure: created notice: Finished catalog run in 0.72 seconds [root@client ~]# [root@client ~]# rpm -qa screen screen-4.0.3-16.el6.x86_64 [root@client ~]# #设置默认属性 Package { ensure => "installed" } #设置默认属性 package { "screen": } package { "strace": } package { "sudo": }
#请注意,第一个P是大写,这就是意味着对软件包管理设置了一个全局的参数,即如果没有提供参数,那么默认就是要installed,即安装。
#使用数组 $package_list = [ "screen", "strace", "sudo" ] package { $package_list: ensure => "installed" }
本文转自yzy121403725 51CTO博客,原文链接:http://blog.51cto.com/lookingdream/1845534,如需转载请自行联系原作者
|