一、deb简介

  deb是一种安装包的格式,linux上常见的安装包主要是deb、rpm

二、deb简单使用

# deb安装   sudo dpkg -i webcamera_1.0_amd64.deb
# deb卸载 sudo dpkg -r webcamera
# deb生成 dpkg -b deb webcamera_1.0_amd64.deb

三、打包 - 正文

# 打包的命令
dpkg -b 文件夹名称 安装包名称
dpkg -b deb webcamera_1.0_amd64.deb

因为linux上我主要是做国产系统(kylin + UOS),所以打包也要考虑到国产系统的规范。下面的要求应该是上传应用商店的要求,虽然我的程序不需要上架应用商店,但是为了规范最起码安装包的名称还是需要按照国产系统的规范来的。

kylin打包规范
1.命名:packageName_version_platform.deb
2.平台可选:mips64el amd64 arm64 loongarch64
3.control文件,关键字首字母大写,冒号后面必须有空格
4.control文件,必填字段:Package、Version、Architecture、Maintainer、Description,且内容不能为空
5.control文件,建议字段:Depends、Section、Priority。参考:https://www.debian.org/doc/debian-policy/ch-controlfields.html
# 目录结构

deb
- DEBIAN
- - control // 包信息
- - postinst // 安装后脚本
- - prerm // 卸载前脚本
- opt
- - webCamera
- - - webCamera
- - - start.sh
- - - eloam.rules
# control 描述文件

Package: webcamera
Version: 1.0
Architecture: amd64
Maintainer: huyang
Priority: optional
Description: server
# postinst 文件

#!/bin/bash chmod 777 /opt/webcamera/webcamera
chmod 777 /opt/webcamera/start.sh cp /opt/webcamera/webcamera.desktop /usr/share/applications/webcamera.desktop # 桌面快捷方式,kylin:桌面 UOS:Desktop
if [ -d ~/桌面 ];then
cp /opt/webcamera/webcamera.desktop ~/桌面/webcamera.desktop
else
cp /opt/webcamera/webcamera.desktop ~/Desktop/webcamera.desktop
fi # rules
cp /opt/webcamera/eloam.rules /etc/udev/rules.d/eloam.rules
sudo udevadm control --reload-rules
# prerm 钩子文件

#!/bin/bash

rm -rf /opt/webcamera/*.log
rm /usr/share/applications/webcamera.desktop
rm ~/桌面/webcamera.desktop

主要就是几个描述文件,如果你的程序不需要钩子,那只要一个 control 描述文件就可以了

DEB打包教程的更多相关文章

  1. Inno打包教程_百度经验

    Inno打包教程 Inno工具,是比较常用的打包软件.简简单单,一招叫你学会使用inno打包. 工具/原料 inno setup 软件 方法/步骤 双击桌面的:Inno setup compiler图 ...

  2. 关不掉的小姐姐程序python tkinter实现 学习---打包教程

    首先,我们先准备两个.py文件,还要图片文件         代码//是我自己手写的,copy时记得删掉,不然有可能错误,比如中英文啥的    当然 一些语法的无问题就百度,都能给你答案 第一个.py ...

  3. WeX5 苹果APP打包教程

    来源:http://docs.wex5.com/app-packing/ WeX5平台App打包教程 WeX5是前端快速开发框架,可开发跨端运行应用,是移动App/微信/WebApp开发利器,一次开发 ...

  4. C# winform Visual Studio Installer打包教程

    C# winform  Visual Studio Installer打包教程 软件在功能开发实现后,其实并没有真正的完成.对于一个专业的开发者来说,Release软件应该是以安装版本的形式进行发布的 ...

  5. InstallShield 2015 Limited Edition 打包教程

    InstallShield 2015 Limited Edition 打包教程 右键解决方案,新增项目,选择其他项目类型,安装和部署. InstallShield2015可以免费使用,但需要下载.安装 ...

  6. linux软件deb打包及开机管理员自启动

    环境:Ubuntu 18.04/16.04  Qt:5.12.6 一 deb打包 1.建立目录结构 2.目录内容 1) 子目录DC520: Get以上内容步骤: (1)   创建目录DC520(自己软 ...

  7. 使用deb 打包开发的postgres extension 另外一种方法

    已经写过一个deb 包打包的方法,我们同时也可以使用dpkg-deb 命令 安装依赖工具包 推荐安装全点的 sudo apt-get install build-essential autoconf ...

  8. 使用deb 打包开发的postgres extension

    昨天写过一个使用rpm 打包分发pg 扩展的demo,今天使用deb 进行打包分发,同时使用checkinstall 生成我们的deb包 安装deb 依赖 sudo apt-get install c ...

  9. Install Shield 打包教程

    我的是已经下载过打包工具InstallShield2013LimitedEdition,没有下载的只有下面那个灰色的的图标,不过没关系选中灰色的点确定直接跳到下载页面了.下载完成后再重新添加安装和部署 ...

  10. Inno setup 简单打包教程

    转自:http://blog.csdn.net/ruifangcui7758/article/details/6662646 前段时间关注了VC6.0自带的Installshield打包的使用方法,感 ...

随机推荐

  1. 在Bind DNS Server中添加一个开发环境的域名

    1.Create Master Zone 我们的开发域名约定为dudusoft.cn 输入2个字段,然后提交 2.在域名里面,添加主机记录 点击上图的"Address(0)",出现 ...

  2. 面试官:说说volatile底层实现原理?

    在 Java 并发编程中,有 3 个最常用的关键字:synchronized.ReentrantLock 和 volatile. 虽然 volatile 并不像其他两个关键字一样,能保证线程安全,但 ...

  3. 【Azure 环境】Azure Key Vault 采用自签名证书,是否需要CA provider

    关于 Azure Key Vault 证书,密钥保管库证书支持适用于 x509 证书管理,它提供以下行为: 允许证书所有者通过密钥保管库创建过程或通过导入现有证书来创建证书. 包括自签名证书和证书颁发 ...

  4. UserWarning: To get the last learning rate computed by the scheduler, please use `get_last_lr()`

    将 lr = scheduler.get_lr() 改为 lr = scheduler.get_last_lr()

  5. Java 关于抽象类匿名子类

    1 package com.bytezreo.abstractTest; 2 3 /** 4 * 5 * @Description Abstract 关键字使用 6 * @author Bytezer ...

  6. Python 初学者容易踩的坑

    哈喽大家好,我是咸鱼. 今天咸鱼列出了一些大家在初学 Python 的时候容易踩的一些坑,看看你有没有中招过. 原文:https://www.bitecode.dev/p/unexpected-pyt ...

  7. centos 磁盘满

    1.使用命令:df -lk 找到已满磁盘 2.使用命令:du --max-depth=1 -h 查找大文件,删除

  8. Spring与微服务

    Spring与微服务 微服务论文 Melvyn Conway 的意识是,像下图所展示的,设计一个系统时,将人员划分为 UI 团队,中间件团队,DBA 团队,那么相应地,软件系统也就会自然地被划分为 U ...

  9. 摆脱鼠标系列 - vscode - 页内 Ctrl + F 搜索完 回车下一个,选到后按 Esc退回到编辑状态

    为什么 这个很基础,但是没有细细整理 摆脱鼠标系列 - vscode - 页内 Ctrl + F 搜索完 回车下一个,选到后按 Esc退回到编辑状态 之前还找了个快捷键 Alt + Enter,发现冲 ...

  10. 摆脱鼠标系列 - Alt + N 快速切换vscode多个项目 - HotKeyP

    摆脱鼠标系列 - Alt + N 快速切换vscode多个项目 用的软件是 HotKeyP 打开软件选择vscode vscode里面的 project那个插件也很好,但是需要打开vscode以后,这 ...