制作 deb 包
最后更新于:2022-04-02 03:55:17
[TOC]
## 目录结构
```
|----DEBIAN
|-------control
|-------postinst(postinstallation)
|-------postrm(postremove)
|-------preinst(preinstallation)
|-------prerm(preremove)
|-------copyright(版权)
|-------changlog(修订记录)
|-------conffiles
|----etc
|----usr
|----opt
|----tm
|----boot
|-----initrd-vstools.img
```
组成:
- DEBIAN目录
- 软件具体安装目录(模拟安装目录)(如etc, usr, opt, tmp等)
### DEBIAN 目录
* postinst文件:包含了软件在进行正常目录文件拷贝到系统后,所需要执行的配置工作。
* prerm文件:软件卸载前需要执行的脚本。
* postrm文件:软件卸载后需要执行的脚本。
* control文件:这个文件比较重要,它是描述软件包的名称(Package),版本(Version),描述(Description)等,是deb包必须剧本的描述性文件,以便于软件的安装管理和索引。
```
Package 包名
Version 版本
Architecture 软件包结构,如基于i386, amd64,m68k, sparc, alpha, powerpc等
Priority 申明软件对于系统的重要程度,如required, standard, optional, extra等
Essential 申明是否是系统最基本的软件包(选项为yes/no),如果是的话,这就表明该软件是维持系统稳定和正常运行的软件包,不允许任何形式的卸载(除非进行强制性的卸载)
Section 申明软件的类别,常见的有utils, net, mail, text, devel 等
Depends 软件所依赖的其他软件包和库文件。如果是依赖多个软件包和库文件,彼此之间采用逗号隔开
Pre-Depends 软件安装前必须安装、配置依赖性的软件包和库文件,它常常用于必须的预运行脚本需求
Recommends 这个字段表明推荐的安装的其他软件包和库文件
Suggests 建议安装的其他软件包和库文件
Description 对包的描述
Installed-Size 安装的包大小
Maintainer 包的制作者,联系方式等
```
如:
```
Package: antimserver
Version: 5.5
Architecture: all
Maintainer: Kellan Fan
Installed-Size: 128
Section: devel
Priority: optional
Description: BigAnt IM serverS
```
## 制作包
`dpkg -b <包目录> <包名称>.deb`
';