linux下bin安装包制作

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安装文件

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xyc1211

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值