【shell】run安装文件制作

版权声明:本文为博主原创文章,转载注明出处 https://blog.csdn.net/u010875635/article/details/82585565

       在linux,我们经常会看到有一些安装文件类型为.run,只有一个文件,可以自动化安装,非常舒服整洁,对于部分在linux下开发的工程师来说,制作一个方便安装的程序文件是非常必要的,大大减轻使用者的安装时间,增强用户体验。

        制作与解析run安装包,需要三个指令,cat、tail、head。原理就是利用cat将脚本与文件合并,利用tail解析尾部,利用head解析头部,如果只是用于安装,则不需要head解析头部。

        以下为制作示例:

一、准备文件

        1、新建一个文件夹,命名为autorun(随意,用不到这个名称),内部新建文件夹source,以及脚本autoinstall.sh

        2、假设我们开发好了一个程序,我们所有文件放到source中,里面有对应的安装脚本install.sh(无非就是复制、编译、移动等等)

        3、将source文件夹压缩成source.tar.xz,减小体积

        4、编辑autoinstall.sh,注意lines的数值要比autoinstall.sh的行数要多1,run文件是由autoinstall.sh和source.tar.xz连接而成,以以下autoinstall.sh为例,前10行为autoinstall.sh,执行run文件就是从autoinstall.sh执行,命令中要从.run文件自解析出source.tar.xz,第11行开始到最后都是source.tar.xz。执行到第10行退出,避免后面source.tar.xz异常指令。

        autoinstall.sh内容如下:

#!/bin/bash
lines=11 #this file total row + 1
tail -n +$lines "$0" >>/tmp/source.tar.xz # write self from filelines to file。
cd /tmp
xz -d source.tar.xz
tar -xvf source.tar
rm -f source.tar
sh source/install.sh
rm -rf source
exit 0

        以上脚本详细解释如下:

        a)利用tail命令,将source.tar.xz从run文件第11行开始剥离出来,放到/tmp/source.tar.xz

        b)进入/tmp,解压source.tar.xz为文件夹

扫描二维码关注公众号,回复: 3128500 查看本文章

        c)删除压缩包

        d)执行安装脚本

        e)执行安装完毕,删除source文件夹

        f)退出

        5、连接autoinstall.sh和source.xz

cat autoinstall.sh source.tar.xz >> autorun.run

        到这里为止,run文件制作完毕,给予运行权限即可。

        若是要分离出autoinstall.sh和source.tar.xz,运行以下命令即可,注意行数:

head -n10 autorun.run >> autoinstall.sh
tail -n +11 autorun.run >> source.tar.xz

猜你喜欢

转载自blog.csdn.net/u010875635/article/details/82585565