一、安装环境

系统环境

CentOS release 6.8 (Final)

2.6.32-642.1.1.el6.x86_64

编译环境

gcc version 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) 


二、源码编译Puppet

步骤1 Ruby的安装

wget

unzip ruby-ruby_1_8_7.zip

cd ruby-ruby_1_8_7

run autoconf to (re)generate configure.

./configure --prefix=/usr/local/puppet-2.7.25

make

make install

出现如下错误:

  1. ossl_pkey_ec.c:761: warning: assignment makes pointer from integer without a cast

  2. ossl_pkey_ec.c:815: error: ‘EC_GROUP_new_curve_GF2m’ undeclared (first use in this function)

  3. ossl_pkey_ec.c:815: error: (Each undeclared identifier is reported only once

  4. ossl_pkey_ec.c:815: error: for each function it appears in.)

解决办法:

该问题在ruby网站上已经提交并有了补丁。

参见链接:

vi ext/openssl/ossl_pkey_ec.c

 760 #if !defined(OPENSSL_NO_EC2M)

 761             } else if (id == s_GF2m_simple) {

 762                 method = EC_GF2m_simple_method();

 763 #endif

.......

 816 #if !defined(OPENSSL_NO_EC2M)

 817             } else if (id == s_GF2m) {

 818                 new_curve = EC_GROUP_new_curve_GF2m;

 819 #endif  

步骤2 安装Ruby的扩展支持及手动导入系统环境变量

export PATH=$PATH:/usr/local/puppet/bin:/usr/local/puppet/sbin

[root@puppet ruby-ruby_1_8_7]# ruby -r base64 -e "puts:installed"

installed

[root@puppet ruby-ruby_1_8_7]# ruby -r cgi -e "puts:installed"      

installed

[root@puppet ruby-ruby_1_8_7]# ruby -r digest/md5 -e "puts:installed"      

installed

[root@puppet ruby-ruby_1_8_7]# ruby -r etc -e "puts:installed"          

installed

[root@puppet ruby-ruby_1_8_7]# ruby -r fileutils -e "puts:installed"   

installed

[root@puppet ruby-ruby_1_8_7]# ruby -r ipaddr -e "puts:installed"         

installed

[root@puppet ruby-ruby_1_8_7]# ruby -r openssl -e "puts:installed"      

installed

[root@puppet ruby-ruby_1_8_7]# ruby -r strscan -e "puts:installed"       

installed

[root@puppet ruby-ruby_1_8_7]# ruby -r syslog -e "puts:installed"       

installed

[root@puppet ruby-ruby_1_8_7]# ruby -r uri -e "puts:installed"      

installed

[root@puppet ruby-ruby_1_8_7]# ruby -r webrick -e "puts:installed"   

installed

[root@puppet ruby-ruby_1_8_7]# ruby -r webrick/https -e "puts:installed"

installed

[root@puppet ruby-ruby_1_8_7]# ruby -r xmlrpc/client -e "puts:installed"            

installed

步骤3 安装ruby-shadow

wget 

unzip ruby-shadow-2.1.4.zip

cd ruby-shadow-2.1.4

ruby extconf.rb 

make

make install

步骤4 安装Facter

wget 

unzip facter-1.7.4.zip

cd facter-1.7.4

ruby install.rb 

步骤5 安装Puppet

wget 

unzip puppet-2.7.x.zip 

cd puppet-2.7.x 

ruby install.rb --full