1.安装rpmrebuild 和安装rpmbuild

rpmrebuild下载链接: https://sourceforge.net/projects/rpmrebuild/files/rpmrebuild/

rpmbuild直接用yum安装 :yum install rpm-build

2.配置rpm编译目录

vi ~/.rpmmacros

%_topdir /data/rpmbuild

保存。

3.创建目录解压rpmrebuild文件到/data/rpmbuild中

mkdir -p /data/rpmbuild  && cd /data/rpmbuild

mkdir ./BUILDROOT

mkdir ./SPECS

cd /data/rpmbuild

mkdir tools

cp rpmrebuild-2.14.tar.gz ./tools/

cd tools

tar -zxvf rpmrebuild-2.14.tar.gz

cd ..

4.安装准备重新打包的rpm(例如:rpm-build)

rpm -ivh rpm-build-4.11.3-40.el7.x86_64.rpm

5.反编译提取SPEC文件

#查看rpm安装名称

rpm -qa|grep rpm-build

cd /data/rpmbuild

#rpm-build-4.11.3-40.el7.x86_64 为查看的rpm安装名称

./tools/rpmrebuild.sh -s SPECS/rpm-build.spec rpm-build-4.11.3-40.el7.x86_64

6.替换或修改rpm包中的文件

## 解压原版RPM包

cd /data/rpmbuild

rpm2cpio rpm-build-4.11.3-40.el7.x86_64.rpm |cpio -idv

根据需求替换修改解压后的文件后

#bbb是通过命令 rpmbuild /data/rpmbuild/SPECS/abc.spec获取

mkdir -p /data/rpmbuild/BUILDROOT/bbb/

通过mv命令把rpm解压出来的文件修改后都移动到/data/rpmbuild/BUILDROOT/bbb/目录下

7.修改abc.spec

vi /data/rpmbuild/SPECS/abc.spec

例如: 原内容为

%attr(0644, root, root) "/usr/lib/123.jar"

删除了这个jar 添加了新的456.jar包权限和0644 用户是root 用户组也是root

删除%attr(0644, root, root) "/usr/lib/123.jar"

增加%attr(0644, root, root) "/usr/lib/456.jar"

保存aba.spec

8.编译RPM包,生成的RPM位置在/data/rpmbuild/RPMS/

rpmbuild -ba /data/rpmbuild/SPECS/abc.spec

来源:关键字排名

重新打包rpm包的更多相关文章

  1. centos 打包RPM包 ntopng

    需要在centos7上,将ntopng及其依赖的包一起打包成rpm包,了解centos7打包. 1.执行: yum -y install rpmdevtools  安装rpm工具 2.接下来执行:rp ...

  2. RPM包定制

    概述 问题:当领导给你 100 台已经安装好系统的服务器,然后让优化,让你提出一个快速部署方案.解答: 1.tar 打包 先编译安装 打包-->分发-->解包(比如 mysql 打包后直接 ...

  3. 编译wiredtiger rpm包

    1.安装rpm-build 使用rpmbuild打包rpm包前,首先安装rpmbuild: yum install rpm-build -y 2.创建打包文件目录 mkdir  -p  /root/r ...

  4. FPM简介(定制rpm包)

    FPM简介 fpm是生成rpm包的工具.rpm包的制作,采用fpm工具完成,FPM非常易用,此命令可以把rpm包的安装.卸载做得更加优雅,在安装前可以做一些准备工作,安装后可以做一些收尾工作,在卸载前 ...

  5. 将 shell 脚本打包到 rpm 包中

    下以操作最好在虚拟机上操作:如 Docker 最方便了 1. 安装 rpmbuild yum -y install rpmbuild  rpmdevtools -y 2. 生成打包路径 使用 rpmd ...

  6. 使用FPM打包工具打rpm包

    使用FPM打包工具打rpm包 一:安装ruby环境和gem命令 fpm 是 ruby写的,因此系统环境需要ruby且版本必须大于1.8.5 # yum -y install ruby rubygems ...

  7. rpmbuild 源码打包clickhouse,附带打好的rpm包下载地址

    一.下载 clickhouse 源码包 git clone --recurse-submodules -b v1.1.54385-stable https://github.com/yandex/Cl ...

  8. FPM打包工具 可以把源码包制定为rpm包 是自动化部署的环节

    注意部FPM时的环境一定要跟生产环境的系统版本最好是保持一至,我第一次测试没通过,(我在CENTOS7和部属FPM打好的包在Centos6.x和安装,结果失败) 1:安装 FPM打包工具的依赖包: [ ...

  9. fpm打包神奇rpm包升级python2.7.16

    fpm打包神器参考文档:https://www.cnblogs.com/flintlovesam/p/6594635.html FPM的安装:安装ruby环境和gem命令: yum -y instal ...

随机推荐

  1. Java基础笔试练习(八)

    1. 以下关于构造函数的描述错误的是 ( ) A.每个类有且只能有一个构造函数. B.构造函数是类的一种特殊函数,它的方法名必须与类名相同 C.构造函数的主要作用是完成对类的对象的初始化工作 D.一般 ...

  2. MySQL中主键id不连贯重置处理办法

    MySQL中有时候会出现主键字段不连续,或者顺序乱了,想重置从1开始自增,下面处理方法 先删除原有主键,再新增新主键字段就好了 #删除原有自增主键 ALTER TABLE appraiser_info ...

  3. 为什么Redis单线程却能支撑高并发?

    作者:Draveness 原文链接:draveness.me/redis-io-multiplexing 最近在看 UNIX 网络编程并研究了一下 Redis 的实现,感觉 Redis 的源代码十分适 ...

  4. fwrite & fread 的使用

    每一次切换文件操作模式必须调用fclose关闭文件. 如果直接切换操作模式,文件将损坏(出现乱码)或操作失败. 在调用了fclose时,作为参数的文件指针将被回收,必须再次定义,因此最好将功能封装. ...

  5. kali_Airmon-ng第一次渗透测试

    再看了一些资料之后,决定自己整理一下进行第一次测试,测试目标,自己宿舍的WIFI.教程仅供学习参考 断开kali连接的wifi,并检查网卡状态 airmon-ng 开启无线网卡的监控模式 airmon ...

  6. go 缓冲IO

    package main import ( "bufio" "fmt" "os" "strings" ) func ma ...

  7. Hadoop 系列(五)—— Hadoop 集群环境搭建

    一.集群规划 这里搭建一个 3 节点的 Hadoop 集群,其中三台主机均部署 DataNode 和 NodeManager 服务,但只有 hadoop001 上部署 NameNode 和 Resou ...

  8. SpringBoot--对SpirngMVC的自动配置

    SpringBoot对SpringMVC提供了许多自动配置 Inclusion of ContentNegotiatingViewResolver and BeanNameViewResolver b ...

  9. redis持久化机制和内存管理

    redis持久化方式有两种:RDB方式和AOF方式 1.RDB方式:内存快照,在指定的时间间隔对数据进行快照存储,支持在客户端直接BGSAVE或者SAVE命令来创建一个内存快照,BGSAVE会fork ...

  10. activiti串行会签的使用

    1.串行任务的配置 2.当任务走到串行会签节点时,会从你之前保存的流程变量中找集合(我这里设置的assigneeList),串行会签会根据这个集合设置一系列该节点的流程变量 3.结束条件的设置,若满足 ...