linux下做包两种方式:makeself与deb打包。

一,makeself简单打包:

如果是Ubuntu,可以用命令apt-get install makeself 进行在线安装.  如果是基于RPM的Linux发行版如Redhat,SUSE,可以用命令yum install makeself 进行在线安装。链接:https://pan.baidu.com/s/1Oaho8hVB2OTcybb67pbyvA 密码:ii6d

如果无法直接安装,首先需要安装makeself:
$ wget http://megastep.org/makeself/makeself-2.2.0.run
$ chmod 755 makeself-2.2.0.run
$ ./makeself-2.2.2.run
$ cd makeself-2.2.0
$ sudo cp *.sh /usr/bin

2. 使用makeself或者makeself.sh

makeself--notemp 要压缩的目录 要做成的文件名  描述信息   第一个要执行的脚本

这里其实就是先将文件和脚本都放在一个单独的文件install写好,可以运行后,注意把第一个脚本stepbystep.sh放在文件夹下第一级目录。

在install上级目录执行:
makeself.sh install/ setup "nameshow" ./stepbystep.sh

得到的setup大包

 

二.deb打包。

这里就只用dpkg-deb进行基础打包:

 

创建个文件。

在文件下创建DEBIAN文件夹,下面创建以下文件。

 

control

用了记录软件标识,版本号,平台,依赖信息等数据

preinst

在解包data.tar.gz前运行的脚本

postinst

在解包数据后运行的脚本

prerm

卸载时,在删除文件之前运行的脚本

postrm

在删除文件之后运行的脚本

这里control是必须写的,按照下面的格式。

1. Package: app.weiphone.qxxqxx

2.  Name:  deb的名字,可以是中文

3. Version: 1.0

4. Architecture: iphoneos-arm  

5. Depends:

6. Description:  描述

7. Maintainer: 维护人

8. Author: qxxqxx<694747680@qq.com>


然后就在和DEBIAN同级目录就是根目录:/

创建的/usr/,/opt等等等的文件夹,安装包执行时就把该包放到真正的系统该文件夹下,注意修改安装包内的各个文件的权限,因为会把这些权限给赋值到真正系统下。

最后

 

dpkg-deb -b  XXXXXXXXXXXXXXX    XXXXXXXXXXX.deb

就可以安装了。

这里脚本的shell都是以root权限执行的,我还没解决这个问题。

 

 

3简单一起使用:

使用makeself进行打包,放到DEBIAN同级目录下进行复制,

使用postinst进行复制后的脚本调用,


 

什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。 因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。 Linux 含了一个叫 gdb 的 GNU 调试程序. gdb 是一个用来调试 C 和 C++ 程序的强力调试器. 它使你能在程序运行时观察程序的内部结构和内存的使用情况. 以下是 gdb 所提供的一些功能: • 它使你能监视你程序中变量的值. • 它使你能设置断点以使程序在指定的代码行上停止执行. • 它使你能一行行的执行你的代码. 在命令行上键入 gdb 并按回车键就可以运行 gdb 了, 如果一切正常的话, gdb 将被启动并且你将在屏幕上看到类似的内容:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值