简易DEB包制作方法
随意创建一个目录,在该目录下创建一个DEBIAN的文件夹,例如创建一个名为deb的目录,该目录下的文件结构如下:
deb
└── DEBIAN
├── control
├── postrm
└── preinst
编辑control文件内容
Package: package-name #包名
Version: package-version #包版本号
Architecture: all #可安装的架构,可指定ARM、AMD64、MIPS、Loongarch64
Maintainer: uos <uos@uniontech.com> #安装包制作者邮箱
Section: Network #安装包的软件类别
Priority: standard
Homepage: https://chinauos.com/home #公司官网/个人主页
Depends: deepin-elf-verify (>= 0.0.16.7-1), deepin-elf-verify (>= 0.0.16.7-1) #安装包所需依赖的依赖包及版本
Description: 描述 #描述安装包是用来干嘛的
Section
字段填写参考
填写值 | 启动器中的分类 |
---|---|
Network | 网络应用 |
Chat | 社交沟通 |
Audio | 音乐欣赏 |
AudioVideo | 视频播放 |
Graphics | 图形图像 |
Game | 游戏娱乐 |
Office | 办公学习 |
Reading | 阅读翻译 |
Development | 编程开发 |
System | 系统管理 |
posinst钩子脚本编写
#!/bin/bash
xxxxxx #填写业务逻辑脚本
#双击安装该软件包时执行该脚本,如果有在安装包中放除DEBIAN外的目录,则在安装时根据该目录结构在系统中创建相应的目录结构,该脚本会在目录结构解压完成后开始执行
postrm钩子脚本编写
#!/bin/bash
xxxxxx #填写业务逻辑脚本
#双击卸载/重装该软件包时执行该脚本,如果有在安装包中放除DEBIAN外的目录,则在安装时根据该目录结构在系统中创建相应的目录结构,卸载和重装会删除该目录结构无需创建代码自行删除,该脚本会在安装器删除软件包目录结构后开始执行
preinst
#!/bin/bash
xxxxxx #填写业务逻辑脚本
#双击安装该软件包时执行该脚本,如果有在安装包中放除DEBIAN外的目录,则在安装时根据该目录结构在系统中创建相应的目录结构,该脚本会在目录结构解压前开始执行
prerm
#!/bin/bash
xxxxxx #填写业务逻辑脚本
#双击卸载/重装该软件包时执行该脚本,如果有在安装包中放除DEBIAN外的目录,则在安装时根据该目录结构在系统中创建相应的目录结构,卸载和重装会删除该目录结构无需创建代码自行删除,该脚本会在安装器删除软件包目录结构前开始执行
解包压包
fakeroot dpkg-deb -R xx.deb deb #解包
fakeroot dpkg-deb -b deb xx.deb #压包