用Linux makeself制作自解压的可执行程序
来源:互联网 发布:信捷plc编程软件下载 编辑:程序博客网 时间:2024/05/16 23:49
前言: 日常工作中我们需要把Linux操作系统下一堆文件或者脚本制作成一个可执行程序,发布后别人只要拿到这个程序就会把它整体运行起来。比起一般的把文件(夹)压缩打包,然后把压缩包发给别人,再告诉别人解压后执行里面的哪个脚本或程序的做法,显然如果做成自解压的可执行程序要简便得多。
makeself本身是一个可从给定目录产生自解压tar包的shell脚本。从以上述描述可以看出,它包含了压缩功能。它产出的文件看起来像个shell脚本(通常以.sh或者.run作为后缀名),运行后会解压并执行校验(CRC或 MD5checksum)和里面的脚本.
1.下载或安装makeself-2.2.0
1.1 下载 http://cdn.megastep.org/makeself/makeself-2.2.0.run 后,直接运行makeself-2.2.0.run , 会生成 makeself-2.2.0这个目录.
1.2 如果是Ubuntu,可以用命令apt-get install makeself 进行在线安装.
如果是基于RPM的Linux发行版如Redhat,SUSE,可以用命令yum install makeself 进行在线安装.
2. 使用makeself
假设我们有一个目录叫myfolder,里面有2个文件install.sh和instalDetail.sh ,其中install.sh调用installDetail.sh
---myfolder
---install.sh (它会调用installDetail.sh)
---installDetail.sh
install.sh内容如下:
#!/bin/bashecho "installing my software" read -p "Press the ENTER key to continue." enterContinueecho "************************************************************************"echo " Installing Package..."echo "************************************************************************". ./installDetail.sh
installDetail.sh内容如下:
#!/bin/bashDIST_NAME=`lsb_release -ds 2>/dev/null || cat /etc/*release 2>/dev/null | head -n1`echo "OS="$DIST_NAMEecho "here is installDetail"
然后回到包含myfolder的目录执行 makeself myfolder test.sh "hello..." ./install.sh (如果使用1.1方法安装了makeself, 执行 ${makeself安装目录}/makeself.sh myfolder test.sh "hello" ./install.sh)
makeself命令的使用方法是 makeself 要压缩的目录 要做成的文件名 描述信息 第一个要执行的脚本
本例中install.sh是入口,所以第四个参数是./install.sh
在Ubuntu 14执行test.sh会看到如下信息:
Verifying archive integrity... All good.Uncompressing hello... 100% installing my softwarePress the ENTER key to continue.************************************************************************ Installing Package...************************************************************************OS=Ubuntu 14.04.4 LTShere is installDetail制作自解压程序时在命令行提供的描述信息出现在了Uncompressing xxx 100%中。
但是在执行目录下并没有myfolder出现。如果想要在解压并执行后把原来的folder展开并保留,可以在makeself命令加上--notemp参数 :
makeself --notemp 要压缩的目录 要做成的文件名 描述信息 第一个要执行的脚本
- 用Linux makeself制作自解压的可执行程序
- makeself 制作自解压压缩包
- linux 制作安装包、升级包、自解压包——makeself
- 程序自解压格式文件的制作
- winrar制作自解压程序
- 【转载】用WINRAR制作自解压安装程序
- Winrar制作自解压安装程序
- Linux下制作自解压文件
- linux下自解压包制作
- 怎样制作可执行的java程序
- 手动制作python的exe可执行程序
- 手动制作python的exe可执行程序
- 手动制作python的exe可执行程序
- 如何制作一个可执行的java程序
- 手动制作python的exe可执行程序
- Linux------可执行程序的装载
- 怎样制作自解压的jar文件
- EXE打包自解压文件的制作
- 绑定服务 ServiceConnection 没有被回调 TabHost中
- Mac下的常用终端命令与vim常用命令
- python中的 isinstance() 用法总结
- Android M新控件知识整理
- 4.求两个已经排好序的数组的中位数
- 用Linux makeself制作自解压的可执行程序
- Linux的SOCKET编程详解
- 你想在职场上变身成为《欢乐颂》霸气女高管安迪吗?
- PIC单片机之I2C通信(从模式)
- cmake使用示例与整理总结
- HTTP协议详解(真的很经典)
- Android 判断app是否安装
- windows 下 tomcat 内存设置(处理tomcat 内存溢出异常)
- 判断字符串是否相等