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

 找回密码
 立即注册

一键登录:

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

Puppet package 资源

[复制链接]
Linux爱好者
Linux爱好者  发表于 2015-4-26 16:14:11 |阅读模式
  1. Puppet package 资源


  2. package资源管理系统的软件包安装
  3. 默认是yum源(/etc/yum.repo.d/)的,通过puppet来自动安装的软件包均是通过yum来安装的,所以需要先配置好yum源。


  4. 作用:

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

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

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


  8. 格式:

  9. packae { "package name":

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

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

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

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

  14. }





  15. 详解:



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

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

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

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

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

  21.             latest          升级到最新版本。

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



  23. 实例:

  24. #安装

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

  26. package { "screen":

  27.   ensure=>present,

  28. }



  29. #检查

  30. # rpm -qa screen

  31. # puppetd --test --server master.perofu.com

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

  33. info: Applying configuration version '1395064909'

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

  35. notice: Finished catalog run in 52.01 seconds

  36. #

  37. # rpm -qa screen                          

  38. screen-4.0.3-16.el6.x86_64



  39. #卸载

  40. package { "postfix":

  41.   ensure =>   absent;

  42. }



  43. #更新

  44. package { "postfix":

  45.   ensure   => latest;

  46. }



  47. #安装指定版本

  48. package { "autofs":

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

  50. }



  51. #rpm

  52. package { "screen":

  53.   ensure   =>   present,

  54.   provider =>   rpm,

  55.   source   =>   "/mnt/Packages/screen-4.0.3-16.el6.x86_64.rpm",

  56. }



  57. #检查

  58. # rpm -qa screen                          

  59. # puppetd --test --server master.perofu.com

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

  61. info: Applying configuration version '1395065695'

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

  63. notice: Finished catalog run in 0.72 seconds

  64. #

  65. # rpm -qa screen                          

  66. screen-4.0.3-16.el6.x86_64

  67. #

  68. #设置默认属性

  69. Package { ensure => "installed" }   #设置默认属性

  70. package { "screen": } package { "strace":   } package { "sudo": }



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



  72. #使用数组

  73. $package_list = [ "screen", "strace", "sudo" ]
  74. package { $package_list:

  75.   ensure =>   "installed",
  76. }



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

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2019-1-22 22:08 , Processed in 0.032096 second(s), 20 queries , Apc On.

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