文章目录
制作 Linux 一键安装包
像 Qt,Anaconda3 等都提供了 Linux 的一键安装包,后来在网上查到过制作 Linux 一件安装包的方法,感觉思维挺奇特,也挺取巧的,所以在这里记录一下。
制作方法其实很简单,先来看看下面这行命令
$ cat install.sh taispeed.tar.gz > taispeed.run
在这个例子中,前8行是安装脚本
[mayw@localhost installer]$ cat taispeed.run | more
#!/bin/bash
tail -n +7 $0 > taispeed_v0.1.tar.gz
tar -xvf taispeed_v0.1.tar.gz
cp -rf taispeed /tmp # 安装过程,直接安装到 /tmp 目录中
rm -rf taispeed taispeed_v0.1.tar.gz
exit 0
▒
▒▒i_▒▒)▒T▒Z▒D▒:e▒▒▒▒▒tY▒GY▒▒±▒▒D▒▒)▒▒▒▒▒▒▒▒y▒▒▒置▒z▒纾▒▒|▒~▒▒v▒▒▒i▒▒▒▒▒▒▒▒V▒▒w▒▒rt▒▒ZkG{QW+▒k;[k[▒▒▒▒▒
Y[▒:Z3B▒N▒▒▒▒Λ#2▒▒▒/▒+▒▒▒▒▒▒▒<▒▒E▒▒r▒?▒6▒v▒?▒▒#k▒e/▒Ć▒▒▒w▒▒u▒▒叿▒▒▒t▒e▒o▒[▒▒E▒▒
▒▒|▒z▒yq9▒k.3▒ိTv▒▒Z▒<▒^▒_ψ'▒;▒2L7x▒▒▒'▒;▒▒▒eX▒▒~
其中第 1~6 行就是脚本 insltall.sh 中的内容,必须要以 exit 0
结尾(否则脚本不会退出)。后面乱码的部分全部都是真正的安装程序,可以是源代码或可执行程序。最关键的是第 2 行:
tail -n +7 $0 > taispeed_v0.1.tar.gz
这一行的意思是,将 taispeed.run 这个一键安装包脚本从第 7 行开始(实际应用时要根据实际的脚本行数修改这个值)到文件最后的内容导入到文件 taispeed_v0.1.tar.gz 中,这就相当于将一键安装包中的安装程序提取出来,这也是制作 Linux 一键安装包的核心思想,还挺好玩的。
当然,我这里是可执行程序,直接 cp 指令即可安装。若是源码目录,则需要在中间加入编译操作。