首页 > 其他分享 >DEB打包教程

DEB打包教程

时间:2023-07-25 15:55:05浏览次数:42  
标签:opt control 教程 rules webcamera desktop DEB 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 描述文件就可以了

 

标签:opt,control,教程,rules,webcamera,desktop,DEB,deb,打包
From: https://www.cnblogs.com/shiyixirui/p/17580069.html

相关文章

  • CloudFlare-WARP使用教程
    title:CloudFlareWARP使用教程author:枷锁云-星尘avatar:https://pic.rmb.bdstatic.com/bjh/4d0bc5251b0b8744c872e9021acea141.pngcomments:truedate:2023-05-2020:28:22categories:技术教程tags:技术教程top_img:https://npm.elemecdn.com/[email protected]/......
  • 如何使用sourcetree for mac ,Mac版本sourcetree 教程
    Mac版本资源下载:https://mac.macsc.com/mac/1529.html?id=MzI1OTY21、sourceTreeclone仓库打开sourceTree,点击新仓库(1)->从url克隆(2),如下如下图所示,粘贴源url路径,自动补全或者手动选择目标路径和名称.点击上图 "clone"按钮,待克隆完毕后(或者双击本地仓库......
  • beef-xss实现XSS详细教程
    XSS作为OWASPTOP10之一。XSS中文叫做跨站脚本攻击(Cross-sitescripting),本名应该缩写为CSS,但是由于CSS(CascadingStyleSheets,层叠样式脚本)重名,所以更名为XSS。XSS(跨站脚本攻击)主要基于javascript(js)来完成恶意的攻击行为。XSS是一种经常出现在web应用中的计算机大全漏洞,也是web......
  • 架设传奇的时候登录器卡着不动的解决教程
    GOM/GEE引擎登陆器生成慢卡着不动的解决方法,如果发现你生成登陆器慢时一般就是这里面的补丁太多,这也是有时候登陆器几十上百M,特别大的原因。 GOMGEE的大部分都有一个自定义补丁文件夹,在生成登陆器时,在登陆器的文件夹下面一般还有一个补丁文件夹这个补丁文件夹里的补丁是在生成......
  • python入门教程(非常详细),从零基础入门到精通,看完这一篇就够了
    python入门教程(非常详细),从零基础入门到精通,看完这一篇就够了 本文罗列了了python零基础入门到精通的详细教程,内容均以知识目录的形式展开。 01.python由来与发展介绍 02.项目开发流程   第一章markdown编辑器 01.markdown基本语法 02.Typora简介与安装......
  • 无涯教程-jQuery - remove( expr )方法函数
    remove(expr)方法从DOM中删除所有匹配的元素。这不会将它们从jQuery对象中删除,而是允许您进一步使用匹配的元素。与empty()方法进行比较。remove(expr)-语法selector.remove(expr)这是此方法使用的所有参数的描述-expr   - 这是一个可选的jQuery表达式,用于......
  • 【教程】超详细通过Shizuku转生微信集成WeXposed实现防撤回与红包
    目录环境准备开始搞事激活Shizuku转生微信配置微信抢红包防撤回环境准备LSPatchappShizukuappWeXposed app微信app(需要老版本,如8.0.20之前的:微信老旧版本大全)Windows电脑:(这个请自备)adbexe以上软件下载链接:https://sxf1024.lanzouo.com/b09u13mqh密码:xfxuezhang开始搞事以上......
  • vs c#判断程序是否调试模式,开发模式,发布模式,Debug模式,Release模式
    转发自:https://blog.csdn.net/qq_37664403/article/details/1187471951.Debug模式,Release模式#ifDEBUGConsole.WriteLine(“Debug模式”);#elseConsole.WriteLine(“Release模式”);#endif此方法适合习惯好的程序员,但是对我来说不怎么习惯使用,因为调试个代码,和不在调试情况下运......
  • Java开发笔记之mac的intellij idea在debug模式下卡住的问题
    0x00问题描述mac的Intellijidea在debug模式下放行时,程序会卡住无响应;即使在已经放行的情况下,后续代码也不运行,console内只显示Theapplicationisrunning或者等了很久程序才开始后续的运行。 0x01解决方案修改host中的配置。通过以下命令,打开hosts的编辑页面。sudovi......
  • Debian挂载Web-DAV
     ---------------------------------------------------------- 第一种方案===================================== 1.安装davfs2:apt-getinstalldavfs2  -y   2.配置davfs2:在/etc/davfs2/secrets中添加如下一行即可:"http://127.0.0.1:9001/"  admin  admi......