deb包 打包过程
来源:互联网 发布:淘宝店运营模式 编辑:程序博客网 时间:2024/05/10 04:36
因为debian的包管理机制比较健全,加上官网上给出的Policy Manual很详细,打包过程容易了很多。这里主要讲一下单个二进制文件的打包过程。
deb包的打包步骤:
1、在源码的基础上添加适当的编译脚本(configure、makefile)。
2、使用dh_make生成相应的debian包模板,并对模板进行你需要的修改(尤其是debian/rules文件)。
3、使用dpkg-buildpackage等建包命令进行建包。
下面通过一个实例,来具体讲解一下打包的步骤。
首先创建一个hello-1.0的目录,目录名必须是<package>-<version>
在hello-1.0目录下,创建一个hello.c文件,并创建一个Makefile文件,使你使用make时,可以生成目标文件。
这时,你的hello-1.0目录下就有了两个文件
hello.c Makefile
然后使用dh_make命令,这个命令必须在hello-1.0目录下运行
这里说一下dh_make命令的使用:
dh_make 首先确保在操作目录(这里是hello-1.0)的上一层有一个<package>_<version>.orig.tar.gz文件。如果没有的话,可以使用-f或--createorig进行创建,这样做的目的是为了对照生成.diff文件。
如果不想生产.diff文件,可以使用--native选项直接在源文件中修改。
dh_make --native :这个命令会直接在hello-1.0目录下建立一个debian目录,但并不建议在原文件夹下修改。
输入dh_make后,会让你选择Types of packages,这里我们选择的是single binary(s)来制作单个二进制文件的包。
dh_make会生成一个debian子目录,其中包含所有控制文件(control files)的模板,这些模板都是dh_make根据你选择的包类型从/usr/share/debhelper/dh_make中拷贝到debian包中的。
control、changlog等文件中的Maintainer等项,首先根据$DEFAULTNAME环境变量确定,如果这个变量为空,则使用$LOGNAME环境变量。作者的email选项使用$EMAIL、$DEBEMAIL或dh_make -e 来设置。
下一步,就是建立deb包了。
这里我使用的是dkpg-buildpackage进行建包,在建包之前,把Makefile的install地址改成hello-1.0的debian/hello/usr/bin/,这样在建好包后,你的可执行文件就可以存在与./usr/bin/下了。
在hello-1.0目录下运行dkpg-buildpackage -rfakeroot -tc -b
运行后,在上一层目录下可以找到一个hello_1.0_<arch>.deb的包,这个就是你要用的deb包了。
你可以使用ar或dkpg -c等查看它的内容,看看是不是你想要的,如果不是的话,说明你的配置文件有问题,建议修改debian/rules等配置文件。
- deb包 打包过程
- deb包 打包过程
- deb 打包解包
- 编译deb包过程
- deb包解压跟打包
- ubuntu下打包制作deb安装包
- Deb打包
- deb 打包
- 打包deb
- Ubuntu下将现有的文件打包成deb包
- Ubuntu下将现有的文件打包成deb包
- IOS设备上修改原deb解包 打包-教程
- ubuntu下将可执行程序打包成deb包
- [教程] iOS设备上修改deb解包打包 教程
- Ubuntu下将现有的文件打包成deb包
- 将源代码一步打包成deb包的脚本
- deb包的构建(dpkg-buildpackage)过程详细过程说明
- deb包
- SQLite中的时间日期函数
- 以字符串为基础的字符串切分
- 菩提本非树 明镜也非台 心中无一物 何处惹尘埃
- Juniper SSG20-SH防火墙实现拨号远程L2TP VPN
- perl脚本学习
- deb包 打包过程
- JSP预定义变量的使用
- oracle中decode函数的使用
- Windows Azure AppFabric Caching入门简介
- 关于MFC Control 控件编程
- PHP 可变函数
- VC 怎样调用COM控件的接口函数
- PHP的strtotime()函数转换的时间如何转换成ASP.NET识别的,或者反过来
- 多IP的服务器,让IIS只监听指定的IP