Linux下run包制作

1 Run软件包介绍

run 程序安装包实质上是一个安装脚本加要安装的程序,如下所示:

|—————–——|
| |
| 安装脚本 |
| |
|—————–——|
| |
| 程序 |
| |
|—————–——|

这样整个 run 安装包结构就一目了然了,实际上因为实际需要结构多少有点变动但这个无关紧要,只需要明白原理就行了。
安装文件的优点:

(1)只有一个包文件;

(2)可以直接运行在 Linux上,因为它是 sh(它的前半部分是sh);

(3)在 sh 中可以包含需要用户接收的协议信息,而且提示用户接收,如果用户不接收,安装退出。

2 制作run安装包

2.1 压缩环境包

1
tar -zcvf app.tar.gz app/

2.2 制作安装脚本

install.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
#! /bin/bash
lines=13 #这个值是指这个脚本的行数加 1,这个脚本共有 12 行
tail -n +$lines $0 > /tmp/app.tar.gz
# $0 表示脚本本身,这个命令用来把从 $lines 开始的内容写入一个 /tmp 目录的 scan.tar.gz 文件里。
tar zxvf /tmp/app.tar.gz
cp -pR app /opt/
rm -rf app/
echo "********************************************************************************************************************"
echo "*****Install Success **********************************************************************************************"
echo "*****Installation path: /opt/app **********************************************************************************"
echo "*****Explain: Modify the start.sh configuration parameter, and then execute the start.sh script startup program.****"
echo "********************************************************************************************************************"
exit 0

3 生成run文件

1
cat install.sh app.tar.gz > app.run

这样就得到了 app.run 文件,它的结构如下:
|—————–———| 第1行
| |
| install.sh |
| | 第12行
|—————–———|
| app.tar.gz | 第13行
| |
|—————–———| 结尾

可通过vi/vim app.run 查看脚本内容

在运行 apprun 时,运行到第 12 行的 exit 0 ,脚本就会自动退出了,不会去运行第 13 行以下的二进制数据(即 app.tar.gz 文件),这样 shell 就不会因为识别不了二进制数据而出错了。这里我们巧妙地使用了 tail 命令,把第 12 行以下的数据重新生成了一个app.tar.gz文件,然后再执行安装。运行超级简单,使用 sh app.run 或赋予可执行权限然后直接执行 ./app.run 就可以安装了。

run 安装包制作较小的程序包是很好的选择,但是它也有缺点,做逻辑比较复杂的安装包,写的安装脚本将会很麻烦,因此此时还是用其他的安装包更好。

-------------本文结束感谢您的阅读-------------

本文标题:Linux下run包制作

文章作者:OperationMAN

发布时间:2019年03月28日 - 16:03

最后更新:2022年06月05日 - 21:06

原始链接:https://kxinter.gitee.io/2019/03/28/Linux下run包制作/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!