在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/
【編輯推薦】