打包Linux的deb包

打包Linux的deb包

在这里插入图片描述

需事先准备
软件打包依赖
1. sudo apt update
2.sudo apt-get install dh-make build-essential devscripts debhelper
3.所需打包的源码包``

  1. 准备打包目录
    创建一个构建 deb 包的目录,目录以 包名-版本号 命名,如
    test@test-pc:~/桌面$ mkdir KylinSunScan

  2. 构建规范的软件目录
    构建一个规范的软件目录,用来按规则放置软件的各类文件,完整的目录结 构为
    test@test-pc:~/桌面/KylinSunScan$ tree -d
.└── sunscan-1.0.0
└── sunscan
├── opt
│   └── apps
│       └── SunScan  需要打包的软件源码
└── usr
├── data
│   └── font
└── share
├── applications desktop文件存放处
└── icons
└── hicolor

3.创建.desktop 文件

内容实例如下,按需添加
在这里插入图片描述
属性解释
[Desktop Entry] #文件头
Name #英文名称
Name[zh_CN]#中文名称
Comment#软件英文注解
Comment[zh_CN]#软件中文注解
Exec#软件运行文件绝对路径
Icon#图标名
Terminal#是否使用终端
Type#启动器类型
Categories#应用类型

4.创建 DEBIAN 目录( control 、rules、postinst 可参考复用,也可新增打包脚本,主要改这些)
对应架构操作系统输入 dh_make --createorig -s 自动构建,往里加逻辑
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

``control:
位置: debian/control
作用: 这个文件是Debian包元数据的一部分,它定义了软件包的名称、版本、依赖关系、描述以及与其他包的关系等信息。通过这个文件,系统能够了解到如何处理该软件包及其依赖。

rules:
位置: debian/rules
作用: 这是一个Makefile脚本,用于定义如何从源代码构建Debian软件包的具体步骤。它包含了编译、链接、安装等命令。开发者可以在这个脚本中添加自定义的构建步骤或参数,以满足特定的构建需求。

postinst:
位置: debian/.postinst
作用: 这是一个安装后脚本(Post-installation script),当软件包被安装到系统上之后自动执行。它通常用于执行一些需要在软件包安装完成后进行的配置工作,比如创建系统用户、修改权限设置、更新系统数据库或者启动服务等。此脚本需要可执行权限,并且应该使用dh_installdeb命令注册到软件包中。``

prerm:
位置: debian/.prerm
作用: 这是一个预卸载脚本(Pre-removal script),在软件包被卸载之前运行。它的主要任务是执行所有必要的清理操作,以便软件包可以安全地从系统中移除。这可能包括停止相关服务、清理临时文件或备份配置文件等操作,为卸载过程做准备。

postrm:
位置: debian/.postrm
作用: 卸载后脚本(Post-removal script),在软件包已经被完全卸载后执行。此脚本用于完成那些必须在软件包彻底消失于系统之后才能进行的操作,例如删除不再需要的系统用户、清理残留的目录结构或是从系统数据库中注销条目等。

config:
虽然直接提及config脚本不如上述几个常见,但在某些情况下,软件包可能会提供一个config或config.sub、config.guess等文件来辅助配置检测或生成适用于目标系统的配置文件。这些脚本或工具帮助确定编译时的系统特性,确保软件能够正确编译和运行在不同的硬件架构和操作系统环境中。

copyright:
位置: debian/copyright
作用: 虽不直接参与构建或安装过程,但此文件对于遵守开源许可协议至关重要。它包含了软件包内所有组件的版权信息和许可声明,确保用户能够清楚了解软件的授权状况,对于维护开源生态的合规性极为重要。

5.开始构建软件包 (最终结晶产物 deb包)
使用命令进行打包
推荐使用 dpkg-buildpackage -rfakeroot -d -us -uc
可以使用: debuild -i -us -uc -b
在这里插入图片描述
在这里插入图片描述
6.验证
安装deb,检查功能是否正常 有两种方式
1.终端安装命令: sudo dpkg - i 软件名.deb
输入管理员密码安装

2.界面双击deb包进行安装即可

部分包需要重启电脑,才会生效,本次使用的机器是 x86的银河麒麟打包,用相同机器可打包 其他x86架构的系统包

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1. 安装Qt 首先需要安装Qt,可以通过以下命令进行安装: ``` sudo apt-get install qt5-default ``` 2. 编写Qt程序 编写Qt程序并进行编译,生成可执行文件。 3. 创建Debian目录结构 在程序的根目录下创建一个名为`debian`的目录,该目录中需要含以下文件: - control:描述软件的元数据,括软件名称、版本、依赖关系等信息。 - changelog:软件的更改日志。 - rules:打包软件的规则。 - compat:指定打包软件所使用的debhelper版本。 可以通过以下命令创建Debian目录结构: ``` dh_make --createorig ``` 4. 编辑control文件 编辑`debian/control`文件,需要含以下内容: ``` Source: package-name Section: devel Priority: optional Maintainer: Your Name <youremail@domain.com> Build-Depends: debhelper (>= 9), qt5-default Standards-Version: 3.9.3 Package: package-name Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: Description of package-name ``` 其中,`package-name`需要替换为软件的名称,`Maintainer`需要替换为你的名字和邮箱地址,`Description`需要替换为软件的描述。 5. 编辑changelog文件 编辑`debian/changelog`文件,需要含以下内容: ``` package-name (version) distribution; urgency=low * Initial release. -- Your Name <youremail@domain.com> Wed, 01 Jan 2020 00:00:00 +0800 ``` 其中,`package-name`需要替换为软件的名称,`version`需要替换为软件的版本号,`distribution`需要替换为Linux发行版的名称,`Your Name`和`youremail@domain.com`需要替换为你的名字和邮箱地址。 6. 编辑rules文件 编辑`debian/rules`文件,需要含以下内容: ``` #!/usr/bin/make -f %: dh $@ ``` 7. 编辑compat文件 编辑`debian/compat`文件,需要含以下内容: ``` 9 ``` 8. 打包程序 在程序的根目录下运行以下命令进行打包: ``` debuild -us -uc ``` 该命令将在当前目录下生成一个`.deb`文件,即为打包好的软件。 至此,将Qt程序打包deb的步骤就完成了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值