shell脚本制作bin包.docxVIP

  • 42
  • 0
  • 约5.28千字
  • 约 7页
  • 2018-01-04 发布于河南
  • 举报
shell脚本制作bin包

利用shell脚本制作可执行安装程序制作简单的安装包的时候可以简单的用cat命令连接两个文件,然后头部是脚本文件,执行的时候把下面的文件分解出来就行了。一般这个后部分的文件是个压缩包,那样,就能够打包很多文件了,在脚本中解压出来即可。这就是Linux那些bin、run等安装脚本的简单制作了。如在linux 下制作二进制 .bin 文件的制做方法:就是使用cat 命令将执行脚本和打包文件同时放到一个.bin的文件里。这样安装的时候只要使用一个包,直接执行该包即可安装完毕,简单方便。下例就是一名为install.sh脚本,它实现以下功能:自动创建用户及用户组自动检查网络环境并安装环境包所需要的支撑环境显示安装进度自动检查并配置防火墙自动安装环境包自动增加自启动脚本bin文件制作步骤打包文件tar cvf myapp-env-1.0-linux-x64-installer.tar.gz myapp-env-1.0-linux-x64-installer.tar编写脚本内容见《install.sh脚本内容》节可执行安装程序制作方法# cat install.sh myapp-env-1.0-linux-x64-installer.tar.gz myapp-env-1.0-linux-x64-installer.bin这样就生成myapp-env-1.0-linux-x64-installer.bin的安装文件,该文件是由shell脚本和二进制合成的。前半部分是脚本后半部分是二进制文件,用strings等二进制查看命令可以看到。安装chmod 755 myapp-env-1.0-linux-x64-installer.bin./myapp-env-1.0-linux-x64-installer.bininstall.sh脚本内容#/bin/bashPATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bincurdir=`pwd`installdir=/myappmyappuser=myappenv_name=myapp-env-1.0-linux-x64-installersum=0echo ----------------------------------------------------------------------------echo Welcome to the myapp-env-1.0 for linux-x64 Stack Setup Wizard.echo ----------------------------------------------------------------------------echo echo Installation folder : $installdir echo ----------------------------------------------------------------------------echo checking environment...... echo #检查网络环境checknetwork (){netstat=$(ping -c3 |grep transmitted |awk {print $4})}#检查网络状态、判断支撑软件是否安装,若没有安装则自动安装。checkenv (){rpm -qa /tmp/rpmlist.txtfor soft in $softlistdogrep ^$soft /tmp/rpmlist.txt /dev/nullif [ $? -ne 0 ] ; thenecho $soft is not installedif((netstat==0)) ; thenecho ping -c3 ,failed . Please check networkexitelseecho install $soft ...... yum -y install $soft | tee -a install.logfielseecho $soft was installed fi\rm /tmp/rpmlist.txtdone}#检查防火墙配置,并自动配置防火墙策略Config_Firewall (){echo checking and configuring the firewall rule .....echo for port in $myappportdoiptables -L -n |grep :$portif [ $? -ne 0 ] ; thenif [

文档评论(0)

1亿VIP精品文档

相关文档