DEB打包教程
一、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打包教程的更多相关文章
- Inno打包教程_百度经验
Inno打包教程 Inno工具,是比较常用的打包软件.简简单单,一招叫你学会使用inno打包. 工具/原料 inno setup 软件 方法/步骤 双击桌面的:Inno setup compiler图 ...
- 关不掉的小姐姐程序python tkinter实现 学习---打包教程
首先,我们先准备两个.py文件,还要图片文件 代码//是我自己手写的,copy时记得删掉,不然有可能错误,比如中英文啥的 当然 一些语法的无问题就百度,都能给你答案 第一个.py ...
- WeX5 苹果APP打包教程
来源:http://docs.wex5.com/app-packing/ WeX5平台App打包教程 WeX5是前端快速开发框架,可开发跨端运行应用,是移动App/微信/WebApp开发利器,一次开发 ...
- C# winform Visual Studio Installer打包教程
C# winform Visual Studio Installer打包教程 软件在功能开发实现后,其实并没有真正的完成.对于一个专业的开发者来说,Release软件应该是以安装版本的形式进行发布的 ...
- InstallShield 2015 Limited Edition 打包教程
InstallShield 2015 Limited Edition 打包教程 右键解决方案,新增项目,选择其他项目类型,安装和部署. InstallShield2015可以免费使用,但需要下载.安装 ...
- linux软件deb打包及开机管理员自启动
环境:Ubuntu 18.04/16.04 Qt:5.12.6 一 deb打包 1.建立目录结构 2.目录内容 1) 子目录DC520: Get以上内容步骤: (1) 创建目录DC520(自己软 ...
- 使用deb 打包开发的postgres extension 另外一种方法
已经写过一个deb 包打包的方法,我们同时也可以使用dpkg-deb 命令 安装依赖工具包 推荐安装全点的 sudo apt-get install build-essential autoconf ...
- 使用deb 打包开发的postgres extension
昨天写过一个使用rpm 打包分发pg 扩展的demo,今天使用deb 进行打包分发,同时使用checkinstall 生成我们的deb包 安装deb 依赖 sudo apt-get install c ...
- Install Shield 打包教程
我的是已经下载过打包工具InstallShield2013LimitedEdition,没有下载的只有下面那个灰色的的图标,不过没关系选中灰色的点确定直接跳到下载页面了.下载完成后再重新添加安装和部署 ...
- Inno setup 简单打包教程
转自:http://blog.csdn.net/ruifangcui7758/article/details/6662646 前段时间关注了VC6.0自带的Installshield打包的使用方法,感 ...
随机推荐
- 在 Spring Boot 3.x 中使用 SpringDoc 2 / Swagger V3
SpringDoc V1 只支持到 Spring Boot 2.x springdoc-openapi v1.7.0 is the latest Open Source release support ...
- mybatis查询大批量数据的几种方式
问题背景 公司里有很多需要跑批数据的场景,这些数据几十万到几千万不等,目前我们采用的是分页查询,但是分页查询有个深度分页问题,上百万的数据就会查询的很慢 常规解决方案 全量查询 分页查询 流式查询 游 ...
- Spring配置xml自定义事务管理器
上一篇博客讲解了Spring配置xml事务,使用的是Spring框架提供的事务管理器. 在本篇博文当中,来讲解一下使用自定义的事务管理方式. 把上一篇博文当中的这个配置 <bean id=&qu ...
- C++数值类型与string、CString之间的转换
目录 数值范围 数值类型与string互相转换 数值类型转换为string 使用函数模板+ostringstream 使用标准库函数std::to_string() string转换为数值类型 使用函 ...
- WPF之属性
目录 属性 依赖属性(Dependency Property) 依赖属性对内存的使用方式 声明和使用依赖属性 声明依赖属性 使用依赖属性 依赖属性的"属性" 依赖属性的" ...
- Android 设置任意View的背景为圆形或圆角
原文地址: Android 设置任意View的背景为圆形或圆角 - Stars-One的杂货小窝 我的需求主要还是在SurfaceView需要设置为圆形背景,在网上找了下,发现一个可行方法,做个记录 ...
- 手把手制作mobileconfig文件,在iphone上创建h5网页桌面图标
1,下载mobileconfig文件制作工具 下载地址:点击关注公众号,回复appicon, 获取工具的下载地址 新建配置描述文件,填写通用信息 填写Web Clip信息 点击菜单栏的导出,注意这里一 ...
- SQLI-LABS(Less-9、10)
Less-9(GET-Blind-Time based-Single Quotes) 打开Less-9页面,可以看到页面中间有一句Please input the ID as parameter wi ...
- uniapp中引入Leaflet
1. 引言 uniapp中自带有map组件,并且自带的map组件有常见的显示地图.绘制点线面的功能 但是,它存在以下问题: 收费,自带的map组件使用的是高德.腾讯的地图,无论使用什么样的功能,即使只 ...
- 记录--CSS 滚动驱动动画 scroll()
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 CSS 滚动驱动动画 scroll() animation-timeline 通过 scroll() 指定可滚动元素与滚动轴来为容器动画提 ...