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

# 大文件打包很慢,可以使用压缩算法提速;300M文件由73s提速到2s多

dpkg -Znone -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 描述文件就可以了

相关内容