文档章节

ceph-deploy源码制作rpm包 <转>

banwh
 banwh
发布于 2017/08/23 12:55
字数 611
阅读 20
收藏 0

ceph-deploy源码制作rpm包

原文:http://www.hl10502.com/2017/06/09/ceph-deploy-rpmbuild/#more

rpm编译打包的步骤:

  • 修改代码中的setup.cfg文件中的版本号
  • 代码setup.cfg同级目录下增加PKG-INFO文件,并修改版本号与setup.cfg中保持一致(PKG-INFO文件可以从项目的.egg-info文件夹获取,或者从centsos的rpm源码参考)
  • 将代码加上版本号重名并打成.tar.gz包
  • 将.tar.gz文件、spec脚本项目下的文件(.spec文件除外)copy到用户的rpmbuild/SOURCES目录
  • 将.spec文件copy到用户的rpmbuild/SPECS
  • 执行 rpmbuild –ba [spec文件] 来打包二进制包和源码包

 

环境准备

  • CentOS Linux release 7.2.1511 (Core)
  • ceph-deploy-1.5.36-0.src.rpm

创建用户

为了安全单独创建一个用户ceph来制作rpm

 

1

 

[root@node ~]# useradd ceph

 

设置用户ceph的密码

 

1

2

3

4

5

6

 

[root@node ~]# passwd ceph

Changing password for user ceph.

New password:

BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic

Retype new password:

passwd: all authentication tokens updated successfully.

 

创建rpmbuild目录

切换帐号

 

1

 

[root@node ~]# su ceph

 

添加一个配置文件,并设置编译的根目录为 ~/rpmbuild

 

1

 

[root@node root]$ vi ~/.rpmmacros

 

添加内容
%_topdir /home/ceph/rpmbuild/
:wq保存退出

在编译根目录下创建我们需要的目录

 

1

2

3

4

5

6

7

8

9

10

 

[root@node root]$ cd ~

[root@node ~]$ mkdir rpmbuild

[root@node ~]$ cd ~/rpmbuild

[root@node rpmbuild]$ mkdir -pv {BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}

mkdir: created directory ‘BUILD’

mkdir: created directory ‘BUILDROOT’

mkdir: created directory ‘RPMS’

mkdir: created directory ‘SOURCES’

mkdir: created directory ‘SPECS’

mkdir: created directory ‘SRPMS’

 

rpmbuild目录下的六个文件目录分别为

BUILD 源代码解压后的存放目录
BUILDROOT 编译临时目录
RPMS    制作完成后的RPM包存放目录,里面有与平台相关的子目录
SOURCES 收集的源材料,补丁的存放位置
SPECS   SPEC文件存放目录
SRMPS   存放SRMPS生成的目录

编译rpm包

将修改后的代码目录ceph-deploy-1.5.36打成.tar.bz2文件

 

1

2

 

[root@node ~]# cd /opt

[root@node ~]# tar jcf ceph-deploy-1.5.36.tar.bz2 ceph-deploy-1.5.36

 

将ceph-deploy-1.5.36.tar.bz2复制到/home/ceph/rpmbuild/SOURCES目录

 

1

 

[root@node ~]# cp /opt/ceph-deploy-1.5.36/ceph-deploy-1.5.36.tar.bz2 /home/ceph/rpmbuild/SOURCES

 

将ceph-deploy.spec复制到/home/ceph/rpmbuild/SPECS目录

 

1

 

[root@node ~]# cp /opt/ceph-deploy-1.5.36/ceph-deploy.spec /home/ceph/rpmbuild/SPECS

 

编译打包

 

1

2

3

 

[root@node ~]# su ceph

[root@node root]$ cd /home/ceph/rpmbuild/SPECS

[root@node SPECS]$ rpmbuild -ba ceph-deploy.spec

 

执行完成之后,
在/home/ceph/rpmbuild/SRPMS/ 生成源码包
在/home/ceph/rpmbuild/RPMS/noarch/ 生成二进制包ceph-deploy-1.5.36-0.noarch.rpm

 

 

© 著作权归作者所有

共有 人打赏支持
banwh
粉丝 2
博文 55
码字总数 79966
作品 0
海淀
程序员
私信 提问
Ceph安装--jewel版本

软件环境 系统:Centos7.2 Ceph版本:jewel 10.2.1 主机 ip 主机名 ceph1 192.168.13.212 bdc212 ceph2 192.168.13.213 bdc213 ceph3 192.168.13.214 bdc214 系统环境配置 1.1 修改主机名 # ......

哓竹
2016/06/16
453
0
使用ceph-deploy安装时出错

@oscfox 你好,想跟你请教个问题:我现在使用deploy部署执行ceph-deploy new agent4时报错,但是生成ceph.conf文件了,执行ceph-deploy install agent4 agent2 agent1时,又报错,错误如下,...

风之子668
2014/12/24
9K
6
基于centos6.7的Ceph分布式文件系统安装指南

转载自 http://blog.csdn.net/yhao2014/article/details/51394815?locationNum=4&fps=1 centos6.8成功部署,感谢原作者,文章简洁明了,非常适合新手学习部署。 本文修改了一些失效的下载链接...

linux_wei
2017/02/20
0
0
Ceph入门----CentOS7部署ceph三节点分布式存储系统

1.Ceph集群环境 使用3台虚拟机,包括其中1个admin节点,三台虚拟机同时承担3个monitor节点和3个osd节点 操作系统采用CentOS Minimal 7 下载地址:http://124.205.69.134/files/4128000005F9F...

三石头
2017/09/20
0
0
CentOS7.1配置Ceph集群环境

一、环境准备工作 (1) 节点要求 ==》节点配置硬件最低要求 角色 设备 最小配置 推荐配置 ----------------------------------------------------------------------------------------------...

dhb_oschina
2016/03/14
244
0

没有更多内容

加载失败,请刷新页面

加载更多

git reset放弃修改&放弃增加文件

1. 本地修改了一堆文件(并没有使用git add到暂存区),想放弃修改。 单个文件/文件夹: $ git checkout -- filename 所有文件/文件夹: $ git checkout . 2. 本地新增了一堆文件(并没有git a...

JamesView
15分钟前
0
0
UnaryOperator函数式接口

这是一个函数式接口,因此可以用作lambda表达式或方法引用的赋值目标。 可以看到UnaryOperator<T>继承了Function<T,T>接口,这里可是两个T,T,还增加了static修饰的identity()方法。 然后我们...

woshixin
15分钟前
1
0
关于java包装类型的缓存

除了Float 和 Double 外,其他包装数据类型都会缓存 -128 ~127 的值,对于 Integer var = ? 在 -127~128 之间的赋值,Integer 对像由IntegerCache.cache 产生,会复用已有对像,这个区间内的...

Canaan_
18分钟前
1
0
mysql复合主键

表: CREATE TABLE `w_test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, PRIMARY KEY (`id`,`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 实践: 1、添加i......

shikamaru
19分钟前
0
0
记一下自己理解的SSL

步骤 操作 客户端钥匙(随机数)数量 服务端钥匙(随机数)数量 1 客户端生成一把钥匙, 发给服务器 1 0 2 服务器确认支持 1 1 3 服务器 生成一把钥匙 发给客户端,并且把公钥(证书)给他 ...

Gavin-King
21分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部