制作bin安装包

来源:互联网 发布:北京邮电大学软件排名 编辑:程序博客网 时间:2024/05/16 04:44

(一)将所需要用到的文件制作成一个压缩包

cd /home

tar zcvf SMS.tar.gz SMS
(二)编写安装包中将要执行的服务器安装配置shell脚本:sms_install.sh
#!/bin/sh#1.提取出tar.gz包LINES=73tar_name="/home/SMS.tar.gz"tail -n +${LINES} $0 > ${tar_name}#2.解压tar.gz包cd /hometar zxvf ${tar_name}if [ "$?" -ne 0 ];thenexit 100fi#3.拷贝boost相关库文件boost_lib_src="/home/SMS/boost"boost_lib_dst="/usr/local/include"cp -r ${boost_lib_src} ${boost_lib_dst}#4.拷贝mysql相关库文件mysql_lib_src="/home/SMS/libmysql"mysql_lib_dst="/lib64"cp ${mysql_lib_src}/libmysql* ${mysql_lib_dst}#5.配置SMS相关库文件sms_lib_src="/home/SMS/bin"sms_lib_dst="/lib64"cp ${sms_lib_src}/*.so ${sms_lib_dst}cp ${sms_lib_src}/*.a ${sms_lib_dst}#6.增加可执行文件的权限sms_server="/home/SMS/bin/nvr_cloud"sms_database_script="/home/SMS/bin/createNVRCloudBase"if [ ! -x sms_server ]thenchmod +x ${sms_server}fiif [ ! -x createNVRCloudBase ]thenchmod +x ${sms_database_script}fi#7.拷贝额外的库文件libextra_src="/home/SMS/libextra"libextra_dst="/lib64"cp ${libextra_src}/* ${libextra_dst}#7.修改配置文件的权限log_config="/home/SMS/bin/log.conf"sms_config="/home/SMS/bin/sms_config.xml"if [ -e ${log_config} ]thenchmod 644 ${log_config}fiif [ -e ${sms_config} ]thenchmod 644 ${sms_config}fi#8.创建日志文件夹log_dir_name="/home/SMS/bin/log"if [ -e ${log_dir_name} ]thenrm -rf ${log_dir_name}mkdir ${log_dir_name}echo "删除原有日志文件夹,创建新的日志文件夹成功!"elsemkdir ${log_dir_name}echo "创建新的日志文件夹成功!"fi#9.执行数据库脚本cd /home/SMS/bin./createNVRCloudBaseecho "数据库脚本执行成功"#10.启动SMS服务器cd /home/SMS/bin./nvr_cloud#11.退出脚本exit 0
(三)编写创建sms_install.bin的shell脚本createSMSbin.sh

#!/bin/shtarget_name="sms_install.bin"if [ -e ${target_name} ]thenrm -rf ${target_name}cat sms_install.sh SMS.tar.gz>${target_name}elsecat sms_install.sh SMS.tar.gz>${target_name}fichmod +x sms_install.binexit 0
(四)编写一个卸载shell脚本sms_uninstall.sh

#!/bin/sh#1.杀掉服务器进程pid=`pidof nvr_cloud`if [ -n "${pid}" ]thenkill -9 $pidelseecho "server already killed!"fi#2.删除SMS压缩包sms_package="SMS.tar.gz"rm -rf ${sms_package}#3.删除SMS资源文件夹sms_resource_dir="/home/SMS"rm -rf ${sms_resource_dir}#4.删除boost库文件夹boost_lib_dir="/usr/local/include/boost"rm -rf ${boost_lib_dir}#5.删除mysql相关的库文件rm -rf /lib64/libmysql*#6.删除SMS相关的库文件rm -rf /lib64/libhcnetsdk.sorm -rf /lib64/libhpr.sorm -rf /lib64/liblog4cplus.arm -rf /lib64/libsadp.sorm -rf /lib64/libStreamTransClient.sorm -rf /lib64/libSystemTransform.so#7.删除额外的库文件rm -rf /lib64/libboost_thread.so.1.48.0rm -rf /lib64/libboost_system.so.1.48.0#8.退出脚本exit 0




原创粉丝点击