DEB 包日常操作与解包实战
在大数据组件集成和日常运维中,DEB 包是 Debian/Ubuntu 体系下最核心的包管理形式。 无论是安装、卸载、查询还是解包,还包括部分高级的 DEB 包重打包,搞清楚工具依赖和常用命令,是每个工程师的基本功。
# 一、DEB 相关工具依赖说明
工具命令 | 所属包名 | 主要用途 | 适用场景 | 默认安装 |
---|---|---|---|---|
dpkg | dpkg | 安装/卸载/查询 DEB | 日常包管理 | 一般有 |
dpkg-deb | dpkg | 解包/打包 DEB 文件 | 审查与定制化 | 一般有 |
ar | binutils | 解归档 .deb 流程 | 手动分离控制与数据区段 | 常见有 |
apt | apt | 依赖安装与管理 | 在线/离线仓库管理 | 一般有 |
# 确保 dpkg 和 ar 可用
sudo apt update
sudo apt install dpkg binutils -y
1
2
3
2
3
# 二、DEB 包日常操作命令
操作内容 | 命令举例 | 说明 |
---|---|---|
安装 DEB 包 | sudo dpkg -i xxx.deb | 支持本地包安装 |
升级 DEB 包 | sudo dpkg -i 新版本.deb | 自动覆盖旧版本 |
卸载 DEB 包 | sudo dpkg -r 包名 | 保留配置文件 |
完全卸载 | sudo dpkg -P 包名 | 删除配置文件 |
查询包内文件 | dpkg -c xxx.deb | 查看包内容列表 |
查询已装包 | `dpkg -l | grep 关键字` | 搜索已安装的软件包 |
查看包详情 | dpkg -I xxx.deb | 显示控制信息 |
# 三、DEB 包解包实战
# 1. 解出安装数据区
dpkg-deb -x redis_7.4.0-1_amd64.deb ./redis/
1
执行后,可以在 ./redis/
目录中看到解压出来的完整文件层级:
# 2. 解出控制信息区
dpkg-deb -e redis_7.4.0-1_amd64.deb
1
该命令会在 当前
目录中生成 DEBIAN 元数据文件(如 control、postinst、prerm 等),方便审查依赖关系和安装脚本:
# 四、实战总结
通过上述两个命令,我们能快速将 DEB 包的数据区和控制区分离,分别用于文件提取与元数据审查。 这种方式特别适合:
- 离线环境下提前准备组件文件
- 审查第三方包的安全性与完整性
- 做大数据组件的定制化二次打包
注意路径前缀
如果是 Bigtop 生态的组件包,像 /usr/bigtop/3.2.0
这样的前缀是固定规则,打包时应保持一致。
- 01
- [/metrics/aggregated] — 聚合数据范围 检查点09-19
- 02
- [/metrics] — 反向分析接口参数 请求抓包09-17
- 03
- [/metrics] — 普通指标写入方法 POST09-17