TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 支持&共建

    • 蓝图愿景
    • 技术支持
    • 合作共建
登陆
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 支持&共建

    • 蓝图愿景
    • 技术支持
    • 合作共建
登陆
GitHub (opens new window)
  • 方法论

  • 组件编译技巧

  • 打包技巧-RPM

  • 实战-日志&源码解读全链路周期

  • 其他技巧

    • bigtop-select多系统编译改造
    • 如何查看Rpm包执行钩子
      • 一、rpm -q --scripts 方式
      • 二、rpmrebuild 进阶分析(可选)
      • 三、rpm 钩子常见生命周期说明
  • GOD-Bigtop
  • 其他技巧
JaneTTR
2025-07-03
目录

如何查看Rpm包执行钩子

在大数据组件二次集成和日常运维排查时,经常会遇到rpm 包安装或卸载过程中的自动化脚本执行问题。这些自动脚本通常就是 spec 文件中的 %pre、%post、%preun、%postun 等执行钩子。 本篇梳理几种 rpm 包钩子内容的快速查看方式,配合实际命令和输出截图,适合开发、测试和运维一线查阅。

# 一、rpm -q --scripts 方式

最直接的方式就是使用 rpm 自带的 --scripts 查询功能,无需解包 rpm 文件。

命令格式:

rpm -q --scripts -p <your-package>.rpm
1

示例:

rpm -q --scripts -p redis_3_2_0-7.4.0-1.el8.x86_64.rpm
1

执行效果如下图所示,可以清楚看到 rpm 包内所有生命周期脚本内容:

rpm 钩子查看效果

输出结构说明:

  • preinstall scriptlet:即 %pre 钩子内容
  • postinstall scriptlet:即 %post 钩子内容
  • 同理还有 preun、postun 等脚本段,全部一目了然
  • 直接对照实际 spec 文件,方便定位和比对

提示

rpm -q --scripts -p 方式无需安装 rpm 包本身,对比不同包的脚本实现非常高效,适合测试/预演/安全审核场景。

# 二、rpmrebuild 进阶分析(可选)

如果想分析更详细的 spec 原始结构,可以用 rpmrebuild 工具反编译 rpm 包,直接获得完整可编辑的 spec 文件。

命令示例:

rpmrebuild -ep redis_3_2_0-7.4.0-1.el8.x86_64.rpm
1
  • 执行后会自动进入编辑界面(vim/nano),可以查找 %pre、%post、%preun、%postun 等关键段落

下图是 rpmrebuild 弹出的 spec 编辑界面,可以直观阅读或二次修改所有钩子内容:

rpmrebuild 反编译效果

适用场景:

  • 需要提取或定制现有 rpm 包脚本逻辑
  • 升级钩子内容或修复包部署“遗留问题”时特别实用

# 三、rpm 钩子常见生命周期说明

钩子类型 触发时机 常用用途
%pre 安装前 创建用户/组、环境准备
%post 安装后 初始化配置、目录、权限等
%preun 卸载前 停服务、数据备份
%postun 卸载后 清理目录、撤销软链
#Ambari#Redis#Stack集成#大数据运维
bigtop-select多系统编译改造

← bigtop-select多系统编译改造

最近更新
01
bigtop-select 打包缺 compat 报错修复 deb
07-16
02
bigtop-select 打包缺 control 文件报错修复 deb
07-16
03
首次编译-环境初始化 必装
07-16
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式