puppet类型-package

二 puppet的package类型
puppet 管理软件包

【问题】
1.puppet是如何管理软件包的安装,升级,卸载?
答:puppet管理软件包,对于puppet来说,都是一种,那就是资源。puppet管理每种资源是依靠不同的provider 。 每个provider需要一些依赖来完成各项功能. 因此你必须为provider提供这些依赖。
2.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.

3.管理软件包分类
答:现在软件包管理分成两类,一类是自己能解决软件依赖关系,例如apt-get,yum ; 另一类是不能解决软件依赖,例如 dpkg,rpm ; puppet会根据你操作系统运行puppet的环境来自动判断你是用的什么包管理系统.当然你也可以手工设定 provider 参数让puppet用什么命令来管理软件包.
4. package 资源可使用的参数
adminfile
软件包管理器,通常是为了安装软件包。这个参数只适用于Solarias
allowcdrom
告诉 apt 允许使用cdrom作为软件源, 可以设置成false或者 true
category
软件包设置的一个只读的属性
configfiles
是否保留或者替换软件的配置文件,大多数软件不支持这个参数,可设置的值是false,true
description
描述软件包,软件包设置的一个只读属性
ensure
设置该软件包应该在什么状态. installed 表示要安装该软件,也可以写成present; absent 表示反安装该软件,pureged 表示干净的移除该软件,latest 表示安装软件包的最新版本.
namevar
该资源的namevar ; 软件包的名字

1、通过rpm方式安装网络源epel
class haizei {
    package{"epel":
        ensure    =>    "present",
        provider    =>    "rpm",
        source    =>    "http://mirrors.hustunique.com/epel/6/x86_64/epel-release-6-8.noarch.rpm"
    }
}
2、通过yum方式安装git
class haizei {
    package{"git":
        ensure    =>    "installed",
        provider    =>    "yum"    #这行为默认可以不写
    }
}
3、git需要安装最新版本,通过yum自动安装
class haizei {
    package{"git":
        ensure    =>    "lastest"
    }
}
4、一次性安装多个程序
class haizei {
    package{"git":
        ensure    =>    "installed"
    }
    package{"vim":
        ensure    =>    "installed"
    }
    package{"wget":
        ensure    =>    "installed"
    }
}

class haizei{
    package{["git","vim","wget"]:
        ensure => "installed"
    }
}
5、以上安装方式为基础的安装,也可通过puppet提供默认安装方式
class haizei{
    Package{    #此关键字为Package,第一个字母大写,表示为此类设置一个全局参数,即此类默认的方式
        ensure    =>    "installed"
    }
    package{"git":}
    package{"vim":}
    package{"wget":}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值