puppet包管理
package
例子:安装vim/vsftpd/mysql三个软件包,卸载bind
package {
["vim","vsftpd","mysql"]:
ensure => installed,
"bind":
ensure => absent,
}
参数详解
allowcdrom 可以允许使用cdrom作为软件源,可以设置为false/true
description 描述
ensure installed,present 安装软件
absent 卸载软件
pureged 干净的移除该软件
latest 安装最新版本
namevar 软件名字
source 指定rpm包地址,必须是本地地址或者URL
provider 指定软件管理者
apt 通过apt-get安装
支持特性:installable, purgeable, uninstallable, upgradeable, versionable
yum 通过yum安装
支持特性:installable, purgeable, uninstallable, upgradeable, versionable
rpm 通过rpm方式安装
等等
实例:
指定使用rpm方式安装
package {"install_nginx":
provider => rpm,
ensure => present,
source => "/usr/local/src/$nginx_name",
}
针对不同平台:
class ssh::params {
case $operatingsystem {
Solaris:{
$package_name = 'openssh'
}
/(Ubuntu|Debian)/: {
$package_name = 'openssh-server'
}
}
}
数组方式安装多个包
package {"multi_install":
name => ["vsftpd","ssh","httpd"],
ensure => present,
}
默认值方式安装多个包
Package {
ensure => present,
}
package {["vsftpd","ssh","httpd"]:}