Linux/Python学习论坛-京峰教育

 找回密码
 立即注册

一键登录:

搜索
热搜: 活动 交友 discuz
查看: 757|回复: 0

Puppet package 资源介绍

[复制链接]
Linux爱好者
Linux爱好者  发表于 2015-4-11 22:39:54 |阅读模式
本帖最后由 匿名 于 2015-4-11 22:41 编辑
  1. package资源管理系统的软件包安装,默认是yum源(/etc/yum.repo.d/)的,通过puppet来自动安装的软件包均是通过yum来安装的,所以需要先配置好yum源。



  2. 作用:

  3. ①.管理哪些软件包被安装,哪些软件包被卸载;

  4. ②.管理软件包的更新;

  5.     注:要求系统配置好yum源(RedHat系统)


  6. 格式:

  7. packae {"package name":

  8.     ensure => {present|absent|latest|version|purged},

  9.     provider => rpm             #通过rpm命令安装,需要通过source指定安装那些包

  10.        source  => "rpm包的绝对路径"  #指定安装包的绝对路径

  11.     name =>   "package name",     #应该省略,写到title部分即可

  12. }





  13. 详解:



  14. ensure     => {installed|absent|pureged|latest}

  15.             present         只要存在即可,或installed。

  16.             installed       title的软件必须安装好了。

  17.             absent          删除(无依赖),当别的软件包依赖时,不可删除。

  18.             pureged         删除所有配置文件和依赖包,有潜在风险,慎用。

  19.             latest          升级到最新版本。

  20.             version         指定安装具体的某个版本号(yum list),格式:ensure => "版本号",



  21. 实例:

  22. #安装

  23. vi /etc/puppet/manifest/test.pp

  24. package {"screen":

  25.           ensure=>present,

  26. }



  27. #检查

  28. [root@client  ~]# rpm -qa screen

  29. [root@client  ~]# puppetd --test --server master.perofu.com

  30. info: Caching catalog for client.perofu.com

  31. info: Applying configuration version '1395064909'

  32. notice: /Stage[main]//Package[screen]/ensure: created

  33. notice: Finished catalog run in 52.01 seconds

  34. [root@client  ~]#

  35. [root@client  ~]# rpm -qa screen                          

  36. screen-4.0.3-16.el6.x86_64



  37. #卸载

  38. package { "postfix":

  39.      ensure =>   absent;

  40. }



  41. #更新

  42. package { "postfix":

  43.                 ensure   => latest;

  44. }



  45. #安装指定版本

  46. package { "autofs":

  47.                 ensure   => "5.0.1-0.rc2.163.el5";

  48. }



  49. #rpm

  50. package {"screen":

  51.         ensure=>   present,

  52.         provider =>   rpm,

  53.         source =>   "/mnt/Packages/screen-4.0.3-16.el6.x86_64.rpm";

  54. }



  55. #检查

  56. [root@client  ~]# rpm -qa screen                          

  57. [root@client  ~]# puppetd --test --server master.perofu.com

  58. info: Caching catalog for client.perofu.com

  59. info: Applying configuration version '1395065695'

  60. notice: /Stage[main]//Package[screen]/ensure:   created

  61. notice: Finished catalog run in 0.72 seconds

  62. [root@client  ~]# rpm -qa screen                          
  63. screen-4.0.3-16.el6.x86_64
  64. [root@client  ~]#

  65. #设置默认属性

  66. Package { ensure => "installed" }   #设置默认属性
  67. package { "screen": } package { "strace":   } package { "sudo": }


  68. #请注意,第一个P是大写,这就是意味着对软件包管理设置了一个全局的参数,即如果没有提供参数,那么默认就是要installed,即安装。

  69. #使用数组
  70. $package_list = [ "screen", "strace",   "sudo" ] package { $package_list: ensure =>   "installed" }

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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|京峰教育,只为有梦想的人 ( 京ICP备15013173号 )

GMT+8, 2019-3-21 23:30 , Processed in 0.051751 second(s), 14 queries , Apc On.

快速回复 返回顶部 返回列表