TT Bigdata TT Bigdata
首页
GitHub (opens new window)
JaneTTR

JaneTTR

数据酿造智慧,每一滴都是沉淀!
  • Ambari 深度专题

  • Bigtop 方法论

    • Bigtop 深度专题
    • 方法论

    • 组件编译技巧

    • 打包技巧-DEB

    • 打包技巧-RPM

      • RPM 包日常操作与解包实战
        • 一、rpm 相关工具依赖说明
          • 工具安装命令举例
        • 二、rpm 包日常操作命令
        • 三、rpm 包解包实战
          • 1. 解包命令:rpm2cpio + cpio
          • 2. 快速查看 rpm 包文件列表
        • 四、实战案例
      • PparentDir参数解读
    • 实战-日志与源码解读

    • 其他技巧

  • 自定义集成

  • Ambari Server 与 Web

  • Ambari Metrics

  • Ambari Plus 思考

  • Redis集成实战

  • 通用代码模板

  • 各组件代码

  • 技术专题
  • Bigtop 方法论
  • 打包技巧-RPM
JaneTTR
2025-06-30
目录
一、rpm 相关工具依赖说明
工具安装命令举例
二、rpm 包日常操作命令
三、rpm 包解包实战
1. 解包命令:rpm2cpio + cpio
2. 快速查看 rpm 包文件列表
四、实战案例

RPM 包日常操作与解包实战

在大数据组件集成和日常运维中,rpm 包是 RedHat/CentOS 体系下最重要的包管理形式。无论是安装、卸载、查询还是解包,还包括部分高级的 rpm 包制作,搞清楚工具依赖和常用命令,是每个工程师的基本功。

# 一、rpm 相关工具依赖说明

不同操作动作,需要依赖的 rpm 相关包不同:

工具命令 所属包名 主要用途 适用场景 默认安装
rpm rpm 安装/卸载/查询/解包 日常包管理 一般有
rpm2cpio rpm 解包 rpm 文件内容 获取包内部所有文件 一般有
cpio cpio 解归档流 与 rpm2cpio 配合解包 常见有
rpmbuild rpm-build 制作/打包 rpm 文件 开发自定义 rpm 产物 需手装

# 工具安装命令举例

# 日常使用环境建议保证 rpm/cpio 都有
yum install rpm cpio -y

# 仅在需要自制 rpm 包时安装 rpmbuild
yum install rpm-build -y
1
2
3
4
5

# 二、rpm 包日常操作命令

日常运维、调试、验证等,最常用的命令如下:

操作内容 命令举例
安装 rpm 包 rpm -ivh xxx.rpm
升级 rpm 包 rpm -Uvh xxx.rpm
卸载 rpm 包 rpm -e 包名
查询包内文件 rpm -qlp xxx.rpm
查询已装包 `rpm -qa grep 关键字`
查看包详情 rpm -qip xxx.rpm
查看脚本钩子内容 rpm -q --scripts -p xxx.rpm

# 三、rpm 包解包实战

在某些场景下,我们并不希望直接安装 rpm 包,而是提前解包审查其内部结构与文件。这类场景包括:

  • 离线集成需要直接取出配置/脚本
  • 检查补丁包实际内容是否合规
  • 仅需拷贝部分文件到定制环境
  • 跨系统、跨环境验证包结构

# 1. 解包命令:rpm2cpio + cpio

rpm2cpio your-package.rpm | cpio -divm
1
命令部分 说明
rpm2cpio 把 rpm 转成 cpio 流
cpio -divm 解包,保持原目录层级
  • 执行后会在当前目录下展开包内全部文件与结构

# 2. 快速查看 rpm 包文件列表

rpm -qlp your-package.rpm
1
  • 仅显示 rpm 包中包含的所有文件路径,适合快速审查

# 四、实战案例

以 redis 组件 rpm 包为例,解包和文件审查:

rpm2cpio redis_3_2_0-7.4.0-1.el8.x86_64.rpm | cpio -divm
1

image-20250702190112530

部分解包目录结构:

./usr/bigtop/3.2.0/usr/lib/redis/deps/jemalloc/include/jemalloc/internal/mutex.h
./usr/bigtop/3.2.0/usr/lib/redis/deps/jemalloc/include/jemalloc/internal/mutex_prof.h
./usr/bigtop/3.2.0/usr/lib/redis/deps/jemalloc/include/jemalloc/internal/nstime.h
./usr/bigtop/3.2.0/usr/lib/redis/deps/jemalloc/include/jemalloc/internal/pa.h
./usr/bigtop/3.2.0/usr/lib/redis/deps/jemalloc/include/jemalloc/internal/pac.h
./usr/bigtop/3.2.0/usr/lib/redis/deps/jemalloc/include/jemalloc/internal/pages.h
./usr/bigtop/3.2.0/usr/lib/redis/deps/jemalloc/include/jemalloc/internal/pai.h
./usr/bigtop/3.2.0/usr/lib/redis/deps/jemalloc/include/jemalloc/internal/peak.h
...
1
2
3
4
5
6
7
8
9

这样即可直接获取全部内容,便于二次集成、溯源与定制。

image-20250702190248304

记住解压缩后的前缀

/usr/bigtop/3.2.0 这个前缀则是Bigtop的包文件统一前缀

#Bigtop#源码解析#Ambari#Redis#Stack集成
DEB 包日常操作与解包实战
PparentDir参数解读

← DEB 包日常操作与解包实战 PparentDir参数解读→

最近更新
01
当前版本 2026/08
08-29
02
把 Ambari Server HA 稳稳地跑起来
08-17
03
从一次启用操作追到主备就绪
08-17
更多文章>
Theme by Vdoing | Copyright © 2017-2026 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式