在Ubuntu上快速安装最新版本的Puppet
创始人
2024-07-31 03:20:14
0

【51CTO快译】puppet是一种Linux、Unix平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,其设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。

虽然Ubuntu的官方软件源中已经加入了Puppet,但是官方源中的Puppet版本太老,不但很多新功能没有,而且旧版本还可能有bug(比如在Puppet 2.6.4版本中的一个重大bug #6541 会在not-a-checksum MD5不对的情况下清空 file 文件【消息来源】)。结果就是我们仍然不得不手动安装Puppet。

Screenage的博主,资深Linux咨询师与系统管理员Caspar Clemens Mierau提供了两个脚本可以快速安装Puppet,大大简化了安装过程。

客户端安装:

$ bash < <(wget -qO - https://bit.ly/install-puppet-agent)

Master安装:

$ bash < <(wget -qO - https://bit.ly/install-puppet-master)

(51CTO编辑注:bit.ly是国外流行的短网址服务,实际地址在github上:

https://raw.github.com/moviepilot/puppet/master/tools/install-puppet-agent.sh

https://raw.github.com/moviepilot/puppet/master/tools/install-puppet-master.sh

不放心的朋友们可以自己检查脚本内容。

客户端安装脚本:

#!/bin/bash
if [ "$(id -u)" != "0" ]; then
   echo "This script must be run as root" 1>&2
   exit 1
fi
# refresh package list
apt-get update
# bootstrap ruby env
apt-get -y install irb libopenssl-ruby libreadline-ruby rdoc ri ruby ruby-dev git-core

# get a working gem version and update it to the most recent one
cd /usr/local/src
wget http://production.cf.rubygems.org/rubygems/rubygems-1.5.2.tgz
tar -xzf rubygems-1.5.2.tgz
cd rubygems-1.5.2
ruby setup.rb
update-alternatives --install /usr/bin/gem gem /usr/bin/gem1.8 1
gem update --system

# install puppet itself
gem install puppet --no-ri --no-rdoc

Master端安装脚本:


#!/bin/bash
if [ "$(id -u)" != "0" ]; then
   echo "This script must be run as root" 1>&2
   exit 1
fi
# refresh package list
apt-get update
# bootstrap ruby env
apt-get -y install irb libopenssl-ruby libreadline-ruby rdoc ri ruby ruby-dev git-core

# get a working gem version and update it to the most recent one
cd /usr/local/src
wget http://production.cf.rubygems.org/rubygems/rubygems-1.5.2.tgz
tar -xzf rubygems-1.5.2.tgz
cd rubygems-1.5.2
ruby setup.rb
update-alternatives --install /usr/bin/gem gem /usr/bin/gem1.8 1
gem update --system

# install puppet itself
gem install puppet --no-ri --no-rdoc

# we want sqlite3 and rails for stored configs on the puppet master
apt-get -y install sqlite3 libsqlite3-ruby libsqlite3-dev
gem install sqlite3-ruby --no-ri --no-rdoc
gem install rails -v 2.3.11 --no-ri --no-rdoc

这两行命令会从github获取***的Puppet安装脚本,在你的机器上从Ubuntu官方源获取安装Ruby(版本老了点,但是运行Puppet是没问题的),获取一个上游版本的gem软件(注:gem是打包好的Ruby应用库,可以大大简化Ruby环境的搭建过程。你可以将其想象为红帽的yum机制或Debian的apt-get机制)并将其更新至***版本,***安装Puppet的gem。

原文:http://www.screenage.de/blog/2011/06/06/boostrapping-a-puppet-agentmaster-on-ubuntu/

【编辑推荐】

  1. 运维案例:Puppet如何成为数据中心扩张的关键
  2. SVN自助更新:运维利器Puppet实例讲解(一)
  3. 开源自动化配置管理工具Puppet入门教程

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...