在Ubuntu上快速安装最新版本的Puppet

原创
系统 Linux
puppet是一种Linux、Unix平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。虽然Ubuntu的官方软件源中已经加入了Puppet,但是官方源中的Puppet版本太老,新功能跟进和bug修复方面可能无法满足生产环境的需求。本文介绍如何在Ubuntu上快速安装最新版本的puppet。

【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入门教程

 

责任编辑:yangsai 来源: 51CTO.com
相关推荐

2009-12-31 11:09:36

Ubuntu wine

2020-08-14 13:50:13

UbuntuHandbrakeLinux

2020-02-25 20:50:38

UbuntuLinuxGit

2023-11-19 19:01:53

UbuntuCalibre

2009-05-27 19:16:30

Ubuntu戴尔上网本

2017-07-06 13:05:26

LinuxPython 3.6安装

2013-02-28 11:28:30

2012-10-16 09:46:23

OpenStackFolsomSwift

2009-12-16 08:49:12

2009-07-07 16:10:02

JDK最新版本JDK安装JDK下载

2010-05-24 19:09:01

SubVersion最

2012-09-28 14:17:36

OpenStack虚拟网络

2013-08-02 10:13:42

Windows 8.1

2013-05-20 14:54:44

Android开发最新版本ADT使用

2010-03-24 14:18:15

Turbo linux

2012-06-04 11:01:44

Windows 8版本

2012-11-12 10:10:37

FolsomOpenStack

2011-01-10 10:29:27

Ubuntu 10.1Gnome-Shell

2011-09-29 21:12:53

点心桌面

2013-10-29 11:36:43

SUSESUSE Linux
点赞
收藏

51CTO技术栈公众号