Package

package

管理软件包的安装和升级

管理软件包,现在分成两派,一派是自己能解决软件依赖,例如apt-get,yum ; 另一类是不能解决软件依赖,例如 dpkg,rpm ; puppet会根据你运行puppet的环境来自动判断你是用的什么包管理系统.当然你也可以手工设定 provider 参数让puppet用什么命令来管理软件包. 每个provider需要一些依赖来完成各项功能. 因此你必须为provider提供这些依赖

特性

  • installable provider 可以安装软件包
  • purgeable provider 可以移除软件包,包括所有的配置文件,这个特性要小心使用
  • uninstallable provider 可以反安装软件包
  • upgradeable provider 可以升级软件包到最新版本
  • versionable provider 可以访问软件包的各种版本,并且可以选择安装那个版本的软件

参数

allowcdrom
告诉 apt 允许使用cdrom作为软件源, 可以设置成false或者 true

category
软件包设置的一个只读的属性

configfiles
是否保留或者替换软件的配置文件,大多数软件不支持这个参数,可设置的值是false,true

description
描述软件包,软件包设置的一个只读属性

ensure
设置该软件包应该在什么状态. installed 表示要安装该软件,也可以写成present; absent 表示反安装该软件,pureged 表示干净的移除该软件,latest 表示安装软件包的最新版本.

namevar
该资源的namevar ; 软件包的名字

provider
指定使用什么provider来提供软件包管理功能,可用的值是 (只列出常用的部分):

  • appdmg 支持的特性是: installable
  • apt 通过 apt-get安装软件, 支持的特性 : installable, purgeable, uninstallable, upgradeable, versionable.
  • aptitude 通过 apt-get安装软件, 支持的特性 : installable, purgeable, uninstallable, upgradeable, versionable.
  • aptrpm 通过 apt-get安装软件, 支持的特性 : installable, purgeable, uninstallable, upgradeable, versionable.
  • yum 通过yum安装软件, 支持的特性: installable, purgeable, uninstallable, upgradeable, versionable.
  • ports freebsd上面的软件包管理,支持的特性: installable, uninstallable, upgradeable.

responsefile
在debian上面安装软件,一般会回答一些问题,用这个文件来包含问题的预设答案, 用在debian或者 solaris系统上.

source
去那里找软件的安装包,例如rpm的包地址,必须是本地地址或者URL

例子

对于一个新安装的debian系统,安装上常用的软件,删除不需要的软件.

package {
    ["vim","iproute","x-window-system","fcitx","netenv","xtrlock","ssh-askpass","mplayer","rxvt-unicode","curl","mtr"]:
    ensure => installed;
    ["pppoe","pppoe-conf"]:
    ensure => absent;
    }
除非特别注明,本页内容采用以下授权方式: Creative Commons Attribution-ShareAlike 3.0 License