- Puppet package 资源
- 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,
- }
-
- #检查
- # rpm -qa screen
- # 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
- #
- # 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",
- }
-
- #检查
- # rpm -qa screen
- # 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
- #
- # rpm -qa screen
- screen-4.0.3-16.el6.x86_64
- #
- #设置默认属性
- Package { ensure => "installed" } #设置默认属性
- package { "screen": } package { "strace": } package { "sudo": }
-
- #请注意,第一个P是大写,这就是意味着对软件包管理设置了一个全局的参数,即如果没有提供参数,那么默认就是要installed,即安装。
-
- #使用数组
- $package_list = [ "screen", "strace", "sudo" ]
- package { $package_list:
- ensure => "installed",
- }
-
- 至此,puppet的package资源就结束了,接下来的是service资源的学习,请听下回分解!!!
复制代码
|