系统版本:centos5.5 x86_84
包管理器:yum
cfengine版本:3.2.4
安装步骤
- # yum install openssl openssl-devel db4 db4-devel flex bison gcc pcre pcre-devel -y
- # tar zxf cfengine-3.2.4.tar.gz
- # cd cfengine-3.2.4
- # ./configure --sbindir=/var/cfengine/bin
- # make && make install
- 产生一对公钥和密钥(公钥和密钥在分布式环境中需要使用)并设置cfengine的工作目录结构
- # /var/cfengine/bin/cf-key
- 策略默认放在/var/cfengine/masterfiles,必须手动生成这个目录
- # cp -Rp /usr/local/share/cfengine/masterfiles /var/cfengine
- 策略输入目录默认是/var/cfengine/inputs,引导前inputs目录没有策略,手动引导将策略从
- masterfiles里拷贝到inputs目录,并且启动cf-execd、cf-serverd、cf-monitored
- # /var/cfengine/bin/cf-agent --bootstrap --policy-server server_ip
安装脚本
- #!/bin/bash
- # filename: install_cfengine.sh
- # author: liuping
- # description: for autoing install cfengine
- CFENGINE="cfengine"
- VERSION="3.2.4"
- SERVER="192.168.60.128" # server for package
- FILEDIR="/mnt/public/software" # package's position
- WORKDIR="/var/cfengine" # cfengine workdir
- TEMP_DIR="/opt" # tempdir for installing
- # check cfengine installed
- if [ -d $WORKDIR ]
- then
- echo "cfengine has installed"
- exit 1
- fi
- yum install openssl openssl-devel db4 db4-devel flex bison gcc pcre pcre-devel -y &>/dev/null
- if [ -e "$FILEDIR/$CFENGINE-$VERSION.tar.gz" ]
- then
- cp $FILEDIR/$CFENGINE-$VERSION.tar.gz $TEMP_DIR
- tar zxf $TEMP_DIR/$CFENGINE-$VERSION.tar.gz -C $TEMP_DIR
- elif [ -e "$FILEDIR/$CFENGINE-$VERSION.tar.bz" ]
- then
- cp $FILEDIR/$CFENGINE-$VERSION.tar.bz $TEMP_DIR
- tar jxf $TEMP_DIR/$CFENGINE-$VERSION.tar.bz -C $TEMP_DIR
- else
- echo "cfengine does not exist"
- exit 1
- fi
- # install cfengine
- echo "starting install cfengine......"
- cd $TEMP_DIR/$CFENGINE-$VERSION
- ./configure \
- --sbindir=/var/cfengine/bin \
- --with-openssl \
- --with-pcre &>/dev/null
- if [ $? -eq 0 ]
- then
- make &>/dev/null && make install &>/dev/null
- fi
- wait
- /var/cfengine/bin/cf-key
- cp /var/cfengine/bin/cf-* /usr/local/sbin/
- cp -Rp /usr/local/share/cfengine/masterfiles /var/cfengine
- /var/cfengine/bin/cf-agent --bootstrap --policy-server $SERVER &>/dev/null
- if [ $? -eq 0 ]
- then
- echo "start cfengine success"
- fi
- # remove cfengine package
- cd $TEMP_DIR
- if [ -d $TEMP_DIR/$CFENGINE-$VERSION ]
- then
- rm -rf $TEMP_DIR/$CFENGINE-$VERSIO
- rm -rf $TEMP_DIR/$CFENGINE-$VERSION*
- fi
转载于:https://blog.51cto.com/liuping0906/1149622