精华内容
下载资源
问答
  • linux下bin安装包制作教程

    千次阅读 2017-05-17 11:39:18
     制作简单的安装包的时候可以简单的用cat命令连接两个文件,然后头部是脚本文件,执行的时候把下面的文件分解出来就行了。一般这个后部分的文件是个压缩包,那样,就能够打包很多文件了,在脚本中解压出来即可。这...

    基本思想:


          制作简单的安装包的时候可以简单的用cat命令连接两个文件,然后头部是脚本文件,执行的时候把下面的文件分解出来就行了。一般这个后部分的文件是个压缩包,那样,就能够打包很多文件了,在脚本中解压出来即可。这就是Linux那些bin啊run啊等安装脚本的简单制作了。


    制作步骤:


    编写shell脚本


    shell脚本主要有两个作用:

    1.将压缩包从bin安装包中分离出来并解压    
    2.实现安装过程中需要进行的相关的文件操作(从压缩包中复制文件到系统指定路径下)

    例:以下是安装脚本 CFCA_UKEY.sh,脚本中添加了必要的注释便于理解相关操作。

    #!/bin/bash
    #安装前先卸载旧版本软件
    if [ -f "/usr/bin/Uninstall_CFCA_UKEY.sh" ];then
    	echo "VVVVVVV 卸载旧版本软件 VVVVVVV"
    	/usr/bin/Uninstall_CFCA_UKEY.sh
    	echo "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    	echo ""
    fi
    
    #分离出的压缩包名称
    tmpfile_name=/tmp/CFCA_UKEY_Client.tgz
    echo -e "\t 准备安装软件..."
    #从bin中分离出${tmpfile_name}压缩包,'1,/^exit 0$/!p'代表从一行到以exit开头以0结尾的行即整个shell脚本,!代表取反,所以最后分离的是出了shell脚本的部分也即压缩包 $0代表脚本本身即从bin安装包中实现分离
    sed -n -e '1,/^exit 0$/!p' $0 > ${tmpfile_name} 2>/dev/null
    #将分离出的脚本解压缩到/tmp文件夹下
    tar xzf ${tmpfile_name} -C /tmp
    #解压完成后删除压缩包
    rm -rf ${tmpfile_name}
    #转到解压文件的文件夹/tmp下
    cd /tmp
    
    ####---- main ----####
    
    echo -e "\t 安装库文件和工具"
    #复制库文件以及管理工具到系统目录下(需要root权限,所以需要sudo执行)
    cp -r CFCA_UKEY_Client/CFCA_UKEY_Client.app /Applications
    cp -r CFCA_UKEY_Client/CFCA_UKEY_Dlg.bundle /Library/Bundles
    sudo cp CFCA_UKEY_Client/Uninstall_CFCA_UKEY.sh /usr/bin
    sudo cp CFCA_UKEY_Client/libCFCA_UKEY_*.* /usr/lib
    #安装过程完成后,删除解压后的文件目录
    rm -rf CFCA_UKEY_Client
    echo -e "\t 安装完成"
    exit 0


    以下是脚本Uninstall_CFCA_UKEY.sh ,实现在每次安装时对旧版本的文件进行删除卸载。(该脚本与bin安装包的制作无关)
    #!/bin/bash
    name=UKEY
    sudo echo ""
    echo "=========================================="
    echo "|| Client[${name}] Uninstall starting...   ||"
    echo "=========================================="
    echo "||                                      ||"
    sudo ps -ax | grep CFCA_${name}_Client | awk '{print $1}' | xargs kill -9 > /dev/null 2>&1
    echo "||  close CFCA_${name}_Client.app          ||"
    sudo rm -rf /usr/lib/libCFCA_${name}_lib.dylib
    echo "||  delete libCFCA_${name}_lib.dylib       ||"
    sudo rm -rf /usr/lib/libCFCA_${name}_P11.dylib
    echo "||  delete libCFCA_${name}_P11.dylib       ||"
    sudo rm -rf /usr/lib/libCFCA_${name}_P11.sig
    echo "||  delete libCFCA_${name}_P11.sig       ||"
    sudo rm -rf /Library/Bundles/CFCA_${name}_Dlg.bundle
    echo "||  delete CFCA_${name}_Dlg.bundle         ||"
    sudo rm -rf /Applications/CFCA_${name}_Client.app
    echo "||  delete CFCA_${name}_Client.app         ||"
    sudo rm -rf /usr/bin/Uninstall_CFCA_${name}.sh
    echo "||  delete Uninstall_CFCA_${name}.sh       ||"
    echo "||                                      ||"
    echo "=========================================="
    echo "||  Client[${name}] Uninstall end.         ||"
    echo "=========================================="
    echo ""


    打包所需文件


    将脚本中文件操作相关的文件打包并压缩,之后将压缩包与脚本进行合并生成最终的bin安装包。

    本例中所需打包的文件均已放在CFCA_UKEY_Client文件夹下,如下图所示:


    在终端窗口运行指令:

    tar -czvf CFCA_UKEY_Client.tgz CFCA_UKEY_Client/ 

    CFCA_UKEY_Client文件夹进行压缩生成压缩包CFCA_UKEY_Client.tgz



    生成bin安装包

    在终端窗口运行指令:
    cat CFCA_UKEY.sh CFCA_UKEY_Client.tgz > CFCA_UKEY.bin 
    将脚本与压缩包合并生成bin安装包。



       
        生成的bin安装包可以通过vi编辑器查看,可看到前半部分即为shell脚本,后半部分的乱码即为压缩包。脚本中语句sed -n -e '1,/^exit 0$/!p' $0 > ${tmpfile_name} 2>/dev/null即为实现分离出压缩包的功能。ps:随便拿到一个bin安装包,我们也可通过sed语句实现分离出其中的shell脚本以及压缩包:

    从bin安装包中分离出shell脚本的指令:sed -n -e '1,/^exit 0$/p' bin安装包路径> 解压路径 2>/dev/null
    从bin安装包中分离出压缩包的指令:sed -n -e '1,/^exit 0$/!p' bin安装包路径> 解压路径 2>/dev/null        (与上条指令的区别在于添加了sed中的取反符!)


    运行bin安装包

    在终端窗口运行指令:
    chmod 755 CFCA_UKEY.bin
    给生成的bin安装包添加可执行权限,之后运行指令:
    ./CFCA_UKEY.bin
    运行bin安装包,运行结果如下:
     

    PS:shell脚本借鉴


    可以编写复杂的shell脚本实现更加复杂的安装,比较复杂的shell脚本借鉴如下:

    #!/bin/bash
    
    if [ -f "/opt/uninstall.sh" ];then
    	echo "VVVVVVVV  卸载旧版本软件  VVVVVVVV"
    	/opt/uninstall.sh
    	echo "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    	echo ""
    fi
    	
    tmpfile_name=/tmp/icbc.tar.gz
    
    echo -e "\t 准备安装软件..."
    sed -n -e '1,/^exit 0$/!p' $0 > ${tmpfile_name} 2>/dev/null
    tar xzf ${tmpfile_name} -C /opt
    rm -rf ${tmpfile_name}
    cd /opt
    
    MountDisk()
    {
            diskname=`fdisk -l | grep 'GB' | awk '$3 -ge 100' | awk '{print substr($2,1,8)}'`
      
            if [ -z "$diskname" ];then
                    echo "没有可挂载的硬盘"
                    exit 0
            fi
    
            local filename="/etc/rc.d/rc.local"
    
            tmpnum=`sed -n -e '/mount/=' ${filename}`
            if [ -z "$tmpnum" ];then
                    echo "echo \"Starting Mount '$diskname',Please waiting...\" > /dev/tty1" >>$filename
                    echo "mount '$diskname' /opt/icbc/logs" >> $filename
    
    #       AllowPort 60000
            fi
    
            echo 'y' | mkfs.ext4 $diskname
            mount $diskname /opt/icbc/logs
    }
    
    #usage: AllowPort port
    AllowPort()
    {
    	#防火墙允许通过
    	echo "开启端口号:" $1
    	/sbin/iptables -I INPUT -p tcp --dport $1 -j ACCEPT
    	/etc/init.d/iptables save
    	/etc/init.d/iptables restart
    }
    
    ConfigNetwork()
    {
            local filename=/etc/sysconfig/network-scripts/ifcfg-eth0
            tmpnum=`sed -n -e '/NM_CONTROLLED=yes/=' ${filename}`
            if [ -n "$tmpnum" ];then
                    sed -i "/NM_CONTROLLED=yes/d" ${filename}
            fi
    
            tmpnum=`sed -n -e '/PEERDNS=yes/=' ${filename}`
            if [ -n "$tmpnum" ];then
                    sed -i "/PEERDNS=yes/d" ${filename}
            fi
    
            tmpnum=`sed -n -e '/NM_CONTROLLED/=' ${filename}`
            if [ -z "$tmpnum" ];then
           		echo "NM_CONTROLLED=no" >> ${filename} 
    	fi
    
            tmpnum=`sed -n -e '/PEERDNS/=' ${filename}`
            if [ -z "$tmpnum" ];then
           		echo "PEERDNS=no" >> ${filename} 
    	fi
    }
    		
    InstallJRE()
    {
    	local filename=/etc/profile
    	tmpnum=`sed -n -e '/JAVA_HOME/=' ${filename}`
    	if [ -z "$tmpnum" ];then
    		#sed -i "/JAVA_HOME/d" ${filename}
    		
    		echo "export JAVA_HOME=/opt/jre" >> ${filename}
    		echo "export CLASS_PATH=\$JAVA_HOME/lib" >> ${filename}
    		echo "export PATH=\$PATH:\$JAVA_HOME/bin" >> ${filename}
    	fi
    	
    	source /etc/profile
    }
    
    InstallTomcat()
    {
    	local filename="/etc/rc.d/rc.local"
    	
    	if [ ! -f "/etc/rc.d/init.d/tomcat" ];then
    #		echo "rm -ef /opt/tomcat/logs/*" >> $filename
    #		echo "rm -ef /opt/tomcat/work/*" >> $filename
    		
    		cp /opt/tomcat/bin/tomcat /etc/rc.d/init.d
    		chkconfig --add tomcat
    		
    		AllowPort 60002
    	fi
    	
    	tmpnum=`ps -ef | grep tomcat | grep -v grep`
    	if [ -z "$tmpnum" ];then
    		#启动服务
    		service tomcat start
    	fi
    }
    
    InstallSbox()
    {
    	local filename="/etc/rc.d/rc.local"
    	
    	tmpnum=`sed -n -e '/sbxmanager/=' ${filename}`
    	if [ -z "$tmpnum" ];then
    		echo "echo \"Starting Sbox Service,Please waiting...\" > /dev/tty1" >> $filename
    		echo "/opt/sbox/bin/sbxmanager.sh start &" >> $filename
    		
    #		AllowPort 60000
    	fi
    	
    	tmpnum=`ps -ef | grep managerd | grep -v grep`
    	if [ -z "$tmpnum" ];then
    		#启动服务
    		/opt/sbox/bin/sbxmanager.sh start
    	fi
    }
    
    InstallInitd()
    {
            local filename="/etc/rc.d/rc.local"
    
            tmpnum=`sed -n -e '/initd.jar/=' ${filename}`
            if [ -z "$tmpnum" ];then
                    echo "echo \"Starting Proxy Service,Please waiting...\" > /dev/tty1" >> $filename
                    echo "/opt/jre/bin/java -Dfile.encoding=utf8 -jar /opt/icbc/initd/initd.jar &" >> $filename
            fi
    }
    
    InstallJkgrd()
    {
    	local filename="/etc/rc.d/rc.local"
    	
    	tmpnum=`sed -n -e '/jkmgrd/=' ${filename}`
    	if [ -z "$tmpnum" ];then
    		echo "echo \"Starting jkmgrd Service,Please waiting...\" > /dev/tty1" >> $filename
    		echo "jkmgrd p=60001 l=2" >> $filename
    		
    		jkmgrd p=60001 l=2
    		
    		AllowPort 60001
    	fi
    }
    
    StopFirewall()
    {
    	local filename="/etc/rc.d/rc.local"
    	tmpnum=`sed -n -e '/iptables/=' ${filename}`
    	if [ -z "$tmpnum" ];then
    		echo "echo \"Stopping firewall service, please waiting...\" > /dev/tty1" >> $filename
    		echo "service iptables stop" >> $filename
    	fi
    	service iptables stop
    }
    
    InstallJob()
    {
    	local filename="/var/spool/cron/root"
    	
    	tmpnum=`sed -n -e '/submitLog/=' ${filename}`
    	if [ -z "$tmpnum" ];then
    		echo "0 0 * * * submitLog_Day.sh" >> $filename
    		echo "0 0 * * 1 submitLog_Week.sh" >> $filename
    		echo "0 0 1 * * submitLog_Month.sh" >> $filename
    	fi
    	tmpnum=`sed -n -e '/minisvs_rotate/=' ${filename}`
            if [ -z "$tmpnum" ];then
                    echo "*/1 * * * * minisvs_rotate.sh" >> $filename
            fi
    	tmpnum=`sed -n -e '/clean_log/=' ${filename}`
            if [ -z "$tmpnum" ];then
    		echo "0 0 * * * clean_log.sh" >> $filename
            fi
    }
    
    InstallNtpdate()
    {
    	local filename="/etc/rc.d/rc.local"
    	tmpnum=`sed -n -e '/ntpdate/=' ${filename}`
    	if [ -z "$tmpnum" ];then
    		echo "echo \"time update, please waiting...\" > /dev/tty1" >> $filename
    		echo "ntpdate cn.ntp.org.cn" >> $filename
    		echo "hwclock -w" >> $filename
    		
    		ntpdate cn.ntp.org.cn
    	fi
    }
    
    StopSSH()
    {
    	local filename="/etc/rc.d/rc.local"
    	
    	tmpnum=`sed -n -e '/killall sshd/=' ${filename}`
    	if [ -z "$tmpnum" ];then
    		echo "echo \"Close SSH Service,Please waiting...\" > /dev/tty1" >> $filename
    		echo "killall sshd" >> $filename
    	fi
    	
    	tmpnum=`ps -ef | grep sshd | grep -v grep`
    	if [ -n "$tmpnum" ];then
    		echo "SSH serivce will close after 10 second"
    		sleep 10
    		killall sshd
    	fi
    }
    
    ####---- main ----####
    
    echo -e "\t 挂载硬盘..."
    MountDisk
    
    echo -e "\t 配置网络..."
    ConfigNetwork
    
    echo -e "\t 修改启动列表默认时间"
    sed -i  's/timeout=5/timeout=0/' /boot/grub/menu.lst
    
    echo -e "\t 安装库文件和工具..."
    cp bin/ftp /usr/bin
    cp bin/ntpdate /usr/bin
    cp bin/jkmgrd /usr/bin
    cp bin/submitLog_*.sh /usr/bin
    cp bin/minisvs_rotate.sh /usr/bin
    rm -rf bin
    
    echo -e "\t 安装NTP时间同步..."
    InstallNtpdate
    
    echo -e "\t 安装Mysql..."
    cd mysql && ./install.sh
    
    echo -e "\t 安装JRE..."
    InstallJRE
    
    echo -e "\t 安装Tomcat..."
    InstallTomcat
    
    echo -e "\t 安装Sbox..."
    InstallSbox
    
    echo -e "\t 安装Jkmgrd..."
    InstallJkgrd
    
    echo -e "\t 安装Initd..."
    InstallInitd
    
    #echo -e "\t 关闭防火墙..."
    #StopFirewall
    
    echo -e "\t 开启日志上传计划..."
    InstallJob
    
    echo -e "\t 关闭SSH服务..."
    StopSSH
    
    exit 0
    





    展开全文
  • linux下bin安装包制作

    2021-01-21 10:35:56
    文章目录linux安装文件.bin安装文件.bin安装包制作 linux安装文件 Linux常见的安装文件可以简单的分为三类 打包或压缩文件tar,zip,gz等,一般解压后即可,或者解压后运行sh文件; 对应的有管理工具的deb,rpm等...

    linux安装文件

    • Linux常见的安装文件可以简单的分为三类
      1. 打包或压缩文件tar,zip,gz等,一般解压后即可,或者解压后运行sh文件;
      2. 对应的有管理工具的deb,rpm等,通常的这类安装文件可以通过第三方的命令行或UI来简单的安装,例如Ubuntu中的apt来安装deb,Redhat中的yum来安装rpm;
      3. .bin类,其实就是把sh和zip打包为bin,或把sh和rpm打包为bin等,当在命令行运行bin安装文件时,其实就是bin里面的sh来解压bin中的zip或安装rpm的过程;

    .bin安装文件

    可以认为是sh文件和zip或rpm等其他安装文件的打包形式。在这里插入图片描述
    优点:

    1. 只有一个包即.bin文件;
    2. 可以直接运行在Linux上,因为他是sh(他的前半部分是sh);
    3. 在sh中可以包含需要用户接受的协议信息,而且提示用户接收,如果用户不接收,安装退出;
    4. 安装超级简单: sh xxxx.bin 或直接xxxx.bin。

    .bin安装包制作

    1.准备安装包

    #将源码包先打包
    tar zcvf hellbin.tar.gz hellbin
    

    2.编写sh安装脚本

    shell脚本主要有两个作用:

    1. 将压缩包从bin安装包中分离出来并解压
    2. 实现安装过程中需要进行的相关的文件操作(从压缩包中复制文件到系统指定路径下)
    • install.sh文件
    #!/bin/bash
    
    #安装路径
    dir_tmp=/tmp
    mkdir $dir_tmp
    
    # 安装前可以
    # 写一些 协议信息提示用户接收,如果用户不接收,安装退出;
    # 还有写检测环境,版本之类的,卸载旧版本软件
    
    echo -e "\t 准备安装软件..."
    #----------
    # 为打印除从第一行到所在exit 0的行的所有行到${dir_tmp}/hellbin.tar.gz,如果过程中有错误则输出到/dev/null
    # $0 代表脚本本身即从bin安装包中实现分离
    # '1,/^exit 0$/!p' 代表从一行到以exit开头以0结尾的行(即shell脚本部分)
    # !代表取反,所以最后分离的是出了shell脚本的部分也即压缩包 
    sed -n -e '1,/^exit 0$/!p' $0 > ${dir_tmp}/hellbin.tar.gz 2>/dev/null
    
    cd $dir_tmp
    #将分离出的脚本解压缩到/tmp文件夹下
    tar xzf hellbin.tar.gz -C /tmp
    #解压完成后删除压缩包
    rm -rf hellbin.tar.gz
    
    echo -e "\t 安装完成"
    exit 0
    

    3.使用cat命令连接安装脚本和安装包

    cat install.sh hellbin.tar.gz >install.bin
    

    这样就生成install.bin安装文件

    展开全文
  • linux .bin安装包制作

    千次阅读 2017-10-25 09:33:42
    linux 安装包制作1、打包或压缩文件tar,zip,gz等,解压后即可,或者解压后运行sh文件;太简单。。。感觉不正式 2、使用管理工具的deb,rpm等,通常的这类安装文件可以通过第三方的命令行或UI来简单的安装,例如...

    好久不做安装包了,需要做个安装包,好脑袋不如烂笔头,还是再简单记录一下。
    linux 安装包制作

    1、打包或压缩文件tar,zip,gz等,解压后即可,或者解压后运行sh文件;太简单。。。感觉不正式
    2、使用管理工具的deb,rpm等,通常的这类安装文件可以通过第三方的命令行或UI来简单的安装,例如Ubuntu中的apt来安装deb,Redhat中的yum来安装rpm;制作起来比较复查,还不通用。
    3、像.bin类,把shell和压缩包合成一个文件,可以直接在linux上运行。只提供一个可在linux上运行的包,感觉比较正式,还通用。

    bin类安装包安装:
    直接运行即可,超级简单。shell中cd 到包在的文件夹 ./xx.bin即可。
    bin类安装包制作
    1、shell文件
    一个简单的shell文件install.sh

    #!/bin/bash  
    name=name
    unshname=uninstall${name}.sh
    appname=appname
    installpath=/opt/${name}
    #安装前先卸载旧版本软件
    if [ -f "/usr/bin/$unshname" ];then
        echo "=========== 卸载旧版本软件 ============="  
        /usr/bin/$unshname
        echo "====================================="  
        echo ""  
    fi
    
    #分离出的压缩包名称  
    tmpfile_name=/tmp/${name}.tgz
    echo -e "\t 准备安装软件..."  
    #从bin中分离出${tmpfile_name}压缩包,'1,/^exit 0$/!p'代表从一行到以exit开头以0结尾的行即整个shell脚本,!代表取反,
    所以最后分离的是出了shell脚本的部分也即压缩包 $0代表脚本本身即从bin安装包中实现分离  
    sed -n -e '1,/^exit 0/!p' $0 > ${tmpfile_name} 2>/dev/null
    #将分离出的脚本解压缩到/tmp文件夹下  
    tar xzf ${tmpfile_name} -C /tmp
    #解压完成后删除压缩包  
    rm -rf ${tmpfile_name}
    #转到解压文件的文件夹/tmp下  
    cd /tmp
    if [ ! -d $installpath ] ;then
            mkdir -p $installpath
    fi
    ####---- main ----####  
    echo -e "\t 安装库文件和工具软件" 
    #复制库文件以及管理工具到系统目录下(需要root权限,所以需要sudo执行)  
    configname=${name}.conf
    touch ${name}/$configname
    sed -i '1i/${installpath}' ${name}/$configname
    cp ${name}/$configname /etc/ld.so.conf.d/
    sed -i '1i/${installpath}' ${name}/$configname
    cp ${name}/$configname /etc/ld.so.conf.d/
    ldconfig
    cp -r ${name}/* $installpath
    #sudo cp testfile/testd /etc/init.d  
    #sudo chkconfig testd on
    #安装过程完成后,删除解压后的文件目录  
    rm -rf ${name}
    echo -e "\t 安装完成"  
    exit 0
    
    
    2、压缩包文件
    
    tar -cgvf install.tgz installfile

    3、合成.bin类安装包

    cat install.sh install.tgz > install.bin

    4、安装.bin类安装包

    chmod +x install.bin
    ./install.bin
    展开全文
  • linux制作bin安装包

    2021-05-18 01:30:19
    /bin/bash#~~~~~~~~~~~是否安装了JDK~~~~~~~~~export JDK=${JAVA_HOME}if(test -z "${JDK}")thenecho "找不到JDK的环境变量,已退出安装!"exit 1fi#~~~~~~~~~~~~~~~~~~~echo "~~~~~~~~~请输入Tomcat的完整...

    # !/bin/bash

    #~~~~~~~~~~~是否安装了JDK~~~~~~~~~

    export JDK=${JAVA_HOME}

    if(test -z "${JDK}")

    then

    echo "找不到JDK的环境变量,已退出安装!"

    exit 1

    fi

    #~~~~~~~~~~~~~~~~~~~

    echo "~~~~~~~~~请输入Tomcat的完整路经:"

    read tomcat_path

    echo " ~~~~~~~~~~~~~~~~~~~"

    #~~~~~~~~~~~~~去掉最后一个斜扛"/"

    len=${#tomcat_path}

    #echo "名字: ${tomcat_path}"

    #echo "长度:${len}"

    if(test $len>0) then

    end_char=${tomcat_path:(len-1):(len-1)}

    if(test "$end_char" = "/")

    then

    tomcat_path=${tomcat_path:0:(len-1)}

    fi

    echo "路经: ${tomcat_path}"

    fi

    #~~~~~~~~~~~~end "/"~~~~~~~~~~~~~

    if(test -e "${tomcat_path}/conf/web.xml")

    then

    #复制jar包到 /tomcat/common/lib下

    echo $lib

    sed -n -e '1,/^exit 0$/!p' $0 > "${tomcat_path}/firewallTomcat.tar.gz" 2>/dev/null

    cd ${tomcat_path}

    tar zxvf firewallTomcat.tar.gz

    rm -rf firewallTomcat.tar.gz

    #~~~~~~~~~解压Firewall文件到/tomcat目录下

    ./firewall.sh ${tomcat_path}

    rm -rf firewall.sh

    #~~~~~~~~~~解压jar包到 common/lib下~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    ./jar.sh ${tomcat_path}

    rm -rf jar.sh

    #~~~~~~~~~~解压到Tomcat/webaaps目录下~~~~~~~~~~~~~~~~~~~~~~~~~~~

    ./managerTomcat.sh ${tomcat_path}

    rm -rf managerTomcat.sh

    #~~~~~~~~~~解压so库到jre/lib/i386下

    ./so.sh

    rm -rf so.sh

    #~~~~~~~~~~~~set Env~~~~~~~~~~~~~~~~~~~~

    ./setEnv.sh ${tomcat_path}

    rm -rf setEnv.sh

    #~~~~~~~~~~~set Filter~~~~~~~~~~~~~~~~~

    ./setFilter.sh ${tomcat_path}

    rm -rf setFilter.sh

    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    rm -rf SetEnv.class

    rm -rf ExeMainStart.class

    cd ~

    source .bash_profile

    source /etc/profile

    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    echo "~~~~~~~~~~~安装完成,需要重启计算机,现在重启吗?y(es)/n(o)"

    read var

    if(test -z $var)

    then

    var="n"

    fi

    if (test $var = "y" -o $var = "yes")

    then

    reboot -n

    else

    echo "~~~~~~~~~~~~~~稍后由您手动重启!"

    fi

    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    else

    echo "安装失败,请确定Tomcat的路经是否正确!"

    fi

    exit 0

    展开全文
  • Linux安装包run、bin制作

    千次阅读 2019-01-16 11:35:49
    制作run安装包 run程序安装包实质上是一个安装脚本加要安装的程序,如下图所示: 这样整个run安装包结构就一目了然了,实际上因为实际需要结构多少有点变动但这个无关紧要,只需要明白原理就行了。 安装脚本:...
  • 制作简单的安装包的时候可以简单的用cat命令连接两个文件,然后头部是脚本文件,执行的时候把下面的文件分解出来就行了。一般这个后部分的文件是个压缩包,那样,就能够打包很多文件了,在脚本中解压出来即可。这...
  • 制作bin安装包 像最开始的话,出一个安装程序都是提供一个tar.gz包和一个运行脚本。这种方式对于一种安装程序的确很不错,但如果有多个安装程序;对于用户体验和管理来讲都是不友好的。所以可以制作一键安装包。即...
  • linux安装包bin、run)制作,linux安装包bin、run)制作
  • bin分卷包制作 7zip自解压制作工具 兮米安装包制作
  • 兮米安装包制作工具 制作bin包 教程

    千次阅读 2017-08-28 15:08:22
    兮米安装包制作工具的简介 1.兮米安装包制作工具是一款专业的傻瓜式安装包制作软件,该软件拥有让初学者上手容易、制作的安装程序功能完善等优点,无需任何复杂的脚本操作,只需填写制作器中提供的安装包配置即可...
  • Linux安装包制作

    2021-05-11 22:11:11
    Linux下制作安装程序有很多第三方工具,还有RPM包这种规范形式;然而要做很多适合项目要求的个性安装设置,还是自己动手用sh制作更合适。这种方法借鉴了其它一些产品的安装,增添了一些新的部分。也许有点笨,但用惯...
  • 本文以OpenDDS开源代码为例,编写Linux的bin安装包制作流程及详细代码,将已经搭建好的DDS环境打包制作成bin安装包,在目标Linux系统上,直接安装(免予多次编译),即可使用。 前提是有一个已经搭建好的Ope
  • deb安装包制作

    2020-08-02 21:12:30
    deb安装包制作 deb安装包结构 写文件 打包 验证 1.deb安装包结构 随便找一个包openssh-client_1%3a8.2p1-4ubuntu0.1_amd64.deb,随便修改一下 jing@pc01:/var/cache/apt/archives$ sudo dpkg -X openssh-client_1%...
  • 《Qt5+安装包制作(Qt Installer Framework)》

    万次阅读 多人点赞 2018-11-07 15:52:56
    Qt5可以使用官方的Qt Installer Framework框架制作安装包 Qt Installer Framework框架提供了一组工具和实用程序,用于创建一次安装程序,并在所有受支持的桌面Qt平台上部署它们,而无需重写源代码。安装程序将在...
  • 制作bin安装包

    千次阅读 2012-10-12 16:11:45
    (一)将所需要用到的文件制作成一个压缩包 cd /home tar zcvf SMS.tar.gz SMS(二)编写安装包中将要执行的服务器安装配置shell脚本:sms_install.sh #!/bin/sh #1.提取出tar.gz包 LINES=73 tar_name="/home/SMS...
  • 添加环境变量,将Qt Installer Framework安装文件下的bin路径添加到环境变量。 7.生成安装包程序,打开Qt的命令行界面Qt 5.11.0 for Desktop(MinGW...),输入以下命令,进入要生成的文件夹目录下,然后使用生成工具...
  • 制作nodejs的linux安装包(rpm、run、bin)
  • 此篇文章为转载,原创地址:...目录Qt Installer Framework 概述下载Qt Installer Framework安装Qt Installer Framework程序打包发布创建安装包程序 Qt In.
  • 制作Linux下程序安装包——使用脚本打包bin、run等安装包制作简单的安装包的时候可以简单的用cat命令连接两个文件,然后头部是脚本文件,执行的时候把下面的文件分解出来就行了。一般这个后部分的文件是个压缩包,...
  • 目录下载 Qt Installer Framework程序打包发布创建安装包程序 下载 Qt Installer Framework 官方下载:http://download.qt.io/official_releases/qt-installer-framework/ 选择一个版本进行下载 点击.exe下载...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,741
精华内容 6,296
关键字:

bin安装包制作