puppet进阶指南——package资源详解

简介:

package资源

package资源可以借助本地包管理系统帮助我们安装软件,也可以通过参数指定软件包来安装。


1、package资源常用属性


package {'资源标题':

   allowcdrom

   description

   ensure

   provider

   source

}


 allowcdrom:通知apt允许使用cdrom作为软件源,可以设置false或者true。

 description:描述软件包。

 ensure:设置软件包的安装状态,可以设定的值有present|installed|absent|latest|purged|"version" 。

=> present|installed, 检查文件是否存在,不存在则新建之
=> absent, 无其他软件依赖,可删除,否则会报错。
=> latest, 检查文件是否为最新版本,否则升级为最新版本
=> purged, 删除该包包括所有依赖的包,有风险慎用
=> "2.7.21-1", 指定某一个版本处于安装状态

 provider:不同的平台有不同软件包的提供着。

 source:指定软件包的安装源。


案例1

通过package资源安装httpd的rpm软件包

编辑/etc/puppet/manifests/package.pp,新增如下内容

package {'httpd':

  ensure => installed,

  provider => 'yum',

}


如果是rpm包,也可以这样设定

package {'httpd':

  ensure => installed,

  source => '/tmp/httpd-2.2.15-45.el6.centos.i686.rpm',

  provider => 'rpm',

}


# puppet apply package.pp 

notice: /Stage[main]//Package[httpd]/ensure: created

notice: Finished catalog run in 1.91 seconds


案例2

上面讲述的是安装一个软件包,如果我们安装的软件包较多可以这样设定

package { ["httpd",

          "puppet",

          "nginx",

          "openssl"]:

    ensure => installed,

}



欢迎关注http://www.wzlinux.com:45 和http://www.wzlinux.com 。


     本文转自 wzlinux 51CTO博客,原文链接:http://blog.51cto.com/wzlinux/1685642 ,如需转载请自行联系原作者


相关文章
|
关系型数据库 MySQL Shell
puppet连载24:虚拟资源
class account::virtual { @user {"mysql": ensure => present, uid => 27, gid => 27, home => "/var/lib/mysql", shell => "/bin/bas...
746 0
puppet连载17:file资源详解
file {'/tmp/filetest': content => "aaa", ensure => file, } ensure => present file {'/tmp/filetest': content => "aaa", } file {...
850 0
|
安全 Linux 网络协议
puppet yum模块、配置仓储、mount模块
转载:http://blog.51cto.com/ywzhou/1577335 作用:自动为客户端配置YUM源,为使用yum安装软件包提供便捷。 1、服务端配置yum模块 (1)模块清单 [root@puppet ~]# tree /etc/puppe...
1070 0
|
网络协议 安全 网络安全