Debian系列打包deb

391 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一、前言

DEBIAN系列的Linux发行版,通用deb格式的标准归档,将包文件信息以及包内容,经过gzip和tar打包而成。

二、打包命令

dpkg -b [待打包文件夹] [打包后的包名].deb 例如: dpkg -b /home/yuan/package/MyApp /home/yuan/package/MyApp-1.0.1-amd64.deb

三、打包说明

1.文件内容

1.1 必须包含一个DEBIAN文件夹,包含control、preinst、postinst、prerm、postrm五个文件,其中control文件是必需的,并且这里的文件并且都是0755权限,否则打包失败

修改权限命令:

chmod 755 /home/yuan/package/MyApp/DEBIAN/*

文件说明:

control: 定义安装包的信息
preinst: 安装前执行脚本,常用于安装前的环境鉴别
postinst: 安装后执行脚本,常用于创建用户配置数据文件
prerm: 卸载前执行脚本,常用于保存用户配置数据
postrm: 卸载后执行脚本,常用于做清理工作

1.2 在DEBIAN同级目录下创建文件夹,安装后会对应在根目录下创建

例如:

/home/yuan/package/MyApp/opt/MyApp/bin/startApp.exe 安装后 /opt/MyApp/bin/startApp.exe

1.3 桌面快捷方式

创建MyApp.desktop文件,并放在/home/yuan/package/MyApp/usr/share/applications/MyApp.desktop这个路径

2.文件说明

2.1 control文件说明:

Package: 软件包名
Version: 版本号
Section: utils (admin(管理),games(游戏),gnome,kde,mail(电子邮件),misc(杂项)<译者注:misc是miscellaneous的简称>,net(网络),sound(声音),text(文本),utils(实用工具)和web(万维网)
Priority: required standard optional extra 表示软件的优先级
Essential: yes no 表示是否是系统最基本的软件包 Architecture: i386 amd64 arm64 mips64el 表示软件的CPU架构
Maintainer: 维护者开发者[邮件地址]
Depends: 依赖
Description: 详细介绍\

四、示例文件

示例control文件:

Package: MyApp
Version: 1.0.1
Section: utils
Priority: optional
Essential: no
Architecture: amd64
Maintainer: 1107839806(a)qq.com
Depends: apt
Description: 这是我开发的一个工具软件