ceph集群 Centos7下RPM包制作说明
2014-12-05 20:26
399 查看
#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目录存放生成的源码包。
2、把spec文件拷贝到~/rpmbuild/SPECS
3、在~/rpmbuild/SPECS下执行rpmbuild
–ba *.spec ,如果没有Error则会在目录~/rpmbuild/RPMS下生成所需要的rpm包
注:
1.1)如果出现依赖错误,直接安装需要的包就可以
1.2)关于源码包tar包的名字需要根据spec文件进行命名
Version软件版本
Release软件分支
Summary一句话介绍
Group软件所属组
License软件产权
URL软件主页
Source源码位置
PatchPatch位置
BuildArch编译架构
BuildRoot安装目录,重要
BuildRequires编译依赖包
Requires安装依赖包
%description详细的介绍信息
%define用来定义和修改macro变量,macro变量用%{macro}来引用
%patch便捷的打patch工具
%defattr(,, , )用来定义默认属性
%config(noreplace)用来制定配置,升级是不会被覆盖
%attr(mode,user, group)
单独指定属性
%doc指定文件为帮助文档
%preun和%postun用于卸载前后执行的脚本
%pretrans和%posttrans用于一个事务前后的操作
-bb 构建二进制包
-bp 执行到%prep段
-bc 执行到%build段
-bi 执行到%install段
-bl 通过%file进行列表检查
-bs 构建源码包
--sign 给软件包签名
--rebuild 编译源码包并安装
--showrc 查看配置文件内容
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 查看配置文件内容
参考文献:
http://blog.chinaunix.net/uid-23069658-id-3944462.html相关文章推荐
- 关于centOS7下使用rpm方式安装mysql5.6过程说明
- Centos7下ceph luminous集群搭建
- linux(centos为例) 软件包管理,rpm包的制作
- hadoop-1.1.0 rpm + centos 6.3 64虚拟机 + JDK7 搭建分布式集群
- ceph存储 ceph集群ntp校时详细配置说明
- centos7下的rpmbuild初次使用~~~
- CentOS 5.4 制作 Python 2.6 RPM 包的方法
- CentOS 5.4 制作 Python 2.6 RPM 包的方法
- centos6.5下asterisk 13.3.2安装(分别从自己制作的rpm包和源码进行安装),支持mysql数据库
- ceph存储 centos上搭建Ceph集群--Best
- ceph存储 centos上搭建Ceph分布式文件系统集群示例一
- CentOS7下通过rpm方式安装MySQL及插入中文问题解决 [原创]
- Centos下用tar源码包制作rpm包
- Centos-rpm包制作
- centos 6.4 ceph 分布式集群文件系统部署 手记
- ceph存储 ceph集群ceph-deploy安装说明
- hadoop-1.1.0 rpm + centos 6.3 64虚拟机 + JDK7 搭建分布式集群
- centos下rpm包的制作
- Centos下使用rpmbuild以及checkinstall制作RPM包
- ceph存储 Linux下rpm制作中spec文件编写规范