一、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. Linux Cheat Sheet

  2. 【Azure 事件中心】使用Kafka的性能测试工具(kafka-producer-perf-test)测试生产者发送消息到Azure Event Hub的性能

    问题描述 Azure Event Hub支持 kafka,所以为了测试消息生产者所在环境与Azure Event  Hub之间发送消息的性能如何,特别使用 kafka 官方测试生产者,消费者的性能工具 ...

  3. expect tcl 摘录

    目录 部分参考来源说明 例子 expect命令 核心命令有三个 spawn.expect.send 其他expect命令 expect命令的选项 变量 tcl摘录 数据类型 符号 命令 其他说明 部分 ...

  4. 如何当个优秀的文档工程师?从 TC China 看技术文档工程师的自我修养

    本文系 NebulaGraph Community Academic 技术文档工程师 Abby 的参会观感,讲述了她在中国技术传播大会分享的收获以及感悟. 据说,技术内容领域.传播领域的专家和决策者们 ...

  5. [C++] does not name a type

    从网上找到了以下几点 https://blog.csdn.net/fly20180712/article/details/88306008 1.没有加调用函数的头文件 2.不存在xxx命名空间 3.包 ...

  6. Lock wait timeout exceeded; try restarting transaction-Mysql报错

    一.问题由来 现在在做一个小程序的后台,使用Java写的,数据库使用的Mysql,之前一直调试的时候都好好的,今天在调试的时候突然就报一个错: ### Error updating database. ...

  7. vitepress 发布到 gitee上的build命令 自动设置base

    docs.vitepress\config.js const argv = require('minimist')(process.argv.slice(2)) const build = argv. ...

  8. WPF之资源

    目录 WPF对象资源的定义和查找 动态.静态使用资源 向程序添加二进制资源 字符串资源 非字符串资源 使用Pack URI路径访问二进制资源 WPF不但支持程序级的传统资源,同时还推出了独具特色的对象 ...

  9. 用户不在 sudoers 文件中。此事将被报告

    在终端,进入root模式 vim /etc/sudoers 在    sudo (ALL:ALL) ALL下 添加 用户名 (ALL:ALL) ALL

  10. 【报错处理】npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules/yarn

    一.报错现象 二.报错原因 权限不够 三.解决方法 加上sudo sudo npm install -g yarn