Linux 制作 deb 包
Deb 包结构
deb 包结构包含两部分:
- 控制信息(DEBIAN 目录)
- 安装内容(etc、usr等目录)
DEBIAN 目录通常包含一下文件:
文件名 | 描述 |
---|---|
control | 主要描述软件包的名称(Package)、版本(Version)以及描述(Description)等,是 deb 包必须具备的描述性文件,以便于软件的安装管理和索引。同时为了能将软件包 进行充分的管理。 |
postinst | 该脚本的主要任务是完成安装包时的配置工作。许多 postinst 脚本负责执行有关命令为新安装或升级的软件重启服务。 |
postrm | 软件卸载后需要执行的脚本,主要负责修改软件包链接文件、或删除创建的文件。 |
preinst | 在 Deb 包文件解包之前,将会运行该脚本。许多 preinst 脚本的任务是停止作用于待升级软件包的服务,直到软件包安装或升级完成。 |
prerm | 软件卸载前需要执行的脚本,主要负责停止与软件包相关的 daemon 服务。 |
copyright | 版权许可。 |
changlog | 修订记录。 |
conffiles | 配置文件。 |
Deb 包制作
deb 包的制作有三种情况:
- 源码包制作 deb 包
- deb-src 包制作 deb 包
- 修改现有的 deb 包制作新的 deb 包
源码包制作 deb 包
源码包制作 deb 包一般常用有两种方法:
- 方法一:使用 checkinstall —— checkinstall 不仅可以生成 deb 包,还可以生成 rpm 包,使用简单,但是不灵活,功能粗糙。
- 方法二:使用 dpkg 工具 dh-make —— dpkg 是最基本的制作 deb 包的方法。