最新消息:

puppet自动化运维之package资源

puppet admin 3644浏览 0评论

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” }

 

至此,puppet的package资源就结束了,接下来的是service资源的学习,请听下回分解!!!

转载请注明:爱开源 » puppet自动化运维之package资源

您必须 登录 才能发表评论!