Debian、Ubuntu源码编译制作安装包(一)
发布日期:2021-06-30 21:33:50 浏览次数:2 分类:技术文章

本文共 2298 字,大约阅读时间需要 7 分钟。

Debian、Ubuntu系列linux操作系统制作安装包相较于CentOS更简便一些,如“dpkg -b”指令即可重新打包。如果需要源码级制作安装包则更困难一些,接下来,我们逐步分析Debian、Ubuntu源码编译制作安装包的步骤。

章节预览:

章节内容:

1. 生成源码文件夹

  首先我们准备一个可以编译通过的源码包,如openssl-1.1.1k.tar.gz,可从https://www.openssl.org(官方网站)中下载。

  接下来创建一个文件夹,把源码包拷贝进来,参考图1:

在这里插入图片描述

图1 放置源码包

  在控制台中输入 debmake -a openssl-1.1.1k.tar.gz,参考图2:

在这里插入图片描述

图2 生成安装包文件夹指令

  现在我们得到openssl-1.1.1k和openssl_1.1.1k.orig.tar.gz(openssl-1.1.1k.tar.gz的软连接),进入openssl-1.1.1k文件夹,参考图3、图4:

在这里插入图片描述

图3 生成安装包文件夹

在这里插入图片描述

图4 进入安装包文件夹

2. 修改control文件

  进入debian文件夹,打开control文件,参考图5:

在这里插入图片描述

图5 control文件

  control文件中的内容:

Source: openssl 				 //源码包名称	Section: unknown        		 //程序的类别,常见的有utils, net, mail, text, devel等	Priority: optional      		 //程序对于系统的重要程度,如required, standard, optional, extra等	Maintainer: test     			 //包的制作者,联系信息等	Build-Depends: debhelper (>=11~) //构建版本	Homepage: https://www.test.com   //主页		Package: openssl       		     //包的安装名称,查询或卸载包的时候使用	Architecture: any     			 //包所支持的架构,编译后自动转换为amd64、arm64等,amd64可在x86_64等架构使用,arm64可在arch64等架构使用等,应根据实际架构填写	Multi-Arch: foreign	Depends:                		//所依赖的其他包和库文件,如果是依赖多个包和库文件,采用逗号隔开	Description: test 		        //包的相关描述

  简单的control文件包括如下内容:

Source: openssl	Section: unknown	Priority: optional	Maintainer: test	Standards-Version: 1.1.1		Package: openssl	Architecture: any	Multi-Arch: foreign	Description: test

3. 修改rules文件

  打开rules文件,参考图6:

在这里插入图片描述

图6 rules文件

  rules文件修改如下:

#!/usr/bin/make -f# You must remove unused comment lines for the released package.#export DH_VERBOSE = 1#export DEB_BUILD_MAINT_OPTIONS = hardening=+all#export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed%:	dh $@override_dh_auto_configure:	./configoverride_dh_auto_clean:	dh_auto_cleanoverride_dh_auto_install: 	dh_auto_install override_dh_auto_modules:	dh_auto_modulesoverride_dh_auto_build:   	dh_auto_buildoverride_dh_usrlocal:

  其中

    override_dh_auto_configure
    生成配置文件,需要按照源码生成方式写入,如增加–prefix=/usr 等等,./configure --prefix=/usr

    override_dh_auto_clean

    清除编译缓存文件

    override_dh_auto_install

    编译完成后的安装

    override_dh_auto_build

    编译源码

    override_dh_usrlocal

    编译过程中遇到dh_usrlocal相关错误,用来跳过这一步、

4. 生成安装包

  准备工作完成了,现在我们回到debian上一级目录(openssl-1.1.1k),控制台中输入 dpkg-buildpackage,参考图7:

在这里插入图片描述

图7 生成安装包

  指令执行完成并且没有报错时,回到首次创建的目录(源码包同级目录),到这里完整的制作流程完成了,参考图8:

在这里插入图片描述

图8 安装包及相关文件

  现在我们生成了deb安装包和deb制作包、文件,之后可以通过修改制作包中的内容(如增加自定义文件)重新生成deb安装包。

  后续文章讲解制作包中增加自定义文件方式,及常见问题跳过等内容。

转载地址:https://lkyof.blog.csdn.net/article/details/116544290 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:厉害了!VMware ESXi安装记录,附下载
下一篇:7z用法

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月27日 18时16分04秒