Linux之CDK安装

运行的环境 (系统版本,jdk版本,tomcat版本 )

1.centos6.5 及以上 或者 ubuntu
2.gcc6.1.0 及以上(安装见gcc6.1.0安装文档)

直接贴上脚本说明吧,到时只要将脚本复制,按照下文中的说明进行修改即可。
两个核心安装脚本:common.shinstall.sh
先看看install.sh执行了什么指令:

#!/bin/bash
source ./common.sh

if [ $UID -ne 0 ]; then
    echo "用root权限执行!"
    echo "sudo $0"
    exit 1
fi



echo "你的系统是: "$g_system

#安装基础工具
#安装poco 1.6.0 依赖
if [ $g_system == "centos" ]; then
	yum install make -y
	yum install cmake -y
elif [ $g_system == "ubuntu" ]; then
	apt-get install make  -y
	apt-get install cmake -y	
elif [ $g_system == "macos" ]; then
	echo "mac os 商处于调试阶段"
else
	echo "未识别系统"
fi

#安装 poco
./poco.sh
#安装 taiji,安装 taiji 必须安装 poco
./taiji.sh
#安装 pcap
#./pcap.sh

#安装 gtest
./gtest.sh

#安装rabbitmq-c
#./rabbitmq.sh


#安装snmp++
#if [ -x "${currentPath}/snmp++" ]; then
 #   cd ${currentPath}/snmp++
  #  ./snmpSet.sh
#fi


安装脚本用到的common.sh,其实接下来你会发现每个安装脚本都会用到他:其实这里推荐在source ./common.sh前先事先安装好make和cmake,通过查看下面脚本代码可以看到common.sh里需要用到。common里指定了安装目录为:/opt/cdk,这里可以根据个人需要进行修改。查看install脚本,其实他主要执行了以下几个命令,

#安装 poco
./poco.sh
#安装 taiji,安装 taiji 必须安装 poco
./taiji.sh
#安装 pcap
#./pcap.sh

#安装 gtest
./gtest.sh

#安装rabbitmq-c
#./rabbitmq.sh


#安装snmp++
#if [ -x "${currentPath}/snmp++" ]; then
 #   cd ${currentPath}/snmp++
  #  ./snmpSet.sh
#fi

这里需要注意的是,需要对脚本里的一些配置进行修改,比如这里的poco.sh
代码里可以看到需要指定common.sh和CDK的路径,其他脚本无需做此修改,如有需要可打开修改。
poco.sh代码:

#!/bin/bash

source /home/ceshi/CDK/common.sh
cd /home/ceshi/CDK

echo "安装 poco"


#安装poco 1.6.0 依赖
if [ $g_system == "centos" ]; then
        yum install make -y
        yum install openssl-devel -y
        yum install unixODBC-devel -y
        yum install mysql-devel -y
        install_cpp "${g_current_path}/poco" "poco" "v1.6.0" "poco-1.6.0-all"
elif [ $g_system == "ubuntu" ]; then
        apt-get install make  -y
        apt-get install openssl -y
        apt-get install libssl-dev -y
        apt-get install libssl1.0-dev -y #兼容 deepin linux deepinlinux 默认版本 ssl 编译 poco 通不过
        apt-get install unixodbc -y
        apt-get install unixodbc-dev -y
        apt-get install libmysqlclient* -y
        install_cpp "${g_current_path}/poco" "poco" "v1.6.0" "poco-1.6.0-all"
elif [ $g_system == "macos" ]; then
        echo "请先使用普通用户安装 brew,cmake,openssl 基本工具"
        echo "安装完毕继续请输入 yes"
        read result
        if [ $result != "yes" ]
        then
                exit
        else
                echo "继续安装 poco"
        fi

        cmake_install_cpp "${g_current_path}/poco" "poco" "v1.6.0" "poco-1.6.0-all"
else
        echo "未识别系统"
fi

common.sh代码:

#!/bin/bash

#============可以修改的部分================
#安装路径
g_dest_path=/opt/cdk
#g_dest_path=/opt/devbus

#全局变量,系统的名字 "ubuntu" "centos"
g_system="centos"

#==========================================

#当前变量
g_current_path=`pwd`

#适用于 cmake ../ -DCMAKE_INSTALL_PREFIX="/xxx/xxxx"  make  make install 安装的库
#CMAKE_INSTALL_PREFIX 已经按照 cdk 的管理包规则设定,不能改写。其他的要传的变量可以通过一个字符串传进去
#例如:
#cmake_install_cpp "${g_current_path}/rabbitmq-c" "rabbitmq-c" "v0.8.1" "rabbitmq-c" "-DCMAKE_INSTALL_LIBDIR='lib' -DXXX=abc"

cmake_install_cpp()
{
    proPath=$1
    proName=$2
    version=$3
    subProName=$4
    cmake_args=$5
    srcPath=${proPath}/${version}/${subProName}
    dest_path=${g_dest_path}/${proName}/${version}

    # 检查是否已安装    
    if [ -x "${dest_path}" ]; then
		echo "===================================="
        echo "${proName} ${version} 已安装"
		echo "===================================="
        return 0
    fi
    
    # 检查安装源是否存在
    if [ ! -x "${srcPath}" ]; then
		echo "===================================="
        echo "${proName} ${version} 安装源不存在"
		echo "===================================="
        return 0
    fi
    
    # 开始安装
    cd ${srcPath}
	build="cdkbuild"
	#清空原目录
	if test -d ${build}
	then
		rm ${build} -rf
	fi
	mkdir ${build}
	cd ${build}
	cmake ../ -DCMAKE_INSTALL_PREFIX=${dest_path} ${cmake_args}
   	make -j2
   	make install
	echo "===================================="
    echo "${proName} ${version} 安装成功"
	echo "===================================="
}

#适用于 ./configure --prefix="xxx"  make  make install 安装的库
#--prefix 已近按照 cdk 管理包写好了,不能进行更改
install_cpp()
{
    proPath=$1
    proName=$2
    version=$3
    subProName=$4
    srcPath=${proPath}/${version}/${subProName}
    dest_path=${g_dest_path}/${proName}/${version}

    # 检查是否已安装    
    if [ -x "${dest_path}" ]; then
		echo "===================================="
        echo "${proName} ${version} 已安装"
		echo "===================================="
        return 0
    fi
    
    # 检查安装源是否存在
    if [ ! -x "${srcPath}" ]; then
		echo "===================================="
        echo "${proName} ${version} 安装源不存在"
		echo "===================================="
        return 0
    fi
    
    # 开始安装
    cd ${srcPath} 
    	./configure --prefix=${dest_path}
	make clean
	make -j2
    	make install
	echo "===================================="
    echo "${proName} ${version} 安装成功"
	echo "===================================="
}

相关注意事项

1.安装CDK出错后再安装需要回滚之前的安装
	rm -rf /opt/cdk/
    ./install.sh
2.某个模块模块出错不需要全部回滚,如taiji模块出错,操作如下
    rm -rf /opt/cdk/taiji
    ./taiji.sh

功能验证建议

1.查看/opt/cdk目录下各个模块下是否生成相应的头文件及基础库
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值