1.安装rpm-build

使用rpmbuild打包rpm包前,首先安装rpmbuild: yum install rpm-build -y

2.创建打包文件目录

mkdir  -p  /root/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}

SOURCES中存放源码tar.gz包,SPECS存放spec文件,BUILD为解压源码后编译目录,RPMS是打包完成后存放rpm包目录

3.将源码包放入SOURCES目录

4.编辑spec文件

在SPECS目录下,vim wiredtiger.spec文件,自动打开一份spec模板进行编辑

编辑spec文件,示例见下Name: wiredtiger 软件包名

Version:        3.1.0       版本名
Release: 1%{?dist} release版本 最终生成{name}-{Version}-{Release}.rpm包
Summary: my first rpm License: GPL
URL: www.baidu.com
Source0: %{name}-%{version}.tar.bz2 # SOURCES中源码的文件名 BuildRequires: snappy-devel 安装时依赖包名,需要提前安装。可以使用 ./configure --help查看源码支持,选择合适的功能依赖 %description %package devel
Summary: Development files for %{name} %description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}. %prep # 安装前
%setup -q 用静默模式解压源码并cd 到源码下即BUILD目录解压的源码下 %build 编译
%configure --enable-snappy
make %{?_smp_mflags } %install 安装
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files #编译完成后,将需要的文件打入rpm包
%doc
/usr/bin/wt
/usr/share/man/man1/wt.1.gz
/usr/share/man/man3/wiredtiger.3.gz
%{_includedir}/* /usr/include下所有文件
%{_libdir}/*.so /usr/lib 文件下以.so结尾文件
%exclude 此处可写排除文件路径 # 打包时排除的文件
%changelog

5.编包

执行rpmbuild  -bb wiredtiger.spec 进行打包,生成rpm包

检查rpm中包含以下文件

6.将wiredtiger包进行安装验证功能

使用命令检查collection中数据正常

编译wiredtiger rpm包的更多相关文章

  1. 编译制作Linux 3.18内核rpm包(升级centos6.x虚拟机内核)

    介绍 openstack平台需要使用各种Linux发行版模板镜像,其制作方法主要有两种,要么是基于各大Linux发行版ISO光盘手动制作,要么是使用官方提供的模板镜像再做修改 之前制作的opensta ...

  2. [Linux系统] (3)应用安装方式详解(编译安装、rpm包安装、yum安装)

    软件的安装方式: 编译安装 RPM包安装 yum安装 一.编译安装 1.下载一个源码安装包:tengine-2.3.0.tar.gz.这是淘宝二次开发过的nginx.将其解压. .tar.gz 2.查 ...

  3. 编译一个Centos6.4下可用的内核rpm升级包-3.8.13内核rpm包

    在Centos6.4下进行内核升级,采用内核源码的升级方式比较简单,但是需要升级的机器多的情况下进行内核升级就比较麻烦,并且编译内核的速度依赖于机器的性能,一般需要20分钟,而通过rpm内核包的方式进 ...

  4. 制定RPM包和加入YUM源

    ##################################################### ##如有转载,请务必保留本文链接及版权信息 ##欢迎广大运维同仁一起交流linux/unix ...

  5. Centos 升级至 OpenSSH 8 rpm包制作

    背景 安全部门扫描系统漏洞,OpenSSH 7.9出现漏洞,需升级到8. 使用 rpmbuild 将源码包编译为 rpm包. yum install rpm-build zlib-devel open ...

  6. yum 下载全量依赖 rpm 包及离线安装(终极解决方案)

    目录 简介 验证环境 查看依赖包 方案一(推荐):repotrack 方案二:yumdownloader 方案三:yum 的 downloadonly 插件 离线安装 rpm 参考资料 简介 通常生产 ...

  7. linux rpm包的编译

    有些软件包的特性是编译者选定的,如果编译未选定此特性,将无法使用.rpm包的版本落后于源码包. 因此需要定制安装,也就是手动编译安装. 编译需要编译环境. 编译的过程如下: 1.下载源码 2.执行 t ...

  8. linux的软件管理的rpm包和yum配置加tar解压包和安装编译./configuer

    软件管理 rpm包  和yum 1.软件形式 Linux系统的第三方软件,无论是应用软件还是工具软件,大多以以下两种形式之一发行: 源代码形式       预编译形式 获取的源代码形式的软件,需要对其 ...

  9. nginx-1.8.0 rpm包制作

    1.安装rpm-build # yum install rpm-build 2.创建制作RPM包目录 # cat /root/.rpmmacros %_topdir /root/rpmbuild %_ ...

随机推荐

  1. spring jpa Pageable 分页之---多条件排序

    Sort sort = new Sort(Direction.ASC, "sort").and(new Sort(Direction.DESC, groupField));//排序 ...

  2. N阶乘尾部的0个数

    N阶乘尾部的0个数 描述 设计一个算法,计算出n阶乘中尾部零的个数 思路: 1.1 * 2 * 3 * ... * n --> 1 * 2 * 3 * (2 * 2) * 5 * (2 * 3) ...

  3. Parsing with Compositional Vector Grammars--paper

    这篇和2012年的区别: 1)Max-Margin Training Objective J中RNN变为了CVG 2012-两个词向量合并并打分,这个-两个(词向量,POS)合并并打分 2012年: ...

  4. java Scanner中next和nextLine()区别

    next(): 1.一定要读取到有效字符后才可以结束输入. 2.对输入有效字符之前遇到的空白,next() 方法会自动将其去掉. 3.只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符. ne ...

  5. PythonStudy——第一阶段性测试

    1.Python解释器,在2.x和3.x上分别采用的是什么默认编码8 2.定义字符串变量时,单引号,双引号,三引号什么区别? 3.编程语言可以分为哪三类,特点都是什么 4.定义一个变量有三个特性, 5 ...

  6. PythonStudy——字典的操作 Dictionary operation

    dic = {'a': 1, 'b': 2} print(dic) # 增: 字典名[key] = 值 => key已存在就是修改值,不存在就是新增值 dic['c'] = 3 print(di ...

  7. jlet

    项目地址 :  https://github.com/kelin-xycs/jlet jlet jlet 一个 javascript 的 小 Lib 本来想写一个 javascript 的 小 Lib ...

  8. SQL: 某个时间段范围内,产品有价格,且求平均数

    select ID,AVG(fPrice) as avgPrice from Price where Hp_Date >='2017-07-04' and Hp_Date <='2017- ...

  9. oracle中如何修改用户名和密码

    1.以Windows操作系统为例,打开命令提示符,输入命令sqlplus /nolog ,进入oracle控制台,并输入 conn /as sysdba;以DBA角色进入. 2.连接成功后,输入“se ...

  10. 【动态规划】最大连续子序列和,最大子矩阵和,最大m子段和

    1.最大字段和问题 求一个序列最大连续子序列之和. 例如序列[-1,-2,-3,4,5,-6]的最大子段和为4 + 5 = 9. ①枚举法 int MaxSum(int n,int *a){ int ...