当前位置: > Linux集群 > Ceph >

ceph集群 Centos7下RPM包制作说明

时间:2015-10-17 01:03来源:linux.it.net.cn 作者:IT

Centos RPM包制作说明

准备打包环境

1、centos系统下使用如下命令安装rpmbuild

#yum install rpmbuild

2、rpmbuild的工作目录如下,

~/rpmbuild

~/rpmbuild/SOURCES

~/rpmbuild/SPECS

~/rpmbuild/BUILD

~/rpmbuild/RPMS

~/rpmbuild/SRPMS

3、如果你的用户目录主目录下没有类似目录结构,你可以通过一个工具软件来自动配置和生成,如下:

#yum install rpmdevtools

下了运行自动配置命令自动生成如上目录,并配置一些必要操作。

#rpmdev-setuptree

rpmdev-setuptree命令默认将再当前用户主目录下创建一个RPM构建根目录结构,

说明:如果需要改变次默认位置,可以修改配置文件:~/.rpmmacros中变量_topdir对应的值即可。

一般rpmbuild会在当前用户的主目录下自动建立如上目录结构,如果在你对应用户的构建目录中没有自动建立如上目录,你可以通过手动方式建立。上面目录的使用是这样分配的,SOURCES放置打包资源,包括源码打包文件和补丁文件等;SPECS目录放置SPEC文档;BUILD打包过程中的工作目录;RPMS目录存放生成的二进制包,RPM包根据硬件平台不同分类,i386表示生成i386结构的包将存放在该目录下;SRPMS目录存放生成的源码包。

制作rpm包:

1、把对应的源码进行tar包制作,然后拷贝到~/rpmbuild/SOURCES目录下。

2、把spec文件拷贝到~/rpmbuild/SPECS

3、在~/rpmbuild/SPECS下执行rpmbuild –ba *.spec ,如果没有Error则会在目录~/rpmbuild/RPMS下生成所需要的rpm包

注:

   1.1)如果出现依赖错误,直接安装需要的包就可以

   1.2)关于源码包tar包的名字需要根据spec文件进行命名

关于spec文件解释如下

  • Name软件名称

  • Version软件版本

  • Release软件分支

  • Summary一句话介绍

  • Group软件所属组

  • License软件产权

  • URL软件主页

  • Source源码位置

  • PatchPatch位置

  • BuildArch编译架构

  • BuildRoot安装目录,重要

  • BuildRequires编译依赖包

  • Requires安装依赖包

  • %description详细的介绍信息

  • %define用来定义和修改macro变量,macro变量用%{macro}来引用

安装前处理%prep

  • %setup便捷的解压macro

  • %patch便捷的打patch工具

编译处理%build

  • %build通常是./configure && make

测试处理%check

  • %check通常是make test

安装阶段%install

  • %install特别注意这个阶段是将编译好的软件安装到\$BUILDROOT下,通常是make DESTDIR=%{buildroot} install

清理阶段%clean

  • %clean主要进程一些安装后的清理工作,比如清理BUILD目录下的临时文件

文件列表%file

  • 此段主要设置安装到系统上的文件和目录的属性,注意所有安装到系统上的文件都要在此段声明,否则制作就不成功。

  • %defattr(,, , )用来定义默认属性

  • %config(noreplace)用来制定配置,升级是不会被覆盖

  • %attr(mode,user, group) 单独指定属性

  • %doc指定文件为帮助文档

改动日志%changelog

  • 有特定格式来指定文件变动信息

脚本段Scriptlets

  • %pre和%post用于安装前后指定的脚本
  • %preun和%postun用于卸载前后执行的脚本
  • %pretrans和%posttrans用于一个事务前后的操作

rpmbuild用法

编译选项

  • -ba 构建二进制和源码包
  • -bb 构建二进制包
  • -bp 执行到%prep段
  • -bc 执行到%build段
  • -bi 执行到%install段
  • -bl 通过%file进行列表检查
  • -bs 构建源码包
  • --sign 给软件包签名
  • --rebuild 编译源码包并安装
  • --showrc 查看配置文件内容

参考文献:

  1. http://blog.chinaunix.net/uid-23069658-id-3944462.html

(责任编辑:IT)
------分隔线----------------------------