美文网首页
linux下bin安装升级包制作

linux下bin安装升级包制作

作者: 明明就_c565 | 来源:发表于2022-07-05 11:23 被阅读0次

linux下安装三种方式

第一:打包或压缩文件tar,zip,gz等,通常解压后便可,或者解压后运行sh文件;app

第二:对应的有管理工具的deb,rpm等,一般的这类安装文件能够经过第三方的命令行或UI来简单的安装,例如Ubuntu中的apt来安装deb,Redhat中的yum来安装rpm;工具

第三:像.bin类,其实就是把sh和zip打包为bin,或把sh和rpm打包为bin等,当在命令行运行bin安装文件时,其实就是bin里面的sh来解压bin中的zip或安装rpm的过程; 

bin安装文件ui

.bin安装文件能够认为是sh文件和zip或rpm等其余安装文件的打包形式。以下图

.bin安装文件的优势:spa

1)只有一个包即.bin文件;.net

2)能够直接运行在Linux上,由于他是sh(他的前半部分是sh);命令行

3)在sh中能够包含须要用户接收的协议信息,并且提示用户接收,若是用户不接收,安装退出;

 .bin安装文件执行

1)超级简单: sh xxxx.bin 或直接xxxx.bin。

 2)过程以下:

bin安装包制作举例

当前目录

安装脚本install.sh

#!/bin/bash

#安装路径

dir=/tmp

mkdir $dir

app=vdi

pkg=$app+.zip

# 安装前动作

# 可以写一些 协议信息提示用户接收,如果用户不接收,安装退出;

# 还有写检测环境,版本之类的,卸载旧版本软件

echo -e "\t 准备安装软件..."

#----------

# 为打印除从第一行到所在exit 0的行的所有行到${dir}/vdi.tar.gz,如果过程中有错误则输出到/dev/null

# $0 代表脚本本身即从bin安装包中实现分离

# '1,/^exit 0$/!p' 代表从一行到以exit开头以0结尾的行(即shell脚本部分)

# !代表取反,所以最后分离的是出了shell脚本的部分也即压缩包

#sed -n -e '1,/^exit 0$/!p' $0 > ${dir}/$pkg 2>/dev/null

sed -n '1,/^exit 0$/!p' $0 > ${dir}/$pkg

cd $dir

#将分离出的脚本解压缩到$dir文件夹下

unzip $pkg

# 解压后操作

echo -e "\t 安装中..."

mv $app/test_online /usr/local/bin

mv $app/test.ini /usr/local/etc

# 安装后动作

# 如解压完成后删除压缩包

rm -rf $pkg

echo -e "\t 安装完成"

exit 0

打包命令

rm -rf vdi.zip

zip -r vdi.zip ./vdi/*

cat install.sh vdi.zip > vdi.bin && chmod a+x vdi.bin

执行

上传.bin文件至目标服务器执行

./vdi.bin

参考:

http://www.javashuo.com/article/p-ssfkvckd-m.html

相关文章

网友评论

      本文标题:linux下bin安装升级包制作

      本文链接:https://www.haomeiwen.com/subject/mgwdbrtx.html