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,

}

 

#检查

[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 ,如需转载请自行联系原作者



相关文章
|
4月前
|
数据采集 机器学习/深度学习 人工智能
运维人的“福音”?AI 驱动的自动化网络监控到底香不香!
运维人的“福音”?AI 驱动的自动化网络监控到底香不香!
330 0
|
1月前
|
人工智能 运维 安全
运维老哥的救星?AI 驱动的自动化配置管理新趋势
运维老哥的救星?AI 驱动的自动化配置管理新趋势
94 11
|
3月前
|
机器学习/深度学习 人工智能 运维
运维不背锅,从“自动修锅”开始:AI自动化运维是怎么回事?
运维不背锅,从“自动修锅”开始:AI自动化运维是怎么回事?
299 49
|
2月前
|
运维 Prometheus 监控
系统崩了怪运维?别闹了,你该问问有没有自动化!
系统崩了怪运维?别闹了,你该问问有没有自动化!
102 9
|
2月前
|
运维 监控 应用服务中间件
运维打铁: Ruby 脚本在运维自动化中的应用探索
Ruby 是一种简洁、动态类型的编程语言,适合运维自动化任务。本文介绍了其在服务器配置管理、定时任务执行和日志分析处理中的应用,并提供了代码示例,展示了 Ruby 在运维自动化中的实际价值。
88 2
|
2月前
|
机器学习/深度学习 运维 监控
智能运维Agent:自动化运维的新范式
在数字化转型浪潮中,智能运维Agent正重塑运维模式。它融合人工智能与自动化技术,实现从被动响应到主动预防的转变。本文详解其四大核心功能:系统监控、故障诊断、容量规划与安全响应,探讨如何构建高效、可靠的自动化运维体系,助力企业实现7×24小时无人值守运维,推动运维效率与智能化水平全面提升。
504 0
|
2月前
|
运维 监控 安全
从实践到自动化:现代运维管理的转型与挑战
本文探讨了现代运维管理从传统人工模式向自动化转型的必要性与路径,分析了传统运维的痛点,如效率低、响应慢、依赖经验等问题,并介绍了自动化运维在提升效率、降低成本、增强系统稳定性与安全性方面的优势。结合技术工具与实践案例,文章展示了企业如何通过自动化实现运维升级,推动数字化转型,提升业务竞争力。
|
3月前
|
人工智能 缓存 运维
运维人不用秃头了?AI自动化配置管理了解一下!
运维人不用秃头了?AI自动化配置管理了解一下!
81 0
|
6月前
|
机器学习/深度学习 人工智能 运维
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
272 14
|
7月前
|
缓存 运维 监控
Anolis OS深度集成运维利器 阿里云操作系统控制台上线
阿里云在百万服务器运维领域的丰富经验打造。
Anolis OS深度集成运维利器 阿里云操作系统控制台上线

推荐镜像

更多