系统版本:centos5.5 x86_84

包管理器:yum

cfengine版本:3.2.4

 

安装步骤

 
  
  1. # yum install openssl openssl-devel db4 db4-devel flex bison gcc pcre pcre-devel -y 
  2. # tar zxf cfengine-3.2.4.tar.gz 
  3. # cd cfengine-3.2.4 
  4. # ./configure --sbindir=/var/cfengine/bin 
  5. # make && make install 
  6.  
  7. 产生一对公钥和密钥(公钥和密钥在分布式环境中需要使用)并设置cfengine的工作目录结构
  8. # /var/cfengine/bin/cf-key 
  9.  
  10. 策略默认放在/var/cfengine/masterfiles,必须手动生成这个目录
  11. # cp -Rp /usr/local/share/cfengine/masterfiles /var/cfengine
  1. 策略输入目录默认是/var/cfengine/inputs,引导前inputs目录没有策略,手动引导将策略从
  2. masterfiles里拷贝到inputs目录,并且启动cf-execd、cf-serverd、cf-monitored
  3. # /var/cfengine/bin/cf-agent --bootstrap --policy-server server_ip

安装脚本

 
  
  1. #!/bin/bash 
  2. # filename: install_cfengine.sh 
  3. # author: liuping 
  4. # description: for autoing install cfengine 
  5.  
  6. CFENGINE="cfengine" 
  7. VERSION="3.2.4" 
  8. SERVER="192.168.60.128"         # server for package 
  9. FILEDIR="/mnt/public/software"  # package's position 
  10. WORKDIR="/var/cfengine"         # cfengine workdir 
  11. TEMP_DIR="/opt"                 # tempdir for installing 
  12.  
  13. check cfengine installed 
  14. if [ -d $WORKDIR ] 
  15. then 
  16.     echo "cfengine has installed" 
  17.     exit 1 
  18. fi 
  19.  
  20. yum install openssl openssl-devel db4 db4-devel flex bison gcc pcre pcre-devel -y &>/dev/null 
  21.  
  22. if [ -e "$FILEDIR/$CFENGINE-$VERSION.tar.gz" ] 
  23. then 
  24.     cp $FILEDIR/$CFENGINE-$VERSION.tar.gz $TEMP_DIR 
  25.     tar zxf $TEMP_DIR/$CFENGINE-$VERSION.tar.gz -C $TEMP_DIR 
  26. elif [ -e "$FILEDIR/$CFENGINE-$VERSION.tar.bz" ] 
  27. then 
  28.     cp $FILEDIR/$CFENGINE-$VERSION.tar.bz $TEMP_DIR 
  29.     tar jxf $TEMP_DIR/$CFENGINE-$VERSION.tar.bz -C $TEMP_DIR 
  30. else 
  31.     echo "cfengine does not exist" 
  32.     exit 1 
  33. fi 
  34.  
  35. # install cfengine 
  36. echo "starting install cfengine......" 
  37. cd $TEMP_DIR/$CFENGINE-$VERSION 
  38. ./configure \ 
  39. --sbindir=/var/cfengine/bin \ 
  40. --with-openssl \ 
  41. --with-pcre &>/dev/null 
  42. if [ $? -eq 0 ] 
  43. then 
  44.     make &>/dev/null && make install &>/dev/null 
  45. fi 
  46.  
  47. wait 
  48. /var/cfengine/bin/cf-key 
  49. cp /var/cfengine/bin/cf-* /usr/local/sbin/ 
  50. cp -Rp /usr/local/share/cfengine/masterfiles /var/cfengine 
  51. /var/cfengine/bin/cf-agent --bootstrap --policy-server $SERVER &>/dev/null 
  52. if [ $? -eq 0 ] 
  53. then 
  54.     echo "start cfengine success" 
  55. fi 
  56.  
  57. # remove cfengine package 
  58. cd $TEMP_DIR 
  59. if [ -d $TEMP_DIR/$CFENGINE-$VERSION ] 
  60. then 
  61.     rm -rf $TEMP_DIR/$CFENGINE-$VERSIO
  62. rm -rf $TEMP_DIR/$CFENGINE-$VERSION*
  63. fi