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

JaneTTR

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

  • Bigtop 方法论

  • 自定义集成

  • Ambari Server 与 Web

  • Ambari Metrics

  • Ambari Plus 思考

  • Redis集成实战

    • Bigtop通用部分

    • Bigtop打包部分

      • RPM

        • Step4-buildroot处理
        • Step5-Redhat下构造spec
        • Step6-Log-编译细节
        • Step7-Log-安装细节
        • Step8-Log-制品细节
          • 修剪后的日志内容
          • 一、制品生成关键日志分解
            • 1.1 检查 buildroot 阶段
            • 1.2 Duplicate build-ids 警告
            • 1.3 依赖关系自动注入
          • 二、产物路径与打包输出
          • 三、清理与收尾动作
          • 四、BUILD SUCCESSFUL 及小结
      • DEB

    • Ambari部分

  • 通用代码模板

  • 各组件代码

  • 技术专题
  • Redis集成实战
  • Bigtop打包部分
  • RPM
JaneTTR
2025-06-24
目录
修剪后的日志内容
一、制品生成关键日志分解
1.1 检查 buildroot 阶段
1.2 Duplicate build-ids 警告
1.3 依赖关系自动注入
二、产物路径与打包输出
三、清理与收尾动作
四、BUILD SUCCESSFUL 及小结

Step8-Log-制品细节

# 修剪后的日志内容

+ /usr/lib/rpm/check-buildroot
Processing files: redis_3_2_0-7.4.0-1.el8.x86_64
warning: Duplicate build-ids /opt/modules/bigtop/build/redis/rpm/BUILDROOT/redis_3_2_0-7.4.0-1.el8.x86_64/usr/bigtop/3.2.0/usr/lib/redis/src/redis-sentinel and /opt/modules/
bigtop/build/redis/rpm/BUILDROOT/redis_3_2_0-7.4.0-1.el8.x86_64/usr/bigtop/3.2.0/usr/lib/redis/src/redis-check-rdb
warning: Duplicate build-ids /opt/modules/bigtop/build/redis/rpm/BUILDROOT/redis_3_2_0-7.4.0-1.el8.x86_64/usr/bigtop/3.2.0/usr/lib/redis/src/redis-sentinel and /opt/modules/
bigtop/build/redis/rpm/BUILDROOT/redis_3_2_0-7.4.0-1.el8.x86_64/usr/bigtop/3.2.0/usr/lib/redis/src/redis-check-aof
warning: Duplicate build-ids /opt/modules/bigtop/build/redis/rpm/BUILDROOT/redis_3_2_0-7.4.0-1.el8.x86_64/usr/bigtop/3.2.0/usr/lib/redis/src/redis-sentinel and /opt/modules/
bigtop/build/redis/rpm/BUILDROOT/redis_3_2_0-7.4.0-1.el8.x86_64/usr/bigtop/3.2.0/usr/lib/redis/src/redis-server
Provides: redis_3_2_0 = 7.4.0-1.el8 redis_3_2_0(x86-64) = 7.4.0-1.el8
Requires(interp): /bin/sh /bin/sh /bin/sh /bin/sh
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires(pre): /bin/sh
Requires(post): /bin/sh
Requires(preun): /bin/sh
Requires(postun): /bin/sh
Requires: /bin/bash /bin/sh /bin/tcsh /usr/bin/env libc.so.6()(64bit) libc.so.6(GLIBC_2.10)(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.17)(64bit) libc.so.6(GLIBC_
2.2.5)(64bit) libc.so.6(GLIBC_2.27)(64bit) libc.so.6(GLIBC_2.28)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.2)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLI
BC_2.6)(64bit) libc.so.6(GLIBC_2.7)(64bit) libc.so.6(GLIBC_2.9)(64bit) libdl.so.2()(64bit) libdl.so.2(GLIBC_2.2.5)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.2.5)(64bit) li
bpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.12)(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libpthread.so.0(GLIBC_2.3.2)(64bit) librt.so.1()(64bit) perl(Cwd) perl(Getopt::
Long) perl(strict) perl(warnings) rtld(GNU_HASH)
Checking for unpackaged file(s): /usr/lib/rpm/check-files /opt/modules/bigtop/build/redis/rpm/BUILDROOT/redis_3_2_0-7.4.0-1.el8.x86_64
Wrote: /opt/modules/bigtop/build/redis/rpm/RPMS/x86_64/redis_3_2_0-7.4.0-1.el8.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.W6Fetv
+ umask 022
+ cd /opt/modules/bigtop/build/redis/rpm//BUILD
+ cd redis-7.4.0
+ rm -rf /opt/modules/bigtop/build/redis/rpm/BUILDROOT/redis_3_2_0-7.4.0-1.el8.x86_64
+ exit 0
Executing(--clean): /bin/sh -e /var/tmp/rpm-tmp.S39aNd
+ umask 022
+ cd /opt/modules/bigtop/build/redis/rpm//BUILD
+ rm -rf redis-7.4.0
+ exit 0

BUILD SUCCESSFUL in 2m 24s
5 actionable tasks: 5 executed
(base) [root@rocky8 bigtop]#

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

本章节将围绕 Redis 组件在 Bigtop 构建过程中,rpm 制品打包、依赖校验与产物输出 的关键日志与核心细节展开分析。无论是初学者还是有经验的二次集成开发者,掌握这些内容都能帮助你在日常构建、包定制和排查问题时得心应手。

# 一、制品生成关键日志分解

+ /usr/lib/rpm/check-buildroot
Processing files: redis_3_2_0-7.4.0-1.el8.x86_64
warning: Duplicate build-ids ...
Provides: redis_3_2_0 = 7.4.0-1.el8 ...
Requires(interp): /bin/sh /bin/sh /bin/sh /bin/sh
...
Wrote: /opt/modules/bigtop/build/redis/rpm/RPMS/x86_64/redis_3_2_0-7.4.0-1.el8.x86_64.rpm
1
2
3
4
5
6
7

# 1.1 检查 buildroot 阶段

  • + /usr/lib/rpm/check-buildroot 自动检测制品中是否存在未打包到 rpm 的文件或遗留 buildroot 路径,确保所有内容都已归档。

# 1.2 Duplicate build-ids 警告

  • warning: Duplicate build-ids ... 说明某些可执行文件因静态链接或源码复用,build-id 出现重复,不影响正常部署,但建议关注源码或 makefile 配置,避免二次开发时混淆。

注意

若非必须,生产包可忽略该类警告,但定制或合规交付场景应主动排查。

# 1.3 依赖关系自动注入

日志中的 Provides 与 Requires 段,自动生成了 rpm 制品的依赖描述:

字段 含义 典型内容
Provides 本包的能力声明 redis_3_2_0 = 7.4.0-1.el8
Requires(interp) 解释器需求 /bin/sh
Requires(rpmlib) 打包工具/特性依赖 rpmlib(CompressedFileNames) <= 3.0.4-1 ...
Requires 运行时动态库、命令依赖 libc.so.6、libpthread.so.0、perl 模块等(涵盖系统运行所需的全部动态库和基础环境)

提示

这部分完全自动生成,避免了手写 spec 文件时的遗漏。也方便了二次集成与包移植时快速补齐依赖。

# 二、产物路径与打包输出

  • Wrote: /opt/modules/bigtop/build/redis/rpm/RPMS/x86_64/redis_3_2_0-7.4.0-1.el8.x86_64.rpm 日志清楚地给出了 rpm 产物的实际落地目录。所有产出包均统一输出到 RPMS/ 子目录下,便于后续分发和测试。
rpm 路径小结
  • 默认输出目录为 build/redis/rpm/RPMS/架构名/
  • 文件名规则为 redis_3_2_0-<版本号>-<release>.el8.<arch>.rpm

# 三、清理与收尾动作

日志最后执行了 clean 阶段:

+ rm -rf /opt/modules/bigtop/build/redis/rpm/BUILDROOT/redis_3_2_0-7.4.0-1.el8.x86_64
+ rm -rf redis-7.4.0
1
2

这一步是自动化打包的善后流程,及时清理中间产物,避免磁盘堆积和下次编译的路径污染。

# 四、BUILD SUCCESSFUL 及小结

BUILD SUCCESSFUL in 2m 24s
5 actionable tasks: 5 executed
1
2
  • 代表整个流程无异常,产物完整,自动化构建链路收尾。
#Redis#Stack集成#集成案例#Bigtop#自动化部署#版本适配
Step7-Log-安装细节
Step4-buildroot处理

← Step7-Log-安装细节 Step4-buildroot处理→

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