标签归档:rpm

Linux 系统管理(EL7)-RPM(rpmbuild)篇

1  概述

1.1  功能介绍

RPM 是Redhat PackageManager,最早由RedHat公司制定实施,随后被GNU开源操作系统接受并成为很多Linux系统(RHEL)的既定软件标准。

1.2  工程依赖

本文工程依赖rpm-build软件。

2  环境搭建

2.1环境要求

2.2 环境搭建

1 安装软件

2 了解结构

3 src.rpm包组成

4 执行编译工作

2.3 配置文件

Spec脚本文件是rpm包组成的重要文件,其配置如下图所示:

查看marcros宏:

2.4 工程调试

工程调试运行时,可以在用户指定的环境目录下执行,如只需要构建src rpm包:

如果需要构建rpm的二进制代码和源码

2.5 其他事项

1、rpm包构建不建议在root环境下构建。
2、注意构建所需要的依赖关系

3、注意rpm编译过程的错误,前期主要是依赖关系,后期过程可能是一些测试错误,注意分析错误问题,让编译进行下去。

2.6 其他

描述项目研制过程中将采用的其他方面的内容。

El7 环境下mock编译apache-commons-net的patch

在编译apache-commons-net时出的问题如下:

经过分析,发现问题出现在test选项上。修改pom.xml文件,设置testFailureIgnore。

El7 mock环境编译coreutils的patch

编译时的报错为:

问题主要表现在:dd 测试dd if=file.in of=file.out bs=1M conv=sparse没有notrunc不截输出文件上

El7 环境下mock编译esc的patch

问题为spec文件中的geckoversion在el7的版本中已经为24.6.0