Ubuntu deb安装包打包流程说明
分析tree_1.8.0-1_arm64.deb内容结构
-
解开包到指定目录: dpkg -X tree_1.8.0-1_arm64.deb tree
-
提取deb包的元信息到目录tree/DEBIAN: dpkg -e …/tree_1.8.0-1_arm64.deb
-
tree目录结构: 子目录DEBIAN和usr
-
tree/DEBIAN/control文件内容,打包会用到此文件
名称 含义 Package 包名字 Version 版本号 Architecture 硬件架构(x86/amd64/arm32/arm64…) Maintainer 维护者 Original-Maintainer 原始维护者 Installed-Size 安装大小 Depends 对其他包的依赖 Section 归属区 Priority 优先级 Homepage 主页 Description 描述 -
tree/DEBIAN/md5sum 包含usr子目录下所有文件的md5sum校验码
-
重新打包
构建deb安装包流程
- 准备软件安装目录结构,将相应文件放到对应子目录下,比如,./usr/bin/xxx放置bin可执行文件,./usr/lib/xxx.lib 放置库文件,等等,如果不指定安装路径,安装后这些文件会放到系统根目录下的相应目录下
- 准备DEBIAN子目录下的文件。 control文件比较重要项: Package、Version、Architecture、Depends。 md5sum文件包含除了DEBIAN目录下的所有文件md5sum校验结果,可用find+xargs命令生成:
find ./ -type f -print0 | xargs -0 md5sum > ./my.md5
- 打包: dpkg -b <包路径> <包文件名字>,e.g.,
dpkg -b tree tree_1.8.0-1_arm64.deb
- 指定路径打开安装
dpkg -X tree_1.8.0-1_arm64.deb ./opt