Debian下制作deb包

本文详细介绍了在Docker环境下利用dh_make、dpkg-buildpackage等工具制作Debian软件包的流程,包括设置环境变量解决dh_make错误、使用pigz加速压缩、编辑debian目录内容以及如何快速进行编译测试。这些步骤对于软件打包和部署至关重要。
摘要由CSDN通过智能技术生成

 

1.安装相应的编译工具

 $ apt-get install dh-make dpkg-dev debhelper fakeroot build-essential 

Docker中执行dh_make出现如下错误:
Cannot get username; neither LOGNAME nor USER is setin the environment!
解决方法:

$ export USER=root

2.制作tar包

$ tar --use-compress-program=pigz -cf xxx-10.1.0.tar.gz

注意,此时tar包是一个干净的包,没有debian目录,必须是调用完make clean后的目录。

这里使用了pigz进行压缩,对于特别大的文件,pigz可以有效的提高压缩效率,节省压缩时间。

3.执行dh_make

$ cd xxx-10.1.0
$ dh_make -e xxx@xxx.cn -f ../xxx-10.1.0.tar.gz

此时会生成debian目录,可以在control里面更改Build Depends,在rules里面更改make相关的参数。

4.执行dpkg-buildpackage

$ dpkg-buildpackage -uc -us

这样会自动完成所有从源代码包构建二进制包的工作,包括:
清理源代码树(debian/rules clean)
构建源代码包(dpkg-source -b)
构建程序(debian/rules build)
构建二进制包(fakeroot debian/rules binary)
制作 .dsc 文件
用 dpkg-genchanges 命令制作 .changes 文件。

5. 快速从构建 
对于很大的软件包,在调试 debian/rules 的过程中你可能不想每次都对整个软件包进行重构建。

仅用于测试目的,你可以不重新构建源代码包而使用以下的方法创建 .deb 文件

$ fakeroot debian/rules binary

或者可以通过以下方法验证它是否能通过编译:

$ fakeroot debian/rules build

或者使用如下方式编译:

$  dpkg-buildpackage -nc -uc -us

这样不会每次执行清理命令,可以继续进行编译。

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
dpkg是Debian系统用于安装、卸载和管理软件的工具。制作deb就是将软件打成.deb文件,方便在Debian系统进行安装和管理。下面是一个dpkg制作deb的例子。 首先,我们需要将软件打成一个目录结构,括必要的文件和文件夹。例如,我们要制作一个名为example的软件,我们可以创建一个example文件夹,并将软件的文件复制到该文件夹。 在example文件夹,我们需要创建一个DEBIAN文件夹,用于存放软件的控制文件。在DEBIAN文件夹,我们需要创建一个control文件,该文件用于描述软件的基本信息,例如软件名称、版本、适用的操作系统等。可以使用一个文本编辑器打开control文件,并按照一定的格式填写信息。 控制文件的一个示例内容如下: Package: example Version: 1.0 Architecture: amd64 Maintainer: Your Name <your@email.com> Description: This is an example package. 除了control文件,如果软件还依赖其他软件,我们还需要创建一个文件来描述这些依赖。我们可以创建一个名为package_name.dependencies的文件,并在其列出软件的依赖关系。 在完成上述步骤后,我们可以使用dpkg-deb命令将example文件夹打成一个.deb文件。打开终端,切换到example文件夹所在的目录,然后执行以下命令: dpkg-deb -b example 执行完毕后,会生成一个名为example.deb的文件,即制作完成的deb。我们可以通过dpkg命令进行安装、卸载或管理该软件。例如,要安装example.deb,可以执行以下命令: sudo dpkg -i example.deb 通过上述步骤,我们就完成了一个简单的dpkg制作deb的例子。当然,实际制作deb时可能还涉及其他要求和步骤,例如设置文件权限、预/后安装脚本等,这取决于具体的软件需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值