打包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架构的系统包

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3267208.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

PostgreSQL 数据库 安装

1、官网下载 起源与发展:PostgreSQL最初起源于加州大学伯克利分校的Postgres项目,该项目始于1986年,并一直演进到1994年。在1995年,Postgres项目增加了SQL翻译程序,并更名为Postgres95。随后,在1996年&…

【教程向】pyside2环境搭建以及快速上手

一、环境搭建 下载地址: https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 推荐使用的版本: Anaconda3-2020.02-Windows-x86_64.exe python3.6以上,好像最新的python也不太支持,所以推荐给的这个版本 安装pyside2 pip i…

鸿蒙应用框架开发【多HAP】程序框架

多HAP 介绍 本示例展示多HAP开发,简单介绍了多HAP的使用场景,应用包含了一个entry HAP和两个feature HAP,两个feature HAP分别提供了音频和视频播放组件,entry中使用了音频和视频播放组件。 三个模块需要安装三个hap包&#xff…

昇思25天学习打卡营第22天|CycleGAN图像风格迁移互换

相关知识 CycleGAN 循环生成网络,实现了在没有配对示例的情况下将图像从源域X转换到目标域Y的方法,应用于域迁移,也就是图像风格迁移。上章介绍了可以完成图像翻译任务的Pix2Pix,但是Pix2Pix的数据必须是成对的。CycleGAN中只需…

【计算机网络】静态路由实验

一:实验目的 1:掌握通过静态路由方法实现网络的连通性。 二:实验仪器设备及软件 硬件:RCMS-C服务器、网线、Windows 2019/2003操作系统的计算机等。 软件:记事本、WireShark、Chrome浏览器等。 三:实验方…

从零开始:在linux系统安装MongoDB数据完整指南 新手常用命令

1 前言 MongoDB 是为快速开发互联网应用而设计的数据库系统。MongoDB 的设计目标是极简、灵活、作为 Web 应用栈的一部分。MongoDB 的数据模型是面向文档的,所谓文档是一种类似于json的结构。 官网教程:https://www.mongodb.com/docs/manual/ 2 安装部…

【专题】逻辑代数基础

1. 基本概念 逻辑:事物间的因果关系。 逻辑运算:逻辑状态按照指定的某种因果关系继续推理的过程。 逻辑代数:描述客观事物逻辑关系的数学方法,又称布尔代数。 逻辑变量:逻辑代数中的变量。 二值逻辑中,…

解决win10家庭版找不到Hyper-V的问题

Windows 10家庭版在默认的“启用或关闭Windows功能”中不直接包含Hyper-V选项,但可以通过手动步骤来启用它。以下是详细的解决方案: 步骤一:检查电脑是否支持Hyper-V 首先,确认电脑硬件是否支持Hyper-V功能。 打开Windows Powe…

一文弄懂 Nginx

文章目录 1.第⼀部分:Nginx基础回顾1.1 正向代理(Forward Proxy)1.2 反向代理(Reverse Proxy)1.3 Nginx的特点 2. 第⼆部分:Nginx核⼼配置⽂件解读2.1 全局块2.2 events块2.3 http块2.4 示例配置 全局块配置…

libevent入门篇

文章目录 概述下载编译目录samplehello-world初始化创建监听器处理连接处理信号 build 小结 概述 libevent 和 libev 都是由 c 实现的异步事件库;注册异步事件,检测异步事件,根据事件的触发先 后顺序,调用相对应回调函数处理事件…

【Test】一篇文章带你深入详细了解 QWidget 的属性

文章目录 1. 初步认识控件 QWidget2. QWidget2.1 enable 属性2.2 geometry 属性2.3 WindowFrame 的影响2.4 windowTitle 属性2.5 windowIcon 属性2.6 使用 qrc 文件管理资源2.7 QWidget 控件的 windowOpacity 属性2.8 QWidget 的 cursor 属性2.9 QWidget 的 font 属性2.10 QWid…

项目管理中的常用工件(二):可视化工件

项目管理中的常用工件(二):可视化工件 亲和图(affinity diagram)因果图(cause-and-effect diagram)直方图(histogram)流程图(flowchart)散点图&am…

【反证法】932. 漂亮数组

本文涉及知识点 分治 数学 反证法 LeetCode932. 漂亮数组 如果长度为 n 的数组 nums 满足下述条件&#xff0c;则认为该数组是一个 漂亮数组 &#xff1a; nums 是由范围 [1, n] 的整数组成的一个排列。 对于每个 0 < i < j < n &#xff0c;均不存在下标 k&#x…

Sip for Mac:强大的屏幕取色软件

Sip for Mac是一款功能强大的屏幕取色工具软件&#xff0c;专为设计师、开发者和创作者打造。这款软件以其精准的取色功能和丰富的颜色管理选项而备受好评。 Sip的核心功能是提供多种取色工具&#xff0c;包括拾色器、取色板和屏幕取色等&#xff0c;使用户能够轻松地从屏幕上…

掌握AJAX技术:从基础到实战

文章目录 **引言****1. 什么是AJAX&#xff1f;****2. AJAX的工作原理**AJAX 示例使用 Fetch API 实现 AJAX **3. 如何在项目中使用AJAX****4. 处理AJAX请求的常见问题****5. AJAX与JSON的结合****6. 使用AJAX框架和库****7. 实战&#xff1a;创建一个动态表单****8. AJAX中的事…

PyQt5 + selenium,自动票务工具,演唱会门票,学习使用

PyQt5 selenium&#xff1b;在damai工具的基础上加入了UI界面&#xff0c;并将应用做了打包工作&#xff0c;主要是方便不会/不想折腾环境的用户使用&#xff0c;抢票的核心代码来自由于原作者不再维护&#xff0c;自己修改了部分代码。 安装教程 解压安装包到任意位置&…

基于Cobbler实现多版本系统批量部署

一、实验题目 基于Cobbler实现多版本系统批量部署 二、实验目的 通过Cobbler&#xff0c;实验旨在实现无需人工干预即可自动安装多个版本的操作系统。这可以大大提高机房设备或服务器集群的部署效率&#xff0c;减少人力成本和操作错误。 三、实验环境 centos7.9并安装Cob…

科研指标精准管理,构建智能可视化的科研生态系统

随着大数据、人工智能技术的发展&#xff0c;许多学科的现代化发展需求增强&#xff0c;科研领域产生的数据量急剧增加&#xff0c;传统的数据处理方式已经无法满足科研工作的需求。如何有效管理、分析和展示这些数据&#xff0c;成为科研工作的关键。 而可视化技术可以将复杂…

如何选择财税RPA解决方案

随着大数据、物联网、人工智能以及RPA等新兴技术的迅猛发展&#xff0c;每个企业都面临着巨大的行业和技术挑战。财务作为企业运营管理的核心&#xff0c;其数字化转型成为众多企业提升管理效能和实现高质量发展的先行路径。随着RPA技术应用在财务领域的不断深入&#xff0c;越…